uniapp网络请求封装(promise)

336 阅读1分钟
// 请求域名 格式:https://域名
let HTTP_REQUEST_URL = 'http://localhost:9999';

// 请求头
let header = {
  'content-type': 'application/json'
}

/* 
  发送请求
*/
function baseRequest(url, method, data) {
  return new Promise((resolve, reject) => {
    uni.request({
      url: HTTP_REQUEST_URL + url,
      method: method.toUpperCase(),
      header,
      data: data || {},
      success: res => {
        let msg = res.dat.msg;
        let code = res.data.code
        if(code == 401)
          reject(msg || '请先登录');
        else if(code == 403) 
          reject('没有权限');
        else if(code == 200) 
          resolve(res.data);
        else 
          reject(msg || '系统错误');
      },

      fail: err => {
        reject(err)
      }
    })
  })
}

const request = {};

let arr = ['get', 'post', 'put', 'head', 'delete'];
arr.forEach(method => {
  request[method] = (api, data) => {
    return baseRequest(api, method, data)
  }
});

// 导出
export default request;