使用原生微信小程序封装一个request的请求方法

var app = getApp();
const api = require("../config/config.js");
const request = (method, url, data) => {
  var that = this;
  console.log("----request---url---[[",url,"]]-----")
  var store_token = wx.getStorageSync('token');
  return new Promise((resolve, reject) => {
    //token不存在
    if (store_token == "" || store_token == null) {
      /** 
      wx.reLaunch({
        url: '/pages/login/login'
      })
      */
      wx.removeStorageSync("minappUser"); //用户信息
      app.globalData.userInfo = null;
      app.showInfo("请先完成登录!")
      return;
    }
    //判断token过期
    /** 
    if (token && newTime - time > 0) { 
      if(isRefreshing) {
        updateToken();
        isRefreshing = false;
        pendings.push(() => {
          resolve(ajax(method, url, data, options))
        })
      }
    }
    **/
    //请求后台数据
    wx.request({
      url: api.wxUrl_miniapp + url,
      data: data,
      method: method,
      dataType: "json",
      header: {
        'content-type': 'application/json',
        'Authorization': 'Bearer ' + store_token
      },
      success(res) {
        if (res.data.code == 401 || res.data.msg == "Error token") {
          //退出清除用户数据
          wx.removeStorageSync("token"); //"用户Token"
          app.globalData.token = "";
          wx.removeStorageSync("minappUser"); //用户信息
          app.globalData.userInfo = null;
          wx.reLaunch({
            url: '/pages/usercenter/user'
          })
          return;
        } else {
          console.log("---------promise.response--------[[[", res, "]]]------------------")
          return resolve(res);
        }
      },
      fail(res) {
        console.log("返回失败信息", res)
        //reject (res)
        app.showInfo("请求服务器失败,请稍后重试!")
        return;
      }
    })
  })
}

const requestNoToken = (method, url, data) => {
  var that = this;
  return new Promise((resolve, reject) => {
    //请求后台数据
    wx.request({
      url: url,
      data: data,
      method: method,
      dataType: "json",
      header: {
        'content-type': 'application/json'
      },
      success(res) {
        //console.log("---------promise.noTokenResponse----[[[", res, "]]]-----")
        return resolve(res);
      },
      fail(res) {
        console.log("返回失败信息", res)
        //reject (res)
        app.showInfo("请求服务器失败,请稍后重试!")
        return;
      }
    })
  })
}
module.exports = {
  request: request,
  requestNoToken: requestNoToken
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值