POSTMAN自动生成签名

pm.environment.set("timestamps", Math.floor(new Date().getTime() / 1000));
var token = "lBZXpB5uRw5M";
var timestamps = pm.environment.get("timestamps");

var data = request.data; //获取请求参数,转为json
console.log("data:", data)
var newdata = [];
newdata.push({
            name: 'timestamp',
            value: timestamps
        })
for (var a in data) {
    if (a !== 'sign' && a !== 'timestamp') { //过滤掉sign参数,生成键值对象{name,value}
        newdata.push({
            name: a,
            value: data[a]
        })
    }
}
//排序
newdata.sort(function (a, b) {
    return a.name === b.name ? 0 : a.name > b.name ? 1 : -1
});
//拼接字符串
for (var ar = [], i = 0; newdata.length > i; i++) {
    var key = newdata[i].name;
    var val = newdata[i].value;
    if(key == 'name'){
        val = encodeURIComponent(newdata[i].value);
    }
    
    key && val && ar.push(key + "=" + val)
}

str = ar.join("&"); //拼接字符串
str = str+token
// str = encodeURIComponent(str);
console.log(str);

str = CryptoJS.MD5(str).toString().toLowerCase(); //md5加密后转大写
pm.environment.set("sign", str);  //把sign设置为环境变量
console.log(str);