// @APIVersion 1.0.0 // @Title 弘则开放API接口 // @Description 这是弘则开放API接口文档

1、参数格式与调用方式:
(1)接口传输的所有参数使用 UTF8 编码格式,包括签名。接口调用方式请以接口定义的方式进行调用。
(2)接口地址(测试):http://8.136.199.33:8608/api/
(3)如果是POST请求,那么header头请以Content-Type: application/json的方式请求

2、公共参数:
参数名类型是否必传说明
appidstring开放平台给分配的appid
nonce_strstring随机字符串,最大32位长度,26位大小写字母a,b…z和数字组成
timestampint系统时间戳 UNIX_TIMESTAMP格式;1970年到目前的秒数
signstring签名信息(签名规则查看第4节)
_pageint请求页码
_page_sizeint每页请求返回数据数,最大不能超过100


3、公共返回参数:
参数名类型是否必传说明
codeint接口返回状态码
msgstring提示信息(错误信息)
datamap对应的业务数据


4、签名规则:
(1)所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
(2)在stringA最后拼接上&secret=secretValue得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

5、code状态码取值:
200正常响应码
400业务处理失败响应码
401参数签名异常,检查下签名是否正常
// @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) }