接入说明
532字约2分钟
2024-10-17
接入概述
接入双擎码溯源 平台开发,开发者需要按照如下步骤完成:
获取APPID和APPKEY
登录 DETP 控制台。
在左侧导航栏上单击 账号管理>开发者管理,然后在 密钥管理 页面 填写 IP白名单,确认无误后保存。
签名接口
接口请求字段包含appid,time,nostr,data,sign,具体要求如下:
appid 接口请求认证账号,需要保持两端一致; nostr 接口请求随机字符串,可以使用随机函数生成; time 接口请求时间(时差不能超过30秒),这里用的是时间戳,单位为秒; data 接口请求数据(数据需转为JSON格式),需以原格式传输,不然会影响签名; sign 接口数据签名,依次appid,data,time,appkey,nostr 五个字段以#连接,并进行MD5编码获取签名;
特别注意
参与签名的appkey为接口私钥,仅用于签名且不参与接口数据请求,接口的文件传输请使用base64传输(要去掉数据头部);
关于列表分页
当使用列表分页时,需要以get方式传page参数,page不需要参与签名,传在data的JSON中会无效,因为数据格式与Page参数不符;
前端客户端请求示例
签名用到了MD5插件,需要自行加载组件并做好md5算法测试:
// 对字符串 test 进行 md5 加密测试
const md5 = require('js-md5')
console.log(md5('test'))
// 输出值为: 098f6bcd4621d373cade4e832627b4f6
JavaScript 客户端请求示例:
const md5 = require('js-md5')
const params = { appid: 'APPID', appkey: 'APPKEY' }
const postdata = { name: 1, test: 2, desc: '你的参数' }
// 接口请求数据组装
const nostr = Math.random()
const json = JSON.stringify(postdata)
const time = Math.ceil(Date.now() / 1000)
const sign = md5.hex([params.appid, json, time, params.appkey, nostr].join('#'))
const data = { appid: params.appid, time, nostr, data: json, sign }
$.form.load('{:url("api/")}', data, 'post', (ret) => {
// @TODO 处理返回的结果
console.log(ret)
return false
})
后端客户端请求请根据你所使用的语言按上述规则发送请求。