一.使用md5加密
1.安装依赖 npm install md5
2.main.js引入 import md5 from 'js-md5'
Vue.prototype.$md5 = md5;
3.使用方法
let data = this.$md5(this.password) 这样传给接口就行
二.新建utils.js来注册全局方法;如获取url参数值getUrlKey;字符串&隔开按字母排序jsonSort;
export default{
getUrlKey:function(name){//name为参数名,得到参数值
return decodeURIComponent((new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(location.href)||[,""])[1].replace(/\+/g,'%20'))||null;
},
//最近有个需求需要把json按key值进行排序abc...,可是js并没有直接的函数可以对json进行排序的这么办呢?
//然后想到了一个间接的方法来实现:
//1、将json中的key值取出,存在一个数组中,然后对这个数组排序。
//2、循环存放key的数组,根据key的索引取出json中的值,然后拼接上。
jsonSort:function (jsonObj) {
let arr=[];
for(var key in jsonObj){
arr.push(key)
}
arr.sort();
let str='';
for(var i in arr){
str +=arr[i]+"="+jsonObj[arr[i]]+"&"
}
return str.substr(0,str.length-1)
},
}
2.import utils from './utils' //获取url参数
Vue.prototype.$utils = utils //注册全局方法
3.使用
loadData(reid,tk) {
var that=this;
let datasms = {
token: tk,
registration:reid,
}
let datajson = this.$utils.jsonSort(datasms)+'&xtype';//jsonSort方法是按第一个字母abc...排列
let sign = this.$md5(datajson)
datasms['sign'] = sign;
axios.post('/member/xxx', qs.stringify(datasms))
.then (function(res) {
if(res.data.code == 1000){
that.datas = res.data.data;
}
})
},