小程序request封装

config.js

const  config = {
  wssURL: 'wss://www.example.com:8888',
  baseURL: 'https://www.example.com'
  // baseURL: 'http://example.test'
}

module.exports = config;

request.js

const app = getApp();
const config = require('./config');

class Request {
  constructor(parms) {
    this.withBaseURL = parms.withBaseURL;
    this.baseURL = parms.baseURL;
  }

  get(url, data) {
    return this.request('GET', url, data)
  }

  post(url, data) {
    return this.request('POST', url, data)
  }

  put(url, data) {
    return this.request('PUT', url, data)
  }

  delete(url, data) {
    return this.request('DELETE', url, data)
  }

  request(method, url, data) {
    const vm = this;
    data.from = 'mp';
    return new Promise((resolve, reject) => {
      wx.request({
        url: vm.withBaseURL ? vm.baseURL + url : url,
        data,
        method,
        header: {
          'token': app.globalData.token,
        },
        success(res) {
          if (res.data.code === -1) {
            const pages = getCurrentPages();
            const currentPage = pages[pages.length - 1];
            const current_url = currentPage.route;
            wx.redirectTo({
              url: '/pages/bind/index?from=' + current_url//实际路径要写全
            })
          } else if (res.data.code === 0) {
            wx.showToast({
              title: res.data.msg,
              icon: 'error',
              duration: 3000
            });
          } else {
            resolve(res)
          }
        },
        fail() {
          reject({
            msg: '请求失败',
            url: vm.withBaseURL ? vm.baseURL + url : url,
            method,
            data
          })
        }
      })
    })
  }
}

const request = new Request({
  wssURL: config.wssURL,
  baseURL: config.baseURL,
  withBaseURL: true
});

module.exports = request;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jHipster - 微服务搭建 CC_简书[https://www.jianshu.com/u/be0d56c4...
    quanjj阅读 843评论 0 2
  • 小程序内置了wx.request,用于向后端发送请求,我们先来看看它的文档: wx.request(OBJECT)...
    Jack_Lo阅读 15,400评论 8 23
  • 这些天团队里开始做小程序开发了,之前没做过,都是第一次,第一次的感觉大家都懂的。周末看了一下小程序项目的代码,在网...
    徐磊x阅读 27,230评论 18 45
  • 1、今天开始单双晚就寝检查(周日轮换) 2、晚就寝违纪两次取消就寝资格(布告及时出,班主任及时领,班级内宣读) 3...
    清澈与明亮阅读 108评论 0 0
  • 老话说:“一个成功男人背后都有一个成功的女人”。然而,一个失败的男人背后也都有一个坏女人。而毁掉一个男人,就应该先...
    小芭蕉阅读 215评论 0 0