b491b6a146
Client Quality Gates / Shared client and Web (push) Has been cancelled
Client Quality Gates / macOS Desktop (push) Has been cancelled
Storage Persistence Guard / storage-persistence-audit (push) Has been cancelled
Client Quality Gates / Shared client and Web (pull_request) Has been cancelled
Client Quality Gates / macOS Desktop (pull_request) Has been cancelled
Storage Persistence Guard / storage-persistence-audit (pull_request) Has been cancelled
5.5 KiB
5.5 KiB
存储落库核查报告
状态: snapshot
适用范围: storage-persistence
最后更新: 2026-06-30
- 扫描目录:
/Users/zcc/MyCTMS/ctms-project/frontend/src - 总发现数:
36 - 高风险:
4/ 中风险:0/ 低风险:32
2026-06-30 第二阶段更新:认证 token 已迁移到
frontend/src/runtime/secureSessionStorage.ts; 业务入口不再直接从localStorage读取ctms_token,附件下载不再使用 query-token。
明细
| 风险 | 分类 | 文件 | 行号 | 调用 | key表达式 | 说明 |
|---|---|---|---|---|---|---|
| high | business-draft | frontend/src/views/admin/ProjectDetail.vue |
2849 | localStorage.getItem |
storageKey.value |
立项配置草稿本地兜底,需显式提示未落库 |
| high | business-draft | frontend/src/views/admin/ProjectDetail.vue |
2908 | localStorage.getItem |
projectDraftStorageKey.value |
立项配置草稿本地兜底,需显式提示未落库 |
| high | business-draft | frontend/src/views/admin/ProjectDetail.vue |
2976 | localStorage.removeItem |
projectDraftStorageKey.value |
立项配置草稿本地兜底,需显式提示未落库 |
| 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/session/sessionManager.ts |
33 | localStorage.setItem |
"ctms_auth_broadcast" |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/session/sessionManager.ts |
181 | sessionStorage.removeItem |
LOGOUT_REASON_STORAGE_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/session/sessionManager.ts |
184 | sessionStorage.setItem |
LOGOUT_REASON_STORAGE_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/session/sessionManager.ts |
192 | sessionStorage.getItem |
LOGOUT_REASON_STORAGE_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/session/sessionManager.ts |
193 | sessionStorage.removeItem |
LOGOUT_REASON_STORAGE_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/store/auth.ts |
24 | localStorage.setItem |
LAST_LOGIN_EMAIL_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/store/auth.ts |
39 | localStorage.setItem |
LAST_LOGIN_EMAIL_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/store/auth.ts |
46 | localStorage.getItem |
LAST_LOGIN_EMAIL_KEY |
认证/会话数据(非业务主数据) |
| low | ui-preference | frontend/src/store/study.ts |
20 | localStorage.getItem |
LAST_STUDY_BY_USER_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
30 | localStorage.setItem |
LAST_STUDY_BY_USER_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
44 | localStorage.removeItem |
SITE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
48 | localStorage.setItem |
STUDY_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
50 | localStorage.setItem |
STUDY_ROLE_KEY |
UI偏好/上下文缓存 |
| low | auth-session | frontend/src/store/study.ts |
52 | localStorage.getItem |
"ctms_last_login_email" |
认证/会话数据(非业务主数据) |
| low | ui-preference | frontend/src/store/study.ts |
59 | localStorage.getItem |
STUDY_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
67 | localStorage.getItem |
STUDY_ROLE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
70 | localStorage.getItem |
SITE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
116 | localStorage.removeItem |
STUDY_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
117 | localStorage.removeItem |
STUDY_ROLE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
118 | localStorage.removeItem |
SITE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
165 | localStorage.setItem |
STUDY_ROLE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
167 | localStorage.removeItem |
STUDY_ROLE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
174 | localStorage.setItem |
SITE_KEY |
UI偏好/上下文缓存 |
| low | ui-preference | frontend/src/store/study.ts |
176 | localStorage.removeItem |
SITE_KEY |
UI偏好/上下文缓存 |
| low | auth-session | frontend/src/utils/auth.ts |
17 | localStorage.setItem |
CREDENTIAL_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/utils/auth.ts |
24 | localStorage.getItem |
CREDENTIAL_KEY |
认证/会话数据(非业务主数据) |
| low | auth-session | frontend/src/utils/auth.ts |
38 | localStorage.removeItem |
CREDENTIAL_KEY |
认证/会话数据(非业务主数据) |