----------------------------------------------下面是 post formdata请求---------------------------------------------
let queryParams = pm.request.body.formdata
let param={};
let apiKey="你的签名KEY";
queryParams.each((item) => {
if (!item.disabled && item.value !== '') {
// 启用且非空参数值的参数才参与签名
param[item.key] = item.value
}
})
var queryString = Object.keys(param)
.sort() // 使用 sort 方法进行 ASCII 码排序
.map(key => {
if(key==='sign'){return;}
if(key==='signStr'){ return; }
if (!param[key]) {return;}
return key +'='+ param[key];
}).filter(item=>item).join('&');
queryString+="&key="+apiKey;
console.log("签名字符串="+queryString)
let sign =CryptoJS.MD5(queryString).toString().toUpperCase()
pm.request.body.formdata.remove("sign")
pm.request.body.formdata.add({key:"sign",value:sign})
console.log(pm.request.body.formdata.get("sign"))
console.log(sign)
---------------------------------------------------------------下面是 get请求---------------------------------------------
let queryParams = pm.request.url.query
let param={};
let apiKey="你的签名秘钥";
queryParams.each((item) => {
if (!item.disabled && item.value !== '') {
// 启用且非空参数值的参数才参与签名
param[item.key] = item.value
}
})
var queryString = Object.keys(param)
.sort() // 使用 sort 方法进行 ASCII 码排序
.map(key => {
if(key==='sign'){return;}
if(key==='signStr'){ return; }
if (!param[key]) {return;}
return key +'='+ param[key];
}).filter(item=>item).join('&');
queryString+="&key="+apiKey;
console.log("签名字符串="+queryString)
let sign =CryptoJS.MD5(queryString).toString().toUpperCase()
queryParams.upsert({
key: 'sign',
value: sign
})
console.log(sign)
注意前置脚本顺序,变量替换必须在上,否则加密时候获取值不是请求时候的值