Files
template-MP/api/request.js

60 lines
1.6 KiB
JavaScript

import Request from '@/lib/luch-request/index.js'
import tool from '@/common/utils/tool.js'
const baseUrl = import.meta.env.VITE_BASE_URL
const http = new Request()
/* 设置全局配置 */
http.setConfig(config => {
config.header = { ...config.header }
config.sslVerify = false
config.baseURL = baseUrl
return config
})
http.interceptors.request.use(
async config => {
config.header = { ...config.header }
return config
},
config => {
return Promise.reject(config)
}
)
http.interceptors.response.use(response => {
if (response.statusCode == 500 || response.statusCode == 404 || response.statusCode == 403) {
console.error(response)
return tool.alert('网络错误,请稍后重试')
}
if (response.statusCode == 401 || response.data.code == 401) {
}
if (response.data.code !== 1 || response.data.code !== 200) {
tool.reportError(
'api',
{
url: response.config.url,
method: response.config.method,
statusCode: response.data.code || response.statusCode,
statusText: response.data.msg || response.data.message || '未知错误',
responseTime: Date.now() - (response.config.startTime || Date.now()),
requestData: response.config.data,
requestHeaders: response.config.header,
environment: import.meta.env.MODE,
},
{},
true
)
}
if (response.statusCode == 200) {
return Promise.resolve(response)
} else {
return Promise.reject(response)
}
})
export default http