WeChat---MINIProgam http类方法封装

http 封装

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

// 提示信息
const tips = {
  1:"抱歉,出现了一个错误",
  2:"appkey 无效",
  404:"不存在"
}


// promise 请求
class HTTP 
{
  // 方式1:子类型访问的配置参数
  constructor() {
    this.apiBaseUrl = config.api_base_url
  }

  // 方式2:子类型访问的配置参数
  getApiBaseUrl() {
    return config.api_base_url
  }


  // 获取元素上绑定的值
  getDataSet(event, key) {
    return event.currentTarget.dataset[key]
  }

  // ES6 可以以对象的方式传参
  request({url, data={}, method="GET"}) {
    return new Promise((resolve, reject)=>{
      this._request(url, resolve, reject, data, method)
    })
  }

  /**
   * 封装请求
   */
  _request(url, resolve, reject, data={}, method="GET") {
    let timestamp = Date.now();
    let sign = md5(timestamp + config.app_key).toUpperCase()

    wx.request({
      url: config.api_base_url + url,
      method: method,
      data: data,
      header:{
        'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
        // 'content-type': "application/json",
        "sign": sign,
        'timestamp': timestamp,
        'token': wx.getStorageSync('token')
      },
      success: (res)=>{
        let code = res.statusCode.toString();

        if (code.charAt(0) == '2') {
          // 成功返回
          resolve(res.data)
        }
        else {
          this.showError(code)

          // 失败返回
          reject()
        }
      },
      fail: (res)=> {
        // 失败返回
        reject()
      }
    })
  }


  /**
  * 错误提示
  */
  showError(errCode) {
    errCode = errCode ? errCode : 1
    const tip = tips[errCode]

    wx.showToast({
      title: tip ? tip : tips[1],
      icon: 'none',
      duration: 3000
    })
  }

}

export { HTTP }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值