微信自带网络请求,示例:
wx.request({url: 'test.php', //仅为示例,并非真实的接口地址data: {x: '',y: ''},header: {'content-type': 'application/json' // 默认值},success (res) {console.log(res.data)}})
封装 Promise 形式
let ajaxTimes = 0export const request = (params) => {let header = { ...params.header } // 解构 参数中的 headerif (params.url.includes('/my/')) { // 判断 需要权限的请求路径// header['Authorization'] = wx.getStorageSync('token') // token 请求权限header['Authorization'] ='xxx'}ajaxTimes++ // 每发送一次请求,flag +1wx.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 -1if (ajaxTimes == 0) { // flag == 0 说明所有请求都完成了,此时关闭 loading 图标wx.hideLoading({})}},})})}
