promise封装小程序的请求类(request,清爽易懂)

话不多说直接上代码,清爽易懂:

import {
  config
} from '../config.js'

const tips = {
  1:'抱歉出现了一个错误',
  2:'网络错误',
  1005:'错误1',
  1006:'错误2',
}

class HTTP {
  request(params) {
    if (!params.method) {
      params.method = 'GET'
    }
    wx.request({
      url: config.api_base_url + params.url,
      method: params.method,
      data: params.data,
      header: {
        'content-type': 'application/json',
        'appkey': config.appkey
      },
      success: (res) => {
        res.statusCode = '400'
        let code = res.statusCode.toString()
        // 2开头的code
        // startsWith
        // endsWith
        if (code.startsWith('2')) {
          // params.success 存在则执行
          params.success && params.success(res.data)
        }
        else {
          let error_code = res.data.error_code
          // 传入报错code
          this._show_erro(1)
        }
      },
      fail: (err) => {
        // 网路错误
        let error_code = res.data.error_code
        // 传入报错code
        this._show_erro(2)
      }
    })
  }

  _show_erro(error_code){
    if(!error_code){
      error_code = 1
    }
    wx.showToast({
      title: tips[error_code],
      icon:'none',
      duration:2000
    })
  }
}

export { HTTP }

 

posted @ 2019-06-17 11:15  博客小鹏鹏  阅读(635)  评论(0编辑  收藏  举报