目录结构
├── 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) {
}
})