微信小程序 - - - - -封装request请求

简单封装request请求

const BASE_URL = 'https:/***.****.com'


const urls = ['/login']

function request(url, data = {}, method = 'GET', showToast = true) {

  // 获取本地token
  let token = wx.getStorageSync('token') || ''

  // 如果未登录 && 访问的接口不是指定接口 则跳转到登录页面
  if (!token && !urls.some((item) => item == url)) {
    // 还没登录呢~
    return wx.navigateTo({
      url: '/pages/signin/signin',
    })
  }


  if (showToast) {
    wx.showLoading({
      title: '加载中',
    })
  }

  // 使用Promise封装一层
  return new Promise((resolve, reject) => {
    wx.request({
      url: `${BASE_URL}${url}`,
      method,
      data,
      header: {
        'Content-type': 'application/x-www-form-urlencoded',
        token
      },
      // 成功的回调函数
      success(res) {
        if (res.data.ec === 200) {
          // 将response的数据resolve出去
          resolve(res.data)
        } else if (res.data.ec === 300) {
          // 登录过期 || 尚未登录~
          return wx.navigateTo({
            url: '/pages/signin/signin',
          })
        } else {
          wx.showToast({
            title: res.data.em || '请求失败',
            icon: 'error'
          })
          resolve(res);
        }
      },
      fail(error) {
        wx.showToast({
          title: '请求失败',
          icon: 'error'
        })
        reject(error);
      },
      complete() {
        wx.hideLoading()
      }
    })
  })
}

export {
  request
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值