简介
runapi 是一个基于 Node.js 的 API 测试工具,可以用来测试 API 的正确性。
执行脚本案例
var appId = runapi.getVar("app_id");
runapi.setHeader("X-App-Id",appId);
var appSecret = runapi.getVar("app_secret");
// 获取当前以毫秒为单位的时间戳
var timestamp = Math.floor(Date.now() / 1000);
runapi.setHeader("X-Timestamp",timestamp);
// 对参数进行排序
var params = runapi.getAllQuery();
var params_handle = {};
if(params){
params.forEach(function(item) {
params_handle[item.name] = item.value;
});
}
let sortedParams = {};
Object.keys(params_handle).sort().forEach(key => {
sortedParams[key] = params_handle[key];
});
// 构建签名字符串
let stringToSign = appId + timestamp;
for (let key in sortedParams) {
let value = sortedParams[key];
if (typeof value === 'string' || typeof value === 'number') {
stringToSign += key + value;
}
}
// 生成签名
const signature = runapi.CryptoJS.HmacSHA256(stringToSign, appSecret).toString();
runapi.setHeader("X-Signature",signature);