tokenDefine.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #pragma once
  2. #include "IHttpFunc.h"
  3. #include <string>
  4. #include "json/json.h"
  5. #include "SpSecureClient.h"
  6. #define TOKEN_GETURL_ERR 0x10A00001
  7. #define GET_CHANNELID_ERR 0x10A00002
  8. #define GET_TOKEN_ERR 0x10A00003
  9. struct QueryChannelIDHTTPReq : CHTTPReq {
  10. QueryChannelIDHTTPReq()
  11. {
  12. m_timeOut = 500;
  13. m_withToken = false;
  14. }
  15. std::string systemId;
  16. virtual string ToJson() {
  17. char reqcontent[512];
  18. sprintf(reqcontent, "{\"channelId\":\"\",\"systemId\":\"%s\",\"state\":\"\"}", systemId.c_str());
  19. return reqcontent;
  20. }
  21. };
  22. struct QueryChannelIDHTTPRet : CHTTPRet {
  23. QueryChannelIDHTTPRet() {}
  24. std::string m_channelId;
  25. std::string m_tokenSecret;
  26. virtual bool Parse(std::string strData) {
  27. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("QueryChannelIDHTTPRet: data = %s", strData.c_str());
  28. Json::Value root;
  29. Json::Reader reader;
  30. reader.parse(strData, root);
  31. if (root.isNull() || root["data"].isNull())
  32. return false;
  33. for (int i = 0; i < root["data"].size(); i++)
  34. {
  35. auto curObject = root["data"][i];
  36. if (!curObject["channelId"].isNull() && curObject["channelId"].isString())
  37. {
  38. m_channelId = curObject["channelId"].asString();
  39. return true;
  40. }
  41. else
  42. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("parse channelId failed");
  43. if (!curObject["clientSecret"].isNull() && curObject["clientSecret"].isString())
  44. {
  45. m_tokenSecret = curObject["clientSecret"].asString();
  46. return true;
  47. }
  48. else
  49. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("parse clientSecret failed");
  50. }
  51. return false;
  52. }
  53. };
  54. struct QueryTokenHTTPReq : CHTTPReq {
  55. QueryTokenHTTPReq()
  56. {
  57. m_timeOut = 500;
  58. m_withToken = false;
  59. }
  60. std::string channelId;
  61. std::string tokenSecret;
  62. std::string businessId;
  63. virtual string ToJson() {
  64. char reqcontent[512];
  65. sprintf(reqcontent, "{\"channelId\":\"%s\",\"businessId\":\"%s\",\"clientSecret\":\"%s\"}", channelId.c_str(), businessId.c_str(), tokenSecret.c_str());
  66. return reqcontent;
  67. }
  68. };
  69. struct QueryTokenHTTPRet : CHTTPRet {
  70. QueryTokenHTTPRet() {}
  71. std::string m_token;
  72. virtual bool Parse(std::string strData) {
  73. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("QueryTokenHTTPRet: data = %s", strData.c_str());
  74. Json::Value root;
  75. Json::Reader reader;
  76. reader.parse(strData, root);
  77. if (root.isNull() || root["data"].isNull())
  78. return false;
  79. m_token = root["data"].asString();
  80. return true;
  81. }
  82. };