Commit Graph

3 Commits

Author SHA1 Message Date
Blizzard 15ff59e6db feat(fe): 新增 seg-tabs 与 stat-ring 组件
seg-tabs 合并三套长得像但尺寸各不同的横向切换:plan 的 .inline-tabs
(灰槽白块)、community 的 .feed-tab(白药丸+阴影)、record 的 .rf-chip
(白药丸无阴影,高度还差 10rpx)。variant="solid|pill" 二选一,items
同时支持字符串数组和 {key,label} 数组。

stat-ring 是首页门面用的完成度环。用 SVG data-uri 画,和 record 页的
体重折线图同一套路——canvas 在 scroll-view 里的层级、滚动跟随和截图
行为全是坑。中心内容走 slot。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 10:36:35 +08:00
Blizzard 91caac1b92 feat(fe): 建立设计 token 层,收敛圆角/字号/字重/阴影/配色
改的是 app.wxss 里既有 class 的「值」,类名一个没动——全局类被 28 种弹层
和 9 个页面共同依赖,改名要动约 180 处 class,漏一处的后果是元素完全
裸奔(无 padding 无背景),不报错、不在 diff 里,只在用户点开某个特定
弹层时才暴露。

token:
- 圆角 22 种 → 5 档(xs12/sm20/md28/lg40/full)
- 字号 26 档 → 6 档(22/24/28/32/40/48)
- 字重 700/800/900 混用 → 只留 400/600,强调改靠颜色和字号
- 阴影 7 处一次性写法 → 3 档,且整体压轻(0 24rpx 60rpx .08 → 0 12rpx 32rpx .06)
- 9 种近似浅橙 → 一个 --primary-soft;4 个语义色补齐 soft/base/ink 三件套
- 7 种硬编码正文灰 → --text-2;卡内次级底色 → --surface-2

新增(没有往旧类上塞,避免语义冲突):
- .btn-dark 深色主 CTA。.btn-primary 保持暖橙不动——它有 36 处使用、
  绝大多数是弹层里的「保存」,改成深色会让全站主色消失
- .tone-1~4 四色分类块、.chip 状态标、.empty 空态(原本 6 套写法散在各页)

按钮渐变改实色,主色更稳;圆角整体收小,视觉更利落。
preview-v2.html 由 app.wxss 自动翻译生成(rpx→px),已逐块截图核对。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 10:34:24 +08:00
Blizzard b4a4a4b3c0 feat(fe): 引入线性图标体系,tabBar 去 emoji,清掉 172KB 死资源
图标不走字体走 mask-image。Tabler 的 outline 图标是 stroke+fill:none,
字形只认填充轮廓,直接转字体会生成空字形——真机表现和「字体没加载」
一模一样,很容易往错方向排查。mask 走渲染 alpha,描边正常参与,
同样支持 currentColor 染色,没有这个坑。

- styles/iconfont.wxss:38 个图标内联 base64,19.9KB
- components/pt-icon:name 支持图标名 / 记录类型 / 老数据里的 emoji,
  三层降级兜底,绝不留空白;virtualHost 避免多一层节点破坏 flex
- custom-tab-bar:🏠📅✍️📊🐾 换成图标,顺手把抄了一遍的三个色值换回 var()
- project.config.json:packOptions.ignore 排掉 preview.html、6 个候选 logo
  等 172KB 死资源,之前它们全打进包里

preview-v2.html 是设计验证页,本身也不参与打包。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 10:28:48 +08:00