first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
import axios, { AxiosResponse } from "axios";
import { config } from "@/config";
import { resultType } from "@/types/response/result";
import { showLoadingToast, closeToast, showFailToast } from 'vant';
import 'vant/es/toast/style';
import { VagueOject } from "@/types/common";
interface requestParams {
baseUrl: string,
url: string,
data: VagueOject,
header: VagueOject
}
const instance = axios.create({
timeout: 10000,
headers: {
"Content-Type": "application/json"
}
});
instance.interceptors.request.use(
function (config) {
// showLoadingToast({
// duration: 0,
// forbidClick: true,
// message: '加载中....',
// })
return config;
},
function (error) {
return Promise.reject(error);
}
);
instance.interceptors.response.use(
function (response) {
// closeToast()
return ResponseCodeCheck(response)
},
function (error) {
return Promise.reject(error);
}
);
const ResponseCodeCheck = (response: AxiosResponse<resultType<any>>) => {
switch (response.data.code) {
case 200:
return response.data.data
break;
case 404:
showFailToast({
message: response.data.msg
});
throw new Error(response.data.msg)
break;
default:
break;
}
}
export const GET = async <T> (params: requestParams): Promise<T> => {
return await instance.get<T>(params.url, {
baseURL: params.baseUrl,
params: params.data,
headers: Object.assign(params.header, {
"token": localStorage.getItem("token")
})
})
}
export const POST = async <T> (params: requestParams): Promise<T> => {
return await instance.post<T>(params.url, params.data, {
headers: Object.assign(params.header, {
"token": localStorage.getItem("token")
}) ,
baseURL: params.baseUrl,
})
}
export default {
GET, POST
}