简介

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 paramsHandle = {};
var method = runapi.getMethod();
if(method == 'get') {
    var params = runapi.getAllQuery();
    if(params){
        params.forEach(function(item) {
            paramsHandle[item.name] = item.value;
        });
    }
}else{
    var params = runapi.getParamJson();
    if(params){
        for (const key in params) {
            paramsHandle[key] = params[key];
        }
    }
}
let sortedParams = {};
Object.keys(paramsHandle).sort().forEach(key => {
    sortedParams[key] = paramsHandle[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);
Last Updated:
Contributors: hqdxhyf