查看详细图文教程↓json
1、全局变量方式api
1. 在全局变量添加key:value分别是autoSign和var sign={toUnicode:function(s){return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){return"\\u"+newStr.charCodeAt(0).toString(16)})},run:function(token){if(typeof token=="undefined"){token="6fe383bcacc";if(globals.defaultToken){token=globals.defaultToken}}var self=this;var tmpArr={};var reqData=request.data;if(_.isString(reqData)){var reqType=request.headers['Content-Type'];if(_.endsWith(reqType,'json')){reqData=JSON.parse(reqData)}else if(_.endsWith(reqType,'xml')){reqData=xml2Json(reqData).xml}}if(_.isArray(reqData)){reqData=_.sortByOrder(reqData,["key"],['asc']);_(reqData).forEach(function(item){if(!item.disabled){if(_.isString(item.value)){item.value=self.toUnicode(item.value)}tmpArr[item.key]=item.value}}).value()}else if(_.isObject(reqData)){var keys=_.sortBy(_.keys(reqData));_(keys).forEach(function(key){if(_.isString(reqData[key])){reqData[key]=self.toUnicode(reqData[key])}tmpArr[key]=reqData[key]}).value()}if(tmpArr.iRequestTime&&globals.timestamp){tmpArr.iRequestTime=globals.timestamp}delete tmpArr.sSign;var json=JSON.stringify(tmpArr).replace(/\\\\u/g,'\\u');var sign=CryptoJS.MD5(token+"_xxxxxxxxxx_"+json,{asString:true}).toString();sign=CryptoJS.MD5(sign+"_xxxxxxxxxx_"+token,{asString:true}).toString();postman.setGlobalVariable("sign",sign)}}app
2. 在Pre-request Script添加 eval(globals.autoSign);sign.run("6fe383bcacc");post
2、直接执行方式this
直接在Pre-request Script添加url
var sign = { toUnicode: function(s) { return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g, function(newStr) { return "\\u" + newStr.charCodeAt(0).toString(16); }); }, run: function(token) { if (typeof token == "undefined") { token = "6fe383bcacc"; if (globals.defaultToken) { token = globals.defaultToken } } var self = this; var tmpArr = {}; var reqData = request.data; if (_.isString(reqData)) { var reqType = request.headers['Content-Type']; if (_.endsWith(reqType, 'json')) { reqData = JSON.parse(reqData) } else if (_.endsWith(reqType, 'xml')) { reqData = xml2Json(reqData).xml } } if (_.isArray(reqData)) { reqData = _.sortByOrder(reqData, ["key"], ['asc']); _(reqData).forEach(function(item) { if (!item.disabled) { if (_.isString(item.value)) { item.value = self.toUnicode(item.value); } tmpArr[item.key] = item.value } }).value() } else if (_.isObject(reqData)) { var keys = _.sortBy(_.keys(reqData)); _(keys).forEach(function(key) { if (_.isString(reqData[key])) { reqData[key] = self.toUnicode(reqData[key]); } tmpArr[key] = reqData[key] }).value() } if (tmpArr.iRequestTime && globals.timestamp) { tmpArr.iRequestTime = globals.timestamp } delete tmpArr.sSign; var json = JSON.stringify(tmpArr).replace(/\\\\u/g, '\\u'); var sign = CryptoJS.MD5(token + "_xxxxxxxxxx_" + json, { asString: true }).toString(); sign = CryptoJS.MD5(sign + "_xxxxxxxxxx_" + token, { asString: true }).toString(); postman.setGlobalVariable("sign", sign) } } sign.run("6fe383bcacc");
注意:your token能够改为你本身的token哦spa
3、引用方式code
在body中sign所在的value填写 {{sign}}便可xml
==============================================================blog
在全局变量添加key:value分别是autoSign和var sign={toUnicode:function(s){return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){return"\\u"+newStr.charCodeAt(0).toString(16)})},run:function(token){if(typeof token=="undefined"){token="6fe383bcacc";if(globals.defaultToken){token=globals.defaultToken}}var self=this;var tmpArr={};var reqData=request.data;if(_.isString(reqData)){var reqType=request.headers['Content-Type'];if(_.endsWith(reqType,'json')){reqData=JSON.parse(reqData)}else if(_.endsWith(reqType,'xml')){reqData=xml2Json(reqData).xml}}if(_.isArray(reqData)){reqData=_.sortByOrder(reqData,["key"],['asc']);_(reqData).forEach(function(item){if(!item.disabled){if(_.isString(item.value)){item.value=self.toUnicode(item.value)}tmpArr[item.key]=item.value}}).value()}else if(_.isObject(reqData)){var keys=_.sortBy(_.keys(reqData));_(keys).forEach(function(key){if(_.isString(reqData[key])){reqData[key]=self.toUnicode(reqData[key])}tmpArr[key]=reqData[key]}).value()}if(tmpArr.iRequestTime&&globals.timestamp){tmpArr.iRequestTime=globals.timestamp}delete tmpArr.sSign;var json=JSON.stringify(tmpArr).replace(/\\\\u/g,'\\u');var sign=CryptoJS.MD5(token+"_xxxxxxxxxx_"+json,{asString:true}).toString();sign=CryptoJS.MD5(sign+"_xxxxxxxxxx_"+token,{asString:true}).toString();postman.setGlobalVariable("sign",sign)}}
图一
在Pre-request Script添加代码
eval(globals.autoSign);
sign.run("your token");
图二
在body中把sSign参数的值设置为{{sign}}
图三
1. sign.run()的参数能够不传,若是不传会默认使用全局变量中的defaultToken的值(见图一)
2. 全局变量添加菜单