小程序的请求的封装

utils/ajax.js中
module.exports = function (api, method, url, params, ) {
  wx.showLoading({
    mask: true,
    title: '加载中',
  });
  return new Promise((resolve, reject) => {
    var sessionid = wx.getStorageSync('sessionid');
    wx.request({
      url: `${api}/${url}`,
      data: method == "GET" ? params : JSON.stringify(params),
      method: method,
      header: { 'Content-Type': 'application/json', "sessionid": sessionid },
      success: function (res) {
        wx.hideLoading();
        console.log("这个是ajax")
        //小程序的报错
        if (res.data != null && res.data.errorCode != null && res.data.errorCode != 0 && res.data.showCode == 0) {
          wx.showToast({
            title: res.data.errorMessageString,
            icon: 'none',
            duration: 2000
          });
          reject(res)

        } else if (res.data.showCode == 1 && res.data.errorCode != 110003 && res.data.errorMessageString ){
          wx.showModal({
            title: '提示',
            content: res.data.errorMessageString,
            showCancel: false,
            success: function (res) {
              if (res.confirm) {

              }
            }
          })

          reject(res)
        }
       
        else {
          resolve(res.data)
        }
      },
      fail: function (err) {
        wx.hideLoading();
        reject(err)
      }
    })
  })
}

// utils/env.j文件
let isTest = "dev"; //以后官方提供了方法可以修改这个就好了。
var   Api='';
if (isTest=="dev"){
  //  Api = 'http://192.168.1.124:8888' 
    Api = 'https://xxx.xxx.com.cn';
} else if (isTest == "pro"){
   Api = 'https://pro.xxx.com' 
}
const   API={
  API: Api,
}
module.exports = API;

//   utils/douban.js中

const  ajax=require("ajax.js")
const APL= require("evn.js")
const API = APL.API;

//包装fetch方法
function fetchAPI(method,url, params) {
  return fetch(API, method, url, params)
}
function ajaxAPI(method, url, params, confirmText, callback) {
  return ajax(API, method, url, params, confirmText, callback)
}
function ajaxhttpAPI(method, url, params) {
  return ajaxhttp(API, method, url, params)
}
module.exports = {
  ajaxAPI: ajaxAPI,
 
}

在pages中的怎么用的
const $http = require("../../utils/douban.js")
//method请求的方式   url路径   data数据
 $http.fetchAPI(method,url,data).then(res=>{})

猜你喜欢

转载自blog.csdn.net/Salunone/article/details/84339722