🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 接口调用请求说明 #### 请求Url: http://zk.mschong.com/addons/execute/api-api-addUserScore.html #### 请求类型: POST ### 请求参数 | 字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 | | --- | --- | --- | --- | --- | --- | | 商户账号appid | appid | 是 | czxj5869 | String(128) | 申请商户号的appid | | 随机字符串 | nonce\_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 随机字符串,不长于32位 | | 签名 | sign | 是 | C380BEC2BFD727A4B6845133519F3AD6 | String(32) | 签名,详见[签名算法] | | 用户绑定的手机号码 | phone | 是 | 15759116288 | String(11) | 户绑定的手机号码 | | 请求时间戳 | time | 是 | 1574409580 | int(12) | 时间戳(格林威治时间) | | 充值的积分额度 | score | 是 | 88 | int(10) | 充值的积分额度 | **签名算法** 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即`key1=value1&key2=value2…`)拼接成字符串`stringA`。 第二步,在`stringA`最后拼接上`key`得到`stringSignTemp`字符串,并对`stringSignTemp`进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值`signValue`。 **举例:** 假设传送的参数如下: ``` appid: czxj5869 nonce_str: oebnwVHQwo phone:18065921051 time:157441127 score:88 ``` 第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下: ``` stringA="appid=czxj5869&nonce_str=oebnwVHQwo&phone=18065921051&score=10&time=157441127"; ``` 第二步:拼接API密钥: ``` stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d"//注:key为商户平台设置的密钥key sign=MD5(stringSignTemp).toUpperCase()="14CADF2DAB1871B2D23AD901453C12CC"//注:MD5签名方式 sign=hash_hmac("sha256",stringSignTemp,key).toUpperCase()="6A9AE1657590FD6257D693A078E1C3E4BB6BA4DC30B23E0EE2496E54170DACD6"//注:HMAC-SHA256签名方式 ``` ### 返回参数 | 字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 | | --- | --- | --- | --- | --- | --- | | 返回状态码 | code | 是 | 1 | int(10) | 状态码,只有状态码为1的时候成功,其它均为失败,请根据提示进行修改 | | 返回信息 | msg | 是 | 签名失败 | String(128) | 返回信息,如非空,为错误原因 | | 返回数据 | data | 是 | 数据 | String(1000) | 成功时返回操作相关的数据 |