目录结构

├── pages
├── images
├── utils
│ ├── ajax.js
├── app.js

代码

// utils/ajax.js
// 基准路径
const baseUrl = 'http://localhost:8090'
// 1.0 返回一个 promise 对象
function ajax(url, method = 'GET', data = {}, header = {}) {
  return new Promise((resolve, reject) => {
    wx.showLoading({
      title: '加载中'
    })
    // 2.0 完成逻辑处理
    wx.request({
      url: baseUrl + url,
      method: method,
      data: data,
      header,
      success: res => {
        resolve(res)
        wx.hideLoading()
      },
      fail: err => {
        reject(err)
      }
    })
  })
}

// 封装一个单独的 get 方法
ajax.get = function (url, data = {}) {
  return ajax(url, 'GET', data)
}

// 封装一个单独的 post 方法
ajax.post = function (url, data = {}) {
  return ajax(url, 'POST', data)
}

// 封闭一个验证是否登录的方法
ajax.auth = function (url, method, data = {}) {
  // 得到 token
  var token = wx.getStorageSync('token')
  if (!token) {
    // 如果不存在,跳转到登录页面
    wx.navigateTo({
      url: '/pages/index/index'
    })
    return new Promise(() => { })
  }
  // 如果存在,就直接发送请求(在请求头中带上 token)
  return ajax(url, method, data, { "Authorization": token })
}

// 3.0 暴露给外界
export default ajax
//app.js
const ajax = require('./utils/ajax.js');
// 第一种
global.ajax = ajax;
// 某个页面调ajax
global.ajax.default.post('/add-address/submit', data).then(res => {
  if (res.data.code === 200) {

  }
})
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐