工具--封装小程序请求

461 阅读1分钟
class Request {
  constructor(params) {
    this.baseURL = params.baseURL
  }
  get(url, data) {
    return this.request('GET', url, data)
  }
  post(url, data) {
    return this.request('POST', url, data, "application/json")
  }
  put(url, data) {
    return this.request('PUT', url, data)
  }
  request(method, url, data, conten_type) {
    const _this = this
    // 从缓存中获取 sessionKey
    const {
      sessionKey
    } = wx.getStorageSync('token')
    return new Promise((resolve, reject) => {
      wx.request({
        url: _this.baseURL + url,
        data,
        header: {
          'content-type': conten_type,
          token: sessionKey,
        },
        method,
        dataType: 'json',
        responseType: 'text',
        success: function (res) {
          if (res.data.code !== 200) return reject('请求失败')
          return resolve(res)
        },
        fail(error) {
          return reject({
            msg: error || '请求失败',
            url: _this.baseURL + url,
            method,
            data
          })
        }
      })
    })
  }
}

const env = {
  // 开发环境
  dev: 'https://app-dev.cn/api/v1/',
  // 测试环境
  demo: 'https://app-demo.cn/api/v1/',
  // 生产环境
  prod: 'https://app..cn/api/v1/'
}

const request = new Request({
  baseURL: env.demo,
})

module.exports = request