接入说明
536字约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 加密测试
let md5 = require('js-md5');
console.log(md5('test'));
// 输出值为: 098f6bcd4621d373cade4e832627b4f6
JavaScript 客户端请求示例:
let md5 = require('js-md5');
let params = {appid: 'APPID', appkey: 'APPKEY'};
let postdata = {name: 1, test: 2, desc: '你的参数'};
// 接口请求数据组装
let nostr = Math.random();
let json = JSON.stringify(postdata);
let time = Math.ceil(Date.now() / 1000);
let sign = md5.hex([params.appid, json, time, params.appkey, nostr].join('#'));
let data = {appid: params.appid, time: time, nostr: nostr, data: json, sign: sign};
$.form.load('{:url("api/")}', data, 'post', function (ret) {
// @TODO 处理返回的结果
console.log(ret);
return false;
});
后端客户端请求请根据你所使用的语言按上述规则发送请求。