...
代码块 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/** * 通过request.data获取body的内容,这个是postman内置变量 * 常用内置参数如下: * request 获取请求的参数,包括头和请求体 * responseHeaders 返回值的header * responseBody 返回值的body * responseCode 返回值的http code */ var params = pm.request.url.query.members; var map = new Map(); map.set("secret","89908acc57d64110b0b805977244d5c6") var timestamp = Date.parse(new Date()); map.set("timestamp",timestamp) for (var i=0; i<params.length; i++) { // console.log(params[i]) if(params[i].key=="signature"){ continue } if(params[i].key=="timestamp"){ // let time2 = new Date().getTime(); console.log("------------------") // map.set(params[i].key,time2) continue } map.set(params[i].key,params[i].value) } console.log(map) var arrayObj=Array.from(map); arrayObj.sort(function(a,b){return a[0].localeCompare(b[0])}) //字段重新组装拼接 var tmp=''; for(var i=0;i<arrayObj.length;i++){ tmp += arrayObj[i][0]+"="+arrayObj[i][1]+"&"; } tmp = tmp.substring(0,tmp.lastIndexOf("&")) console.log("tmp ---->" + tmp); //生成签名串:这里使用SHA1算法并使用十六进制编码 //CryptoJS-为JavaScript提供了各种各样的加密算法 //作者:CryptoJS<>(https://code.google.com/p/crypto-js/) // var signHmacSHA1=CryptoJS.SHA1(tmp).toString(CryptoJS.enc.Hex).toUpperCase(); var signHmacSHA1=CryptoJS.SHA1(tmp).toString(CryptoJS.enc.Hex); console.log("sign ---->" + signHmacSHA1); //放入环境变量 //pm.environment.set("sha1msg",signHmacSHA1) postman.setGlobalVariable("signature", signHmacSHA1); postman.setGlobalVariable("timestamp", timestamp); |
第三步:修改脚本,如下secret,填写正确的开放平台密钥