添加系统设置页面.

This commit is contained in:
lijiahangmax
2024-06-18 00:35:45 +08:00
parent cfe1924f11
commit d56cfbba82
11 changed files with 252 additions and 17 deletions

View File

@@ -13,7 +13,9 @@ export interface HttpResponse<T = unknown> {
}
axios.defaults.timeout = 10000;
axios.defaults.setAuthorization = true;
axios.defaults.promptBizErrorMessage = true;
axios.defaults.promptRequestErrorMessage = true;
axios.defaults.baseURL = httpBaseUrl;
axios.interceptors.request.use(
@@ -24,7 +26,10 @@ axios.interceptors.request.use(
if (!config.headers) {
config.headers = {};
}
config.headers.Authorization = `Bearer ${token}`;
// 设置 Authorization 头
if (config.setAuthorization === true) {
config.headers.Authorization = `Bearer ${token}`;
}
}
return config;
},
@@ -46,7 +51,7 @@ axios.interceptors.response.use(
return res;
}
// 异常判断
if ([401, 700, 701, 702].includes(code)) {
if ([401, 700, 701, 702, 1000, 1001].includes(code)) {
// 提示
Message.error({
content: res.msg || 'Error',
@@ -60,7 +65,10 @@ axios.interceptors.response.use(
window.sessionStorage.setItem(reLoginTipsKey, res.msg);
}
// 登出
await useUserStore().logout();
const responseUrl = response.request?.responseURL;
if (!responseUrl || !responseUrl.includes('/logout')) {
await useUserStore().logout();
}
// 重新加载自动跳转登录页面
window.location.reload();
});
@@ -76,10 +84,13 @@ axios.interceptors.response.use(
return Promise.reject(new Error(res.msg || 'Error'));
},
(error) => {
Message.error({
content: error.msg || '请求失败',
duration: 5 * 1000,
});
// 判断是否弹出请求错误信息
if (error.config.promptRequestErrorMessage) {
Message.error({
content: error.msg || '请求失败',
duration: 5 * 1000,
});
}
return Promise.reject(error);
}
);

View File

@@ -0,0 +1,38 @@
import axios from 'axios';
/**
* 应用信息查询响应
*/
export interface AppInfoResponse {
version: string;
uuid: string;
}
/**
* 仓库版本信息查询响应
*/
export interface RepoReleaseResponse {
tag_name: string;
body: string;
}
/**
* 查询应用信息
*/
export function getSystemAppInfo() {
return axios.get<AppInfoResponse>('/infra/system-setting/app-info');
}
/**
* 获取仓库最后版本信息
*/
export function getRepoLatestRelease() {
return axios.get<RepoReleaseResponse>('https://gitee.com/api/v5/repos/dromara/orion-visor/releases/latest', {
// 不添加请求头 否则会报 401
setAuthorization: false,
// 返回原始输出
unwrap: true,
// 不提示请求错误信息 可能会 403
promptRequestErrorMessage: false,
});
}