This commit is contained in:
zk
2023-12-18 18:34:19 +08:00
parent 2cc8886c2d
commit 580a4fc5c6
50 changed files with 2343 additions and 223 deletions
+61
View File
@@ -0,0 +1,61 @@
import { useMessage } from '/@/hooks/web/useMessage.ts';
import { t } from '/@/hooks/locales/useLocales.ts';
import { useUserStore } from '/@/store/modules/user.ts';
const { createMessage } = useMessage();
const error = createMessage.error!;
const userStore = useUserStore();
export function checkStatus(status: number, msg: string, errorMessageMode = 'message') {
let errMessage = '';
switch (status) {
case 400:
errMessage = `${msg}`;
break;
// 401: Not logged in
// Jump to the login page if not logged in, and carry the path of the current page
// Return to the current page after successful login. This step needs to be operated on the login page.
case 401:
userStore.setToken(undefined);
errMessage = msg || t('api.errMsg401');
userStore.logout(true);
break;
case 403:
errMessage = t('api.errMsg403');
break;
// 404请求不存在
case 404:
errMessage = t('api.errMsg404');
break;
case 405:
errMessage = t('api.errMsg405');
break;
case 408:
errMessage = t('api.errMsg408');
break;
case 500:
errMessage = t('api.errMsg500');
break;
case 501:
errMessage = t('api.errMsg501');
break;
case 502:
errMessage = t('api.errMsg502');
break;
case 503:
errMessage = t('api.errMsg503');
break;
case 504:
errMessage = t('api.errMsg504');
break;
case 505:
errMessage = t('api.errMsg505');
break;
default:
}
if (errMessage) {
if (errMessage == 'message') {
error({ content: errMessage, key: `global_error_message_status_${status}` });
}
}
}
+15 -5
View File
@@ -1,24 +1,34 @@
import axios from 'axios';
import { getAppEnvConfig } from '../utils/env.ts';
import { useUserStore } from '/@/store/modules/user.ts';
import { getAuthCache } from '/@/utils/auth.ts';
import { TOKEN_KEY } from '/@/enum/cacheEnum.ts';
const { VITE_GLOB_API_URL } = getAppEnvConfig();
let token =
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWRlbnRpZmllciI6ImU5Y2EyM2Q2OGQ4ODRkNGViYjE5ZDA3ODg5NzI3ZGFlIiwiZXhwIjoxNzAzMjMyOTQ0fQ.de0NagvCsVmg_sZGoE5PirZcdDRXPX-j9yj3AqbV6t4';
const userStore = useUserStore();
const { token } = userStore;
const service = axios.create({
baseURL: VITE_GLOB_API_URL,
timeout: 50000,
headers: {
// 设置后端需要的传参类型
'Content-Type': 'application/json;charset=UTF-8',
'X-Access-Token': token,
'X-Access-Token': token || getAuthCache(TOKEN_KEY),
},
/**
* @description: 响应错误处理
*/
responseInterceptorsCatch(error: any) {
const { response, code, message, config } = error || {};
const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none';
},
});
export const get = (url, params) => {
export const get = (url, params = {}) => {
return new Promise((resolve, reject) => {
service
.get(url, { params: params })
.then((res) => {
if (res.data.code === 200) {
if (res.data.code === 200 || res.data.code === 0) {
resolve(res.data);
} else {
reject(res.data);
-3
View File
@@ -1,3 +0,0 @@
const requestURL = "http://192.168.1.16";
export default requestURL
+32
View File
@@ -0,0 +1,32 @@
import { get, post } from '/@/api/request.ts';
enum Api {
getInputCode = '/sys/randomImage',
Login = '/sys/login',
Logout = '/sys/logout',
GetUserInfo = '/sys/user/getUserInfo',
}
export const getCodeInfo = (params: any) => get(Api.getInputCode + `/${params}`);
export function loginApi(params: any) {
return post(Api.Login, params);
}
/**
* @description: getUserInfo
*/
export function getUserInfo() {
return get(Api.GetUserInfo, {}).catch((e) => {
if (e && (e.message.includes('timeout') || e.message.includes('401'))) {
//接口不通时跳转到登录界面
// const userStore = useUserStoreWithOut();
// userStore.setToken('');
// router.push(PageEnum.BASE_LOGIN);
}
});
}
export function doLogout() {
return get(Api.Logout);
}