123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- // @APIVersion 1.0.0
- // @Title 弘则开放API接口
- // @Description 这是弘则开放API接口文档 <br/><br/><b>1、参数格式与调用方式:</b><br/>(1)接口传输的所有参数使用 UTF8 编码格式,包括签名。接口调用方式请以接口定义的方式进行调用。<br/>(2)接口地址(测试):http://8.136.199.33:8608/api/<br/>(3)如果是POST请求,那么header头请以Content-Type: application/json的方式请求<br/><br/><b>2、公共参数:</b><br/><table style="text-align:center"><tr><td style="border:1px solid">参数名</td><td style="border:1px solid">类型</td><td style="border:1px solid">是否必传</td><td style="border:1px solid">说明</td><tr><td style="border:1px solid">appid</td><td style="border:1px solid">string</td><td style="border:1px solid">是</td><td style="border:1px solid">开放平台给分配的appid</td></tr></tr><tr><td style="border:1px solid">nonce_str</td><td style="border:1px solid">string</td><td style="border:1px solid">是</td><td style="border:1px solid">随机字符串,最大32位长度,26位大小写字母a,b…z和数字组成</td></tr><tr><td style="border:1px solid">timestamp</td><td style="border:1px solid">int</td><td style="border:1px solid">是</td><td style="border:1px solid">系统时间戳 UNIX_TIMESTAMP格式;1970年到目前的秒数</td></tr><tr><td style="border:1px solid">sign</td><td style="border:1px solid">string</td><td style="border:1px solid">是</td><td style="border:1px solid">签名信息(签名规则查看第4节)</td></tr><tr><td style="border:1px solid">_page</td><td style="border:1px solid">int</td><td style="border:1px solid">否</td><td style="border:1px solid">请求页码</td></tr><tr><td style="border:1px solid">_page_size</td><td style="border:1px solid">int</td><td style="border:1px solid">否</td><td style="border:1px solid">每页请求返回数据数,最大不能超过100</td></tr></table> <br/><br/><b>3、公共返回参数:</b><br/><table style="text-align:center"><tr><td style="border:1px solid">参数名</td><td style="border:1px solid">类型</td><td style="border:1px solid">是否必传</td><td style="border:1px solid">说明</td></tr><tr><td style="border:1px solid">code</td><td style="border:1px solid">int</td><td style="border:1px solid">是</td><td style="border:1px solid">接口返回状态码</td></tr><tr><td style="border:1px solid">msg</td><td style="border:1px solid">string</td><td style="border:1px solid">是</td><td style="border:1px solid">提示信息(错误信息)</td></tr><tr><td style="border:1px solid">data</td><td style="border:1px solid">map</td><td style="border:1px solid">是</td><td style="border:1px solid">对应的业务数据</td></tr></table> <br/><br/><b>4、签名规则:</b><br/>(1)所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。<br/>(2)在stringA最后拼接上&secret=secretValue得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。<br/><br/><b>5、code状态码取值:</b><br/><table style="text-align:center"><tr><td style="border:1px solid">200</td><td style="border:1px solid">正常响应码</td></tr> <tr><td style="border:1px solid">400</td><td style="border:1px solid">业务处理失败响应码</td></tr> <tr><td style="border:1px solid">401</td><td style="border:1px solid">参数签名异常,检查下签名是否正常</td></tr></table>
- // @Contact pyan@hzinsights.com
- // @License Apache 2.0
- // @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html
- package routers
- import (
- "github.com/beego/beego/v2/server/web/filter/cors"
- "hongze/hongze_open_api/controllers"
- "github.com/beego/beego/v2/server/web"
- )
- func init() {
- //解决跨域问题
- web.InsertFilter("*", web.BeforeRouter, cors.Allow(&cors.Options{
- AllowAllOrigins: true,
- AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
- AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
- ExposeHeaders: []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
- AllowCredentials: true,
- }))
- ns := web.NewNamespace("/api",
- web.NSNamespace("/company_user",
- web.NSInclude(
- &controllers.CompanyUser{},
- ),
- ),
- web.NSNamespace("/report",
- web.NSInclude(
- &controllers.ReportController{},
- ),
- web.NSInclude(
- &controllers.ReportControllerCommon{},
- ),
- ),
- web.NSNamespace("/en/report",
- web.NSInclude(
- &controllers.EnglishReportController{},
- ),
- ),
- web.NSNamespace("/sys_user",
- web.NSInclude(
- &controllers.Admin{},
- ),
- ),
- web.NSNamespace("/quanshi",
- web.NSInclude(
- &controllers.QuanShiControllerCommon{},
- ),
- ),
- web.NSNamespace("/yidong",
- web.NSInclude(
- &controllers.YiDongController{},
- ),
- ),
- web.NSNamespace("/wework",
- web.NSInclude(
- &controllers.WeworkController{},
- ),
- ),
- web.NSNamespace("/day_new",
- web.NSInclude(
- &controllers.DayNewController{},
- ),
- ),
- web.NSNamespace("/chart",
- web.NSInclude(
- &controllers.ChartController{},
- ),
- ),
- web.NSNamespace("/edb",
- web.NSInclude(
- &controllers.EdbController{},
- ),
- ),
- )
- web.AddNamespace(ns)
- }
|