From 55bf797dcc730b37bc691ebab2b51ff9db8ed245 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周二, 06 5月 2025 17:37:23 +0800 Subject: [PATCH] 修改代码样式 --- HIAWms/web/src/utils/request.ts | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-) diff --git a/HIAWms/web/src/utils/request.ts b/HIAWms/web/src/utils/request.ts new file mode 100644 index 0000000..506c8e4 --- /dev/null +++ b/HIAWms/web/src/utils/request.ts @@ -0,0 +1,60 @@ +import { default as axios, AxiosRequestConfig } from 'axios' +import { Session } from '@/utils/storage' +import router from '@/router' + +// 閰嶇疆鏂板缓涓�涓� axios 瀹炰緥 +const service = axios.create({ + baseURL: '/', + timeout: 50000, + headers: { + 'Content-Type': 'application/json;charset=UTF-8', + 'X-Requested-With': 'XMLHttpRequest', + 'Accept-Language': 'zh-Hans' + }, +}) + +// 璇锋眰鍓� +service.interceptors.request.use( + async (config: any) => { + const token = Session.get('Token') || import.meta.env.VITE_TOKEN + // console.log('Token', token); + if (token) config.headers['Authorization'] = `Bearer ${token}` + config.headers['X-Requested-With'] = 'XMLHttpRequest' + if (typeof config.data !== 'object') config.data = JSON.stringify(config.data) + return config + }, + (error: any) => { + return Promise.reject(error) + } +) + +// 鍝嶅簲鍚� +service.interceptors.response.use( + (response: any) => { + const { data } = response; + // if (data.statusCode == 401) { + // ElMessage.error('璇风櫥褰�'); + // router.push({ name: '/login' }) + // return; + // } + return data; + }, + (error: any) => { + Session.remove('Token') + return Promise.reject(error) + } +) + +type Data = unknown + +type Request = { + <D = Data>(url: string, config?: AxiosRequestConfig): Promise<D> + get<D = Data>(url: string, config?: AxiosRequestConfig): Promise<D> + delete<D = Data>(url: string, config?: AxiosRequestConfig): Promise<D> + post<D = Data>(url: string, data?: any, config?: AxiosRequestConfig): Promise<D> + put<D = Data>(url: string, data?: any, config?: AxiosRequestConfig): Promise<D> +} & typeof service + +const request = service as Request +export { request as default, request } + -- Gitblit v1.9.3