1. 程式人生 > 實用技巧 >postman中設定全域性動態sign簽名指令碼

postman中設定全域性動態sign簽名指令碼

進入某個collection的全域性edit設定:

在"Pre-request Scripts"選項卡設定全域性指令碼:

全域性指令碼貼上程式碼:

console.log("全部請求引數:" + request.data);
var keys = Object.keys(request.data).sort() //請求引數名按照ASCII碼升序排序

//拼接待簽名字串
var str = []
for (var p = 0; p < keys.length; p++) { 
    if(keys[p] == "sign" || request.data[keys[p]] === ""){ // "==" ==寬鬆相等,隱性型別轉換,值相等,返回true; "===" 嚴格相等,值和型別都相等,返回true
        continue;
    }
    str.push(keys[p] + "=" + request.data[keys[p]]);
}
var secretCode = 'secret_code';
var signStr = str.join("&") + secretCode;
console.log("待加密字串 signStr == " + signStr);

//MD5加密簽名規格,並賦值給環境變數`sign`
pm.environment.unset("sign");
var sign = CryptoJS.MD5(signStr).toString().toUpperCase();
console.log("計算出的簽名 sign == " + sign);
pm.environment.set("sign", sign);

在這裡計算好的sign變數,在request裡動態獲取值: {{sign}}

end.