This commit is contained in:
zhu
2026-05-09 14:37:56 +08:00
parent d1285b7800
commit 521eea47d2
29 changed files with 1492 additions and 279 deletions

71
src/utils/reqeust.ts Normal file
View File

@@ -0,0 +1,71 @@
import axios, {AxiosError, AxiosRequestConfig, AxiosResponse} from "axios"
import useUserStore from "@/store/user";
const baseURl = process.env.NEXT_PUBLIC_API_URL as string
const service = axios.create({
baseURL: baseURl,
timeout: 30000
})
//请求拦截器
service.interceptors.request.use((config) => {
//
//当数据为formData自动修改请求头
if ((config.data instanceof FormData)) {
(config as any).headers = {"Content-Type": "multipart/form-data"}
}
let token = useUserStore.getState().token
if (token) {
(config.headers).Authorization = `Bearer ${token}`
}
return config
}, (error: AxiosError) => {
return Promise.reject(error)
})
//响应拦截器
service.interceptors.response.use((config: AxiosResponse) => {
const {code, data} = config.data
if ([1, '200'].includes(code)) {
return data
//当为文件流时
} else if (config.headers['content-types'] == 'application/octet-stream') {
return config.data
} else {
// Message.error(message);
return Promise.reject(config.data)
}
}, error => {
if (error.message == 'Network Error') {
// Toast.error("网络异常")
}
return Promise.reject()
})
function requestPost(url: string, data = {}, config: AxiosRequestConfig = {}) {
return service.post(url, data, config)
}
function requestPatch(url: string, data = {}, config: AxiosRequestConfig = {}) {
return service.patch(url, data, config)
}
function requestGet(url: string, params: any = {}) {
return service.get(url, {params})
}
function requestDelete(url: string, data = {}) {
return service.delete(url, {data: data})
}
let request = {
get: requestGet,
post: requestPost,
delete: requestDelete,
patch: requestPatch,
}
export default request