description.html 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7. <title>说明文档</title>
  8. <style>
  9. html,
  10. body {
  11. margin: 0;
  12. padding: 0;
  13. }
  14. .root {
  15. width: 720px;
  16. }
  17. table {
  18. width: 100%;
  19. border-collapse: collapse;
  20. font-size: 14px;
  21. }
  22. table td {
  23. padding: 10px;
  24. border: 1px solid #eeeeee;
  25. text-align: left;
  26. }
  27. h4 {
  28. padding-left: 15px;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div class="root">
  34. <div>
  35. <h2>数据智能平台</h2>
  36. </div>
  37. <div>
  38. <h3>1.接口域名</h3>
  39. <table>
  40. <thead>
  41. <tr>
  42. <td>环境</td>
  43. <td>地址</td>
  44. </tr>
  45. </thead>
  46. <tbody>
  47. <tr>
  48. <td>线上环境</td>
  49. <td>
  50. https://api.sygd.com
  51. </td>
  52. </tr>
  53. </tbody>
  54. </table>
  55. </div>
  56. <div>
  57. <h3>2.公共参数</h3>
  58. <p>文档是所有API使用公共的http头</p>
  59. <table>
  60. <thead>
  61. <tr>
  62. <td>名称</td>
  63. <td>类型</td>
  64. <td>必须</td>
  65. <td>说明</td>
  66. <td>示例</td>
  67. </tr>
  68. </thead>
  69. <tbody>
  70. <tr>
  71. <td>app_key</td>
  72. <td>
  73. String
  74. </td>
  75. <td>Y</td>
  76. <td>用户权限校验key(商务提供)</td>
  77. <td></td>
  78. </tr>
  79. <tr>
  80. <td>app_key</td>
  81. <td>
  82. String
  83. </td>
  84. <td>Y</td>
  85. <td>用户权限校验key(商务提供)</td>
  86. <td></td>
  87. </tr>
  88. <tr>
  89. <td>app_key</td>
  90. <td>
  91. String
  92. </td>
  93. <td>Y</td>
  94. <td>用户权限校验key(商务提供)</td>
  95. <td></td>
  96. </tr>
  97. </tbody>
  98. </table>
  99. </div>
  100. <div>
  101. <h3>3.参数处理方式</h3>
  102. <div>
  103. <h4>1. 请求参数处理方式</h4>
  104. <pre>
  105. 根据套餐确定是否需要加密
  106. 如果需要加密,采用aes ecb 加密,对加密后的字节流进行十六进制编码得到十六进制字符串,加密代码见本公司提供的代码示例
  107. 所有参数均使用json结构处理后的json字符串,统一参数名为data
  108. 假设app_secret 为”1234567812345678”
  109. get,delete 方法:
  110. 请求参数放入url
  111. 假设有name参数
  112. 未加密时需对data进行url 编码( 用于传输url中,签名中使用的data值还是原值 )
  113. url 编码前:
  114. http://127.0.0.1/xxx?data={\”name\”:\”张三\”}
  115. url编码后:
  116. http://127.0.0.1/xxx?data=%7B%22name%22%3A%22%E5%BC%A0%E4%B8%89%22%7D
  117. 加密示例:假设对json字符串加密后值为c68d3e8dbc39d1dd9173a5115e9f844a665153ca93234531bfcc468f0dfb8343”,则url为
  118. http://127.0.0.1/xxx?data=c68d3e8dbc39d1dd9173a5115e9f844a665153ca93234531bfcc468f0dfb8343
  119. </pre
  120. >
  121. </div>
  122. <div>
  123. <h4>2. 响应参数处理方式</h4>
  124. <pre>
  125. 统一格式为
  126. {
  127. "code":int,
  128. "msg":string,
  129. "data":string
  130. }
  131. 其中code为错误码,msg为错误消息,若加密,则data为对结果的json字符串加密后的字符串,若未加密,则data为结果的json字符串
  132. </pre>
  133. </div>
  134. <div>
  135. <h3>4. 签名方式</h3>
  136. <pre>
  137. text = ts+参数字符串 + app_key + app_secret
  138. sign = md5(text)
  139. 若加密则参数字符串使用加密后的
  140. 示例:
  141. ts = “123”
  142. app_key = “456”
  143. app_secret = “789”
  144. 参数字符串 = “{"name":"张三"}”
  145. text = “123{"name":"张三"}456789”
  146. sign = md5(text)= “e10adc3949ba59abbe56e057f20f883e”
  147. </pre>
  148. </div>
  149. </div>
  150. </div>
  151. </body>
  152. </html>