xinyang5yuan-web/service/webRequest.ts
2025-04-01 17:45:42 +08:00

36 lines
961 B
TypeScript

import API from './requestList'
import AxiosRequestError from './error'
import { handleError } from './handleError'
import { getProcessEnv } from '@/global/env'
const $api = new API({
getServerUrl: () => {
return `${getProcessEnv('SERVER_URL') || ''}`
},
})
// 请求的拦截器
$api.request.interceptors.request.use((config: any) => {
const headers = config.headers || {}
// 这个地方可以自定义请求头
config.headers = {
...headers,
language: 'en', // 这个是自定义的请求头,还可以加 token 等
}
return config
})
// 响应的拦截器
$api.request.interceptors.response.use(undefined, async (err: AxiosRequestError) => {
err = handleError(err) // 调用我们自定义的 错误处理方法
if (err.isUnAuthorized) {
// 未授权的情况的处理
}
// 还可以自定义其他的情况的处理
return Promise.reject(err)
})
// 在 page 页面就可以直接调用这个 $api 请求接口
export default $api