使用Promise封装小程序md5加密请求

我们公司的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处理的 当然 也可以根据自己的需求再改进。有问题留言即可!谢谢。

猜你喜欢

转载自blog.csdn.net/weixin_46533797/article/details/108127798