微信自带网络请求,示例:
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
}
})
封装 Promise 形式
let ajaxTimes = 0
export const request = (params) => {
let header = { ...params.header } // 解构 参数中的 header
if (params.url.includes('/my/')) { // 判断 需要权限的请求路径
// header['Authorization'] = wx.getStorageSync('token') // token 请求权限
header['Authorization'] ='xxx'
}
ajaxTimes++ // 每发送一次请求,flag +1
wx.showLoading({
title: '加载中···',
mask: true,
})
const baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1'
return new Promise((resolve, reject) => {
wx.request({
...params,
...header,
url: baseURL + params.url,
success: (result) => {
resolve(result.data.message)
},
fail: (err) => {
reject(err)
},
complete: () => {
ajaxTimes-- // 每完成一次请求,flag -1
if (ajaxTimes == 0) { // flag == 0 说明所有请求都完成了,此时关闭 loading 图标
wx.hideLoading({})
}
},
})
})
}