我们公司的url地址以及参数内容都是md5加密的,因此自己尝试封装了一下,今天分享给大家。
第一步 下载md5 函数 没有的百度都可以找到!
第二部 创建 fetch.js 引入你下载的md5
这里写你自己的路径
var md5 = require('../assets/js/md5/md5.js');
第三步 设置BASE_URL
const BASE_URL = '********************************'
第四步 导出你的md5 函数和密钥
/* MD5验证函数 */
function md5Fun(BASE_URL, datas) {
let str = md5(BASE_URL + datas + "md5密钥");
return str
}
第五步就是导出的方法了
/* 导出方法 */
export default function fetch(option) {
return new Promise((resolve, reject) => {
/* 获取token */
let token = wx.getStorageSync('token')
/* 参数地址 */
let md5_Url = BASE_URL + option.url
/* Post参数内容 */
let datas = JSON.stringify(option.data) || ''
let md5 = md5Fun(md5_Url, datas)
wx.request({
url: md5_Url,
method: option.method || 'GET',
dataType: 'json',
header: {
md5,
token
},
data: option.data || {
},
success: function (res) {
resolve(res)
},
fail: function (err) {
console.log(err)
reject(err)
}
})
})
}
最后一步使用
在这里引入
import fetch from '../../../../utils/fetch'
使用post请求
let res = await fetch({
method: 'post',
url: 'login?',
data: obj
})
console.log(res)
使用get请求
let res = await fetch({
url: 'market?'
})
console.log(res)
可以直接复制用 我这里是参数和url都是经过md5处理的 当然 也可以根据自己的需求再改进。有问题留言即可!谢谢。