2025-04-07 09:30:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import BASE_URL from '@/api/env.js' //引入接口共用地址
|
|
|
|
|
import RequestManager from '@/utils/requestManager.js'
|
|
|
|
|
import {toast, clearStorageSync, getStorageSync, useRouter} from '@/utils/utils.js'
|
|
|
|
|
import systemConfig from '@/config/config.js';
|
|
|
|
|
const manager = new RequestManager()
|
|
|
|
|
|
2025-04-09 13:44:35 +08:00
|
|
|
|
|
|
|
|
|
// 先写死调接口
|
2025-04-10 09:12:18 +08:00
|
|
|
|
// uni.setStorageSync('token', 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9zaWQiOiI1YmJiYTBhMi04YmJmLTcxMmUtMjMxMy1kYTc0N2E1MGUxYzEiLCJ1bmlxdWVfbmFtZSI6Iua1i-ivlSIsInJvbGUiOiJBZG1pbiIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL21vYmlsZXBob25lIjoiMTgxNzQwMTA1NjEiLCJncm91cHNpZCI6IjRiMmQ5NjYyLWE3NjgtMDhmMi1hMGM4LTc2MmI4Yzc2ZGEyYSIsIm5iZiI6MTc0NDE3OTY2NiwiZXhwIjoxNzQ0MTgzMjY2LCJpYXQiOjE3NDQxNzk2NjZ9.TTLt3vwefdrd8rx3zNN4rr0OI4yp14m781N3PC3lIHw')
|
2025-04-09 13:44:35 +08:00
|
|
|
|
|
|
|
|
|
|
2025-04-07 09:30:11 +08:00
|
|
|
|
const baseRequest = async (url, method, data = {}, loading = true) =>{
|
|
|
|
|
let requestId = manager.generateId(method, url, data)
|
|
|
|
|
if(!requestId) {
|
|
|
|
|
console.log('重复请求')
|
|
|
|
|
}
|
|
|
|
|
if(!requestId)return false;
|
|
|
|
|
|
|
|
|
|
const header = {}
|
|
|
|
|
header.Authorization = getStorageSync(systemConfig.token) || ''
|
|
|
|
|
return new Promise((reslove, reject) => {
|
|
|
|
|
loading && uni.showLoading({title: 'loading'})
|
|
|
|
|
uni.request({
|
|
|
|
|
url: BASE_URL + url,
|
|
|
|
|
method: method || 'GET',
|
|
|
|
|
header: header,
|
|
|
|
|
timeout: 10000,
|
|
|
|
|
data: data || {},
|
|
|
|
|
complete: ()=>{
|
|
|
|
|
uni.hideLoading()
|
|
|
|
|
manager.deleteById(requestId)
|
|
|
|
|
},
|
|
|
|
|
success: (successData) => {
|
|
|
|
|
//console.log(successData)
|
|
|
|
|
const res = successData.data
|
|
|
|
|
if(successData.statusCode == 200){
|
|
|
|
|
// 业务逻辑,自行修改,401是服务器上返回该token过期,过期后跳转到登陆页面
|
|
|
|
|
if(res.code > 400){
|
|
|
|
|
clearStorageSync('token')
|
|
|
|
|
useRouter(systemConfig.login_page, 'reLaunch')
|
|
|
|
|
}else{
|
|
|
|
|
reslove(res)
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
console.log('网络连接失败,请稍后重试' ,url)
|
|
|
|
|
toast('网络连接失败,请稍后重试')
|
|
|
|
|
reject(res)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: (msg) => {
|
|
|
|
|
console.log("请求:"+BASE_URL + url +',发生错误:', err)
|
|
|
|
|
toast('网络连接失败,请稍后重试')
|
|
|
|
|
reject(msg)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const request = {};
|
|
|
|
|
|
|
|
|
|
['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
|
|
|
|
|
request[method] = (api, data, loading) => baseRequest(api, method, data, loading)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export default request
|