小程序wx.request() 之promise

const md5 = require("./md5.js");
let timer;

function request(url, method, params, header) {
  header = header || {};
  timer = setTimeout(() => {
    wx.showLoading({})
  }, 500)
  setTimeout(() => {
    wx.hideLoading()
  }, 1000);
  let time = new Date().getTime();
  let uid = wx.getStorageSync('uid') ? wx.getStorageSync('uid') : 0;
  let token = wx.getStorageSync('token') ? wx.getStorageSync('token') : 0;
  let lastParams = `?uid=${uid}&time=${time}&secret=${md5.hexMD5('71clouddangjiang' + token + time + uid)}`;
  url += lastParams;
  return new Promise((resolve, reject)=>{
    wx.request({
      url: url,
      data: params || {},
      method: method || 'get',
      header: header,
      success: (res) => {
        clearTimeout(timer);
        wx.hideLoading();
        if(res.data.code==1){
          //res.data 就是后台的返回的数据
          resolve(res.data)
        }else if(res.data.code==0){
          if (res.data.msg) {
            wx.showToast({
              title: res.data.msg,
              icon: 'none',
            })
          } else {
            wx.showToast({
              title: res.data.data,
              icon: 'none',
            })
          }
        }else if (res.data.code == 2) {
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        } else if (res.data.code == 3) {
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        }else if (res.data.code == 4) {
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        }else if(res.data.code==8){
          resolve(res.data)
        }
      },
      fail: (err) => {
        clearTimeout(timer);
        wx.hideLoading();
        wx.showToast({
          title: '网络异常,请重试',
          icon: 'none',
          duration: 2000
        });
        reject(err)
      }
    });
  })
}

export const ajax = {
  get: (url, params) => {
    return request(url, 'get', params, {'content-type': 'application/json'})
  },
  post: (url, params) => {
    return request(url, 'post', params, {'content-type': 'application/x-www-form-urlencoded'})
  }
};

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值