优化后台界面与无操作退出体验

This commit is contained in:
Cheng Zhou
2026-06-10 15:20:06 +08:00
parent ea3f19e241
commit 84e55af8fe
39 changed files with 793 additions and 608 deletions
+8 -12
View File
@@ -15,21 +15,17 @@ Last Updated: `2026-03-30`
- 同时触发 10 个 API 请求
- 仅出现 1 次 /auth/extend,其余请求自动重放成功
4) Idle lock at 30 minutes
4) Idle auto logout at 30 minutes
- 30 分钟无鼠标/键盘/触摸/滚动且无任何请求
- 出现锁屏,背景虚化,原页面状态保留
- 自动退出登录并跳转登录页
5) Unlock success
- 锁屏输入正确密码,解锁成功并继续原页面
5) Login notice after idle logout
- 登录页展示 30 分钟无操作自动退出提示
6) Unlock failure threshold
- 连续错误密码 >= 5 次
- 强制登出并跳登录页
7) Extend failure to lock
6) Extend failure logout
- 人为让 token 彻底过期,/auth/extend 返回 401
- 不跳登录,进入锁屏并要求密码解锁
- 强制登出并跳登录页,提示登录状态失效
8) 403 permission vs disabled
7) 403 permission vs disabled
- 权限不足接口返回 403 时不跳登录
- /auth/extend 或 /auth/unlock 返回 403 时强制登出跳登录
- /auth/extend 返回 403 时强制登出跳登录
-1
View File
@@ -18,7 +18,6 @@
| high | business-draft | `frontend/src/views/admin/ProjectDetail.vue` | 2984 | `localStorage.removeItem` | `storageKey.value` | 立项配置草稿本地兜底,需显式提示未落库 |
| low | ui-preference | `frontend/src/components/Layout.vue` | 227 | `localStorage.getItem` | `"ctms_sidebar_collapsed"` | UI偏好/上下文缓存 |
| low | ui-preference | `frontend/src/components/Layout.vue` | 390 | `localStorage.setItem` | `"ctms_sidebar_collapsed"` | UI偏好/上下文缓存 |
| low | auth-session | `frontend/src/components/LockScreenModal.vue` | 92 | `localStorage.getItem` | `"ctms_last_login_email"` | 认证/会话数据(非业务主数据) |
| low | auth-session | `frontend/src/components/ThreadList.vue` | 72 | `localStorage.getItem` | `"ctms_token"` | 认证/会话数据(非业务主数据) |
| low | auth-session | `frontend/src/components/attachments/AttachmentList.vue` | 132 | `localStorage.getItem` | `"ctms_token"` | 认证/会话数据(非业务主数据) |
| low | auth-session | `frontend/src/components/attachments/AttachmentList.vue` | 137 | `localStorage.getItem` | `"ctms_token"` | 认证/会话数据(非业务主数据) |