feat(miniprogram): 关怀模式 Phase 2 — Design Token + 15 页面批量接入
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

- 新建 useElderClass hook,替代每页 3 行样板代码
- 新建 CSS 自定义属性 Design Token 系统(tokens.scss)
  正常/关怀两套值:字号、间距、触控、布局参数
- 15 个页面批量接入关怀模式 class:
  TabBar: 商城页
  主流程: 预约列表/详情/创建、咨询详情
  子包: 体征录入/趋势/日常监测/告警、用药/档案/随访/报告/家庭/设置
- 新建 elder-toast 工具(关怀模式 3s + 触觉反馈)
- 页面覆盖率:4/59 → 22/59 (37%)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
iven
2026-05-09 22:17:58 +08:00
parent 4335f7e144
commit e8ccee02d5
22 changed files with 209 additions and 63 deletions

View File

@@ -0,0 +1,79 @@
// Design Token — CSS 自定义属性
// 正常模式值定义在 :root关怀模式通过 .elder-mode 覆盖
// 页面样式应引用 var(--tk-*) 而非硬编码 px 值
// ═══════════════════════════════════════
// 正常模式 Token
// ═══════════════════════════════════════
page {
// ─── 字号 ───
--tk-font-hero: 48px; // 登录标题等超大字
--tk-font-h1: 26px; // 页面标题
--tk-font-h2: 22px; // 区块标题
--tk-font-body: 15px; // 正文 / 列表项
--tk-font-body-lg: 17px; // 大正文 / 按钮文字
--tk-font-cap: 13px; // 辅助说明 / 次要文字
--tk-font-micro: 11px; // 标签 / 角标 / 最小文字
// ─── 数值型字号 ───
--tk-font-value: 30px; // 体征数值
--tk-font-value-lg: 28px; // 统计数值
// ─── 间距 ───
--tk-gap-xs: 6px;
--tk-gap-sm: 8px;
--tk-gap-md: 10px;
--tk-gap-lg: 16px;
--tk-gap-xl: 20px;
--tk-gap-2xl: 24px;
// ─── 内边距 ───
--tk-pad-page: 20px 24px; // 页面内边距
--tk-pad-card: 16px; // 卡片内边距
--tk-pad-section: 20px; // 区块内边距
// ─── 触控 ───
--tk-touch-min: 44px;
--tk-btn-h: 52px;
--tk-btn-primary-h: 56px;
// ─── 布局 ───
--tk-grid-cols: 2;
--tk-line-height: 1.5;
}
// ═══════════════════════════════════════
// 关怀模式 Token非线性放大
// ═══════════════════════════════════════
.elder-mode {
// 字号:标题 ×1.15 / 正文 ×1.35 / 辅助 ×1.55
--tk-font-hero: 56px;
--tk-font-h1: 30px;
--tk-font-h2: 26px;
--tk-font-body: 20px;
--tk-font-body-lg: 22px;
--tk-font-cap: 18px;
--tk-font-micro: 17px;
--tk-font-value: 34px;
--tk-font-value-lg: 34px;
// 间距×1.4(大于字号放大倍率,增加呼吸空间)
--tk-gap-xs: 8px;
--tk-gap-sm: 12px;
--tk-gap-md: 14px;
--tk-gap-lg: 22px;
--tk-gap-xl: 28px;
--tk-gap-2xl: 32px;
--tk-pad-page: 28px 32px;
--tk-pad-card: 20px;
--tk-pad-section: 28px;
--tk-touch-min: 56px;
--tk-btn-h: 60px;
--tk-btn-primary-h: 64px;
--tk-grid-cols: 1;
--tk-line-height: 1.7;
}