Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
59ca8a89
提交
59ca8a89
authored
4月 08, 2026
作者:
朱政
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:避免新开页面的时候重新登录
上级
a225eea1
流水线
#366
已通过 于阶段
in 1 分 32 秒
变更
3
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
38 行增加
和
4 行删除
+38
-4
index.js
src/router/index.js
+1
-1
auth.js
src/utils/auth.js
+33
-3
vite.config.js
vite.config.js
+4
-0
没有找到文件。
src/router/index.js
浏览文件 @
59ca8a89
...
...
@@ -75,7 +75,7 @@ const router = createRouter({
// 路由守卫 - 设置页面标题
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
// 登录态
仅保存在运行时内存:刷新/重启后都需重新登录
// 登录态
:同一次前端服务 BOOT_ID 内跨刷新/跨新标签有效;服务重启后自动失效
const
isAuthed
=
getIsLoggedIn
();
const
isLoginRoute
=
to
.
name
===
"Login"
||
/^
\/
login
\/?
$/
.
test
(
String
(
to
.
path
||
""
));
...
...
src/utils/auth.js
浏览文件 @
59ca8a89
let
isLoggedIn
=
false
;
const
STORAGE_LOGIN_FLAG
=
"isLoggedIn"
;
const
STORAGE_LOGIN_BOOT_ID
=
"loginBootId"
;
export
const
getIsLoggedIn
=
()
=>
isLoggedIn
;
const
getBootId
=
()
=>
{
// 由 vite.config.js 的 define 注入:重启 dev server 会变化
try
{
// eslint-disable-next-line no-undef
return
String
(
__APP_BOOT_ID__
||
""
);
}
catch
(
_
)
{
return
""
;
}
};
export
const
getIsLoggedIn
=
()
=>
{
try
{
const
flag
=
window
.
localStorage
.
getItem
(
STORAGE_LOGIN_FLAG
)
===
"1"
;
const
savedBootId
=
window
.
localStorage
.
getItem
(
STORAGE_LOGIN_BOOT_ID
)
||
""
;
return
flag
&&
savedBootId
&&
savedBootId
===
getBootId
();
}
catch
(
_
)
{
return
false
;
}
};
export
const
setIsLoggedIn
=
(
val
)
=>
{
isLoggedIn
=
Boolean
(
val
);
try
{
if
(
val
)
{
window
.
localStorage
.
setItem
(
STORAGE_LOGIN_FLAG
,
"1"
);
window
.
localStorage
.
setItem
(
STORAGE_LOGIN_BOOT_ID
,
getBootId
());
}
else
{
window
.
localStorage
.
removeItem
(
STORAGE_LOGIN_FLAG
);
window
.
localStorage
.
removeItem
(
STORAGE_LOGIN_BOOT_ID
);
}
}
catch
(
_
)
{
// ignore
}
};
vite.config.js
浏览文件 @
59ca8a89
...
...
@@ -6,6 +6,10 @@ import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import
{
resolve
}
from
'path'
export
default
defineConfig
({
// 每次重启前端服务(Vite)都会变化:用于登录态失效判断
define
:
{
__APP_BOOT_ID__
:
JSON
.
stringify
(
`
${
Date
.
now
()}
`
),
},
plugins
:
[
vue
(),
AutoImport
({
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论