fix(mp): 五专家组全面审计修复 — 安全+功能+UX+性能+代码质量

安全修复:
- 移除硬编码管理员凭据 admin/Admin@2026,改用环境变量注入
- 移除 forceSetAuth 全局 bridge 方法,减少攻击面
- sanitizeHtml 从黑名单正则升级为白名单方式
- secure-storage 实现 XOR+Base64 加密存储,不再明文
- 添加旧数据迁移逻辑 migrateLegacyStorage

功能修复:
- 新增咨询创建页(consultation/create),修复"发起咨询"按钮导航失败
- 修复咨询详情页长轮询可能永远不启动(dataLoadedRef → useState)
- 新增 createSession service API
- 预约页面从主包移至分包,配置 commonChunks 优化主包体积

UX 修复:
- 65 处硬编码字号 → var(--tk-font-*) token 替换
  - AI 聊天页 13 处、咨询详情页 14 处、医生端核心页 38 处
- StatusTag 色值对齐设计系统色板
- Loading 文字从 --tk-font-h1(28px) 修正为 --tk-font-body-sm
- EmptyState 文字从 --tk-font-num(30px)/--tk-font-h2(22px) 修正
- 医生端 5 处硬编码颜色 → SCSS 变量
This commit is contained in:
iven
2026-05-21 13:35:46 +08:00
parent e769a5785a
commit 652cccf66c
20 changed files with 441 additions and 99 deletions

View File

@@ -27,7 +27,7 @@
.ai-chat-nav__title {
font-family: Georgia, 'Times New Roman', serif;
font-size: 17px;
font-size: var(--tk-font-body);
font-weight: 700;
color: $tx;
}
@@ -47,7 +47,7 @@
}
.ai-chat-nav__online-text {
font-size: 11px;
font-size: var(--tk-font-micro);
color: $acc;
}
@@ -74,20 +74,20 @@
.ai-chat-welcome__avatar-char {
color: $white;
font-size: 32px;
font-size: var(--tk-font-num-lg);
font-weight: 600;
font-family: Georgia, 'Times New Roman', serif;
}
.ai-chat-welcome__greeting {
font-size: 17px;
font-size: var(--tk-font-body);
font-weight: 600;
color: $tx;
margin-top: 16px;
}
.ai-chat-welcome__desc {
font-size: 13px;
font-size: var(--tk-font-cap);
color: $tx3;
text-align: center;
margin-top: 6px;
@@ -103,7 +103,7 @@
}
.ai-chat-welcome__hint {
font-size: 12px;
font-size: var(--tk-font-micro);
color: $tx3;
margin-bottom: 12px;
}
@@ -131,11 +131,11 @@
}
.ai-chat-welcome__pill-icon {
font-size: 15px;
font-size: var(--tk-font-body-sm);
}
.ai-chat-welcome__pill-text {
font-size: 13px;
font-size: var(--tk-font-cap);
color: $tx2;
}
@@ -177,7 +177,7 @@
.ai-msg__avatar-char {
color: $white;
font-size: 15px;
font-size: var(--tk-font-body-sm);
font-weight: 600;
}
@@ -203,7 +203,7 @@
.ai-msg__text {
display: block;
width: 100%;
font-size: 15px;
font-size: var(--tk-font-body-sm);
color: $tx;
line-height: 1.6;
word-break: break-word;
@@ -265,13 +265,13 @@
border: none;
border-radius: 20px;
padding: 0 14px;
font-size: 14px;
font-size: var(--tk-font-body-sm);
color: $tx;
}
.ai-chat-bar__placeholder {
color: $tx3;
font-size: 14px;
font-size: var(--tk-font-body-sm);
}
.ai-chat-bar__send {
@@ -295,6 +295,6 @@
.ai-chat-bar__send-icon {
color: $white;
font-size: 20px;
font-size: var(--tk-font-body-lg);
font-weight: 700;
}