chore:平台容器框架升级,修复命令行环境丢失的问题
This commit is contained in:
@@ -1,26 +1,27 @@
|
||||
import axios, { AxiosError } from 'axios';
|
||||
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||
|
||||
import { message } from 'ant-design-vue';
|
||||
import axios, { AxiosError } from 'axios';
|
||||
|
||||
export interface ResopnseType<T> {
|
||||
reason: string
|
||||
message: string
|
||||
data: T
|
||||
ts: string
|
||||
reason: string;
|
||||
message: string;
|
||||
data: T;
|
||||
ts: string;
|
||||
}
|
||||
// export const YCODE_BASEURL: string = import.meta.env.VITE_YCODE_BASEURL;
|
||||
|
||||
// https://custom-chart-pre-api.shiyue.com
|
||||
|
||||
export const YCODE_BASEURL: string = 'https://custom-chart-pre-api.shiyue.com'
|
||||
export const YCODE_BASEURL: string = 'https://custom-chart-pre-api.shiyue.com';
|
||||
|
||||
const requestType = {
|
||||
const requestType = {
|
||||
base: YCODE_BASEURL,
|
||||
};
|
||||
|
||||
const baseAxios: AxiosInstance = axios.create({
|
||||
baseURL: '',
|
||||
timeout: 100000,
|
||||
timeout: 100_000,
|
||||
withCredentials: true,
|
||||
});
|
||||
|
||||
@@ -28,26 +29,30 @@ const errorHandle = (error: AxiosError) => {
|
||||
if (error.response) {
|
||||
const status = error.response?.status;
|
||||
switch (status) {
|
||||
case 401:
|
||||
case 401: {
|
||||
message.warning('请先登录');
|
||||
window.location.href = `${YCODE_BASEURL}/login?redirect=${encodeURIComponent(window.location.href)}`;
|
||||
break;
|
||||
case 403:
|
||||
}
|
||||
case 403: {
|
||||
message.warning('权限不足');
|
||||
break;
|
||||
case 500:
|
||||
}
|
||||
case 500: {
|
||||
message.warning('服务器出错了…… (>_<)');
|
||||
break;
|
||||
default:
|
||||
}
|
||||
default: {
|
||||
message.warning('服务器出错了…… (>_<)');
|
||||
break;
|
||||
}
|
||||
}
|
||||
return Promise.reject(error);
|
||||
}
|
||||
message.error(error.message);
|
||||
return Promise.reject(error);
|
||||
};
|
||||
//响应拦截器
|
||||
// 响应拦截器
|
||||
baseAxios.interceptors.response.use((response: AxiosResponse) => {
|
||||
const { data, status } = response;
|
||||
|
||||
@@ -64,7 +69,9 @@ baseAxios.interceptors.response.use((response: AxiosResponse) => {
|
||||
}
|
||||
}, errorHandle);
|
||||
|
||||
type RequestConfig = Omit<AxiosRequestConfig, 'baseURL'> & { baseURL?: keyof typeof requestType }
|
||||
type RequestConfig = Omit<AxiosRequestConfig, 'baseURL'> & {
|
||||
baseURL?: keyof typeof requestType;
|
||||
};
|
||||
const request = <T = any>(config: RequestConfig) => {
|
||||
const host = requestType[config.baseURL || 'base'];
|
||||
return new Promise<T>((resolve, reject) => {
|
||||
@@ -73,8 +80,8 @@ const request = <T = any>(config: RequestConfig) => {
|
||||
.then((res: T) => {
|
||||
resolve(res);
|
||||
})
|
||||
.catch((err: unknown) => {
|
||||
reject(err);
|
||||
.catch((error: unknown) => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
};
|
||||
@@ -101,6 +108,7 @@ const put = <T = any>(config?: RequestConfig) =>
|
||||
},
|
||||
});
|
||||
|
||||
const del = <T = any>(config?: { url: string }) => request<ResopnseType<T>>({ ...config, method: 'DELETE' });
|
||||
const del = <T = any>(config?: { url: string }) =>
|
||||
request<ResopnseType<T>>({ ...config, method: 'DELETE' });
|
||||
|
||||
export { get, post, del, put, request };
|
||||
export { del, get, post, put, request };
|
||||
|
||||
Reference in New Issue
Block a user