封装axios
// 封装 request
// 请求基本路径
const baseURL = 'xxxxx'
// 准备计数器变量,用于记录请求个数,🧨 注意这里是变量
let requestCount = 0
// 解构出 url,...config 接收所有剩余参数
const request = (config) => {
// 返回 Promise 对象
return new Promise((resolve, reject) => {
// 请求前用户提示 - 导航栏的 loading
uni.showNavigationBarLoading()
// 计数器累加
requestCount++
// 发送网络请求
uni.request({
// 展开运算符把所有请求参数展开作为 request 的参数
...config,
// 完整的请求地址拼接:基本路径 + 接口API
url: baseURL + config.url,
// 成功
success: (res) => {
// 调用成功的回调函数
resolve(res)
},
// 失败
fail: (err) => {
// 调用失败的回调函数
reject(err)
},
// 完成:不管成功或失败
complete: () => {
// 计数器减少
requestCount--
// 计数器为 0 的时候,关闭加载提示
if (requestCount === 0) {
uni.hideNavigationBarLoading()
}
},
})
})
}
export default request
根据axios封装请求
import request from "@/utils/reuqest";
export const good_list = (data)=>{
return request({
methods:"GET",
url:"/goods/search",
data
})
}