小程序 HTTP请求封装

  • 定义http.js
// http,promise封装
import {
  config
} from "../config"

const tips = {
  1001: '参数错误',
  1002: 'json格式不正确',
  1003: '找不到资源'
}

class Http {
  constructor() {
    this.baseUrl = config.api_url
  }
  request({
    url,
    data = {},
    method = 'GET'
  }) {
    return new Promise((resolve, reject) => {
      wx.request({
        url: this.baseUrl + url,
        data,
        method,
        header: {
          'content-type': 'application/json',
          'appkey': config.appkey
        },
        success: res => {
          const code = res.statusCode.toString()
          if (code.startsWith('2')) {
            resolve(res.data);
          } else {
            reject()
            const error_code = res.data.error_code
            this._show_error(error_code)
          }
        },
        fail: err => {
          reject()
          this._show_error(1)
        }
      });
    })
  }
  _show_error(error_code) {
    if (!error_code) {
      error_code = 1
    }
    const tip = tips[error_code]
    wx.showToast({
      title: tip ? tip : tips[1],
      icon: 'none',
      duration: 2000
    })
  }

}


export {
  Http
}
posted @ 2020-05-09 16:54  KevinTseng  阅读(219)  评论(0编辑  收藏  举报