2.2的部分代码新增实现
This commit is contained in:
+22
-4
@@ -28,6 +28,14 @@ async function apiFetch(endpoint, options = {}) {
|
||||
...options,
|
||||
headers: { ...headers, ...(options.headers || {}) },
|
||||
});
|
||||
|
||||
// ---- 统一处理 401 认证失效 ----
|
||||
if (res.status === 401) {
|
||||
clearAuthState();
|
||||
window.dispatchEvent(new CustomEvent("auth:expired"));
|
||||
return { code: 401, msg: "认证已过期,请重新登录" };
|
||||
}
|
||||
|
||||
return res.json();
|
||||
}
|
||||
|
||||
@@ -286,8 +294,16 @@ const app = createApp({
|
||||
let logTimer = null;
|
||||
let logFetching = false;
|
||||
|
||||
// ---- 认证过期处理 ----
|
||||
const handleAuthExpired = () => {
|
||||
doLogout();
|
||||
};
|
||||
|
||||
// ---- 初始化 ----
|
||||
onMounted(() => {
|
||||
// 监听认证过期事件
|
||||
window.addEventListener("auth:expired", handleAuthExpired);
|
||||
|
||||
const saved = loadAuthState();
|
||||
if (saved.valid) {
|
||||
token.value = saved.token;
|
||||
@@ -351,6 +367,11 @@ const app = createApp({
|
||||
logFetching = true;
|
||||
try {
|
||||
const result = await fetchLogsApi();
|
||||
// ---- 如果 API 返回 401,停止轮询(事件已触发登出) ----
|
||||
if (result.code === 401) {
|
||||
logFetching = false;
|
||||
return;
|
||||
}
|
||||
logLines.value = result.lines;
|
||||
logTotal.value = result.total;
|
||||
logError.value = result.error;
|
||||
@@ -641,7 +662,6 @@ const app = createApp({
|
||||
);
|
||||
|
||||
const showDefaultTip = computed(() => {
|
||||
// 如果 serverAddr 还是默认值,或者为空,显示警告
|
||||
const addr = globalConfig.serverAddr;
|
||||
return !addr || addr === "frp.example.com" || addr.trim() === "";
|
||||
});
|
||||
@@ -692,9 +712,8 @@ const app = createApp({
|
||||
passwordChangeSuccess,
|
||||
changePassword,
|
||||
|
||||
showDefaultTip,
|
||||
showDefaultTip,
|
||||
|
||||
// 日志相关
|
||||
logLines,
|
||||
logTotal,
|
||||
logError,
|
||||
@@ -703,7 +722,6 @@ const app = createApp({
|
||||
refreshLogs,
|
||||
scrollLogToBottom,
|
||||
|
||||
// Token 显示切换
|
||||
showToken,
|
||||
};
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user