init: 添加设计产物

This commit is contained in:
liyy 2026-08-26 16:20:42 +08:00
parent fec99aa255
commit 189e815bcc
35 changed files with 714 additions and 0 deletions

View File

@ -0,0 +1,119 @@
# 备考中枢 - 画布排布整理 & PC 端原型同步
## 完成时间
2026-08-25 18:16
## 任务概述
用户要求整理画布排布,并同步 PC 端原型。共两项任务,均已完成。
## 任务 1整理画布排布
原 18 页横排在 x=0~9310 一条线上,杂乱无章。现按逻辑分区重排为 4 排:
**第一排——主 Tab 页y=0**
按底部 TabBar 5 tab 顺序排布,其中「刷题」用 3 帧体现三段切换:
- 首页 0 → 刷题·刷题 470 → 刷题·错题本 940 → 刷题·申论 1410 → 要闻 1880 → 分析 2350 → 计划 2820 → 我的 3290
**第二排——二级页面y=944**
- 刷题作答 0 → 作答结果 470 → AI讲解 940 → 错题详情 1410 → 模考录入 1880 → 申论编辑 2350 → 周报复盘 2820
**第三排——桌面端y=1888**
- 题库录入 0 → 数据中枢 2360
**第四排——空状态 + 组件y=3028**
- 空状态·错题本 0 → 空状态·模考分析 470 → 空状态·计划 940 → TabBar 组件 1880
无重叠,分组逻辑清晰。
## 任务 2PC 端原型同步
桌面端侧边栏导航组1 原为 6 项(数据中枢 / 刷题 / 错题本 / 模考分析 / 申论 / 备考计划),与移动端重构后的 5 tab 语义不一致。已同步:
1. **删除「错题本」「申论」独立导航项**——二者已并入「刷题」,不再单列
2. **「刷题」改名「刷题中心」**——体现合并后职责
3. **补充「要闻」「我的」导航项**——对齐移动端 5 tab首页 / 刷题 / 要闻 / 分析 / 我的)
4. **修正「数据中枢」误高亮**——非当前页(当前为题库管理),修正为未选中态
## 验证
截图确认刷题三帧、申论帧、TabBar 高亮、桌面两页均正常,无布局问题、无裁剪。
## 后续可优化项
- 桌面端「刷题中心」「要闻」「我的」导航项图标仍是复制来的占位分析图标,语义不够精准,可后续用更贴合语义的矢量图标替换。
---
## 2026-08-26 追加:用户反馈修正(桌面端一致性)
### 用户反馈
1. 数据中枢页缺左侧菜单 → 桌面页应一致
2. 刷题中心未像 mobile 一样区分三段
3. 错题本、申论去哪了(缺失)
4. 数据导入导出完全多余 → 去掉
### 处理
1. **数据中枢补侧边栏**:克隆题库录入侧边栏,高亮聚焦「数据中枢」,移除「数据导入导出」。
2. **刷题中心补三态分段切换**:新增「刷题 / 错题本 / 申论」分段控件(选中 `$3:6`),并新增两个独立状态帧:
- 错题本态48:8错因分布卡 + 最近错题 2 卡
- 申论态48:170评分卡四维+ 写一篇 + 历史习作 2 卡
3. **删除数据导入导出页**45:585并从全部桌面页侧边栏移除该导航项。
### 结果
- 桌面端共 10 帧,全部分区:题库录入 / 数据中枢 / 刷题中心(刷题、错题本、申论三态) / 模考分析 / 备考计划 / 要闻 / 我的 / 设置。
- 全部标注页截图验证通过,侧边栏统一为 数据中枢/刷题中心/模考分析/备考计划/要闻/我的 + 题库管理/设置。
---
## 2026-08-26 追加:刷题中心改为侧边栏二级子菜单
### 用户反馈
> pc端的刷题中心不需要做成tab了拆成三个二级子菜单吧
即取消页内「刷题 / 错题本 / 申论」分段 tab改为侧边栏中「刷题中心」父项下挂 3 个二级子菜单。
### 处理
1. **新建可复用组件**「刷题中心子菜单 组件」(51:1)父项头行icon + 刷题中心 + 展开箭头)+ 3 个二级子项(刷题 / 错题本 / 申论,左缩进 36高 32 圆角 8
2. **替换全部 10 个桌面页侧边栏**的单个「刷题中心」导航项为该组件实例置于「数据中枢」之后、index 1。
3. **高亮态**:当前页所属子项填充 `$3:6` + 白色文字;父项标题文字同步置 `$3:6`。刷题态高亮「刷题」、错题本态高亮「错题本」、申论态高亮「申论」,其余中性页无子项高亮。
4. **删除** 三页页内分段切换控件48:1 / 48:15 / 48:177
### 结果
- 侧边栏导航组1 现为:数据中枢 / 刷题中心(▾ 刷题·错题本·申论) / 模考分析 / 备考计划 / 要闻 / 我的。
- 全部 10 页截图验证通过;桌面端全页 PNG + PDF 概览已更新到 `deliverables/prototype/`
---
## 2026-08-26 追加:侧边栏整体组件化(与 TabBar 对齐)
### 用户反馈
> 别扯了TabBar 为什么就能单独拎出来作组件?→ 对齐
用户指出只把「刷题中心子菜单」做成组件是双重标准——TabBar 是整体组件,侧边栏也理应按同样标准做成整体组件,用实例覆盖高亮项驱动。
### 处理
1. **建可复用组件「侧边栏 组件」(52:1)**:完整封装 Logo区 + 导航组1数据中枢 / 刷题中心(内嵌51:1子菜单) / 模考分析 / 备考计划 / 要闻 / 我的)+ 导航组2题库管理 / 设置),全部图标用 SVG 重绘统一风格。
2. **替换全部 10 个桌面页侧边栏**为组件实例,`M(...,0)` 确保靠左。
3. **高亮通过三级实例路径覆写**:普通导航项 `52:4X;52:N`;刷题子菜单项 `52:4X;52:16;51:Y`(父标题 / 刷题 / 错题本 / 申论)。
### 结果
- 侧边栏现为单一可复用组件,与 TabBar 架构标准对齐。
- 全部 10 页截图验证通过6:435 / 44:1 / 48:8 / 48:170 / 45:40 / 45:176 / 45:307 / 45:446 / 45:713 / 6:304
- 交付物 PNG + PDF 概览已更新到 `deliverables/prototype/`
---
## 2026-08-26 追加:删除独立子菜单组件(51:1),物化进侧边栏
### 用户反馈
> 之前那个子菜单组件删掉
即删除此前独立散落在画布上的「刷题中心子菜单 组件」(51:1)。
### 处理
1. **前置检查**51:1 被侧边栏组件(52:1)内嵌引用实例52:16直接删会破坏 10 页侧边栏,故先物化。
2. **物化**:删 52:16 实例,在侧边栏组件内重建结构相同的自包含普通 frame(52:58),使侧边栏组件完全自包含、不再依赖 51:1。
3. **重覆写三态高亮**:物化后实例路径从 `52:4X;52:16;51:Y` 变为 `52:4X;52:67/69/71`(子项容器)+`52:64`(父标题)。
4. 确认无引用后 `D("51:1")` 删除。
### 结果
- 画布上不再有独立的「刷题中心子菜单」组件,子菜单已规整归入侧边栏组件。
- 侧边栏组件及三态页截图验证通过PDF 概览已更新到 `deliverables/prototype/`

View File

@ -0,0 +1,129 @@
# 2026-08-25 工作日志
## 公务员考试辅助工具 - 需求固化(产品战略团队协作)
- 用户需求:为本人做一个公务员考试辅助工具,暂定 Web 形式,先固化需求。
- 已确认决策:国考+省考兼顾;核心功能=行测刷题+错题本、模考与成绩分析、申论辅助、备考计划管理、AI辅助出题/答疑/生成答卷);题库=真题+手动录入;定位=「个人备考数据中枢」,响应式 Web移动端优先
- 团队协作流程product-gwy-exam-assistant瑞思用户研究、竞析竞品分析、数析市场数据并行 → 析客PRD→ 路径(路线图)。
- 核心结论不做题库军备竞赛、不办自建大规模模考、不自研大模型MVP=11项P0数据闭环基础设施约8-10周单人开发AI整体列P1二期数据先行、AI增强需求池共29项P0=11/P1=13/P2=5
- 交付物:`deliverables/product-strategy/prd-gwy-exam-tool-2026-08-25.md`
- 待用户拍板AI是否进MVP、题库录入边界、跨平台导入优先级、数据存储方式本地 vs 云)、申论评分标准来源、产品名称(备考中枢/上岸笔记/个人备考舱)。
- 下一步:用户确认待确认问题后,进入 Ardot UI 设计阶段Web 高保真稿)。
## 拍板结果2026-08-25 用户确认)
- AI 不进 MVP数据先行、AI 增强AI-03 可信度机制 M0 预留接口)
- 数据存储:**可配置数据目录 + Docker 部署**(用户自定义方案)——轻后端 + SQLite 单文件置于可配置目录,支持 docker volume 挂载、备份迁移;不做云同步
- 题库边界近5年国考+省考真题,全模块覆盖(行测五大模块+申论);每模块先录 20-30 题验证流程
- 产品名称:**备考中枢**(确定)
- 跨平台导入手动录入先行P1 D-02、粉笔解析后置P2 M-04——团队建议用户未否决
- 申论评分:一期「自评+要点勾选」兜底AI 评分 P1 验证项——团队建议,用户未否决
- PRD 已更新至 v1.1`deliverables/product-strategy/prd-gwy-exam-tool-2026-08-25.md`
- 下一步:进入 UI 设计阶段Ardot 画布,移动端优先 Web 高保真稿)
## UI 设计2026-08-25 完成)
- 设计文件:备考中枢 - 公务员考试备考工具Ardot file 718570750880145
- 视觉方向:暖白画布 × 深蓝渐变主色专注沉稳、bento 卡片布局、中文 Sarasa Gothic SC / 数字 Inter
- 已创建设计令牌 17 个色彩变量Color 变量集)
- TabBar 组件(可复用,胶囊式 5 tab
- 移动端 6 页390×844首页数据中枢 / 刷题模块选择 / 错题本归因 / 模考分析 / 申论辅助 / 备考计划
- 桌面端 2 页1440×900数据中枢宽屏态 / 题库录入PC 重操作场景,含实时预览)
- 响应式策略落地:移动=消费端(刷题/打卡/看数据),桌面=生产端(录题/导入/导出)
- 设计稿导出图在 .workbuddy/screenshots/final-*.png内部验证用
## UI 设计 v2二级页面2026-08-25 完成)
- 新增 3 个移动端核心闭环页面390×844
- 刷题作答页9:1进度条+计时器、题干卡、选项选中态、提交答案
- 作答结果页9:49答错反馈卡、答案对比条你的答案/正确答案/用时)、解析、错因标签多选(审题/计算/公式/思路/知识点遗忘)、下一题
- AI 讲解对话页9:96用户提问气泡、AI 回答(含置信度标注 95%+依据)、变式题建议(做变式/换数字再出)、底部追问输入框
- 至此共 11 页(移动端 9 + 桌面端 2完整覆盖刷题→错题→AI 讲解闭环
- 注意绝对定位元素layoutPositioning: ABSOLUTE + x 偏移)宽度必须用固定值 342=390-2*24不能用 fill_container否则越界
## UI 设计 v3补全页面2026-08-25 完成)
- 新增 4 个移动端页面:
- 错题详情页12:1题干+错因标签、正确答案+掌握状态、重做/AI讲解操作区、作答历史错2次记录
- 模考成绩录入11:28考试名称/日期/总分 + 分模块得分5模块+ 保存M-01 表单)
- 申论写作编辑器12:63题目提示卡、工具栏B/I/列表、正文区、AI 评分点反馈提示条S-01
- 周报复盘13:1周报头卡渐变、薄弱考点 Top3含动作建议、错因分布、下周建议W-07
- 设计稿共 15 页(移动端 13 + 桌面端 2P0/P1 核心页面全覆盖
- AI 讲解入口矩阵:错题列表按钮 + 作答结果页按钮 + 错题详情页按钮 → 均推入 AI 对话页9:96
## 移动端闭环审查2026-08-25 14:00
- 检查13 页对照 PRD 需求池 P0=11/P1=13 逐项核对,发现并修复 3 个导航断点:
1. 模考分析页6:94无"录入成绩"入口 → 已补(跳 M-01 录入页 11:28
2. 错题本页6:16无"周报复盘"入口 → 已补(跳 W-07 页 13:1
3. TabBar 第 5 个 Tab「我的」无落地页 → 新建「我的 - 设置」页28:12个人卡+数据导出/导入还原/跨平台录入/Docker 目录/目标分数设置D-02/D-03 落地)
- 闭环结论4 条核心业务链路全部打通(刷题/错题/AI讲解/周报TabBar 5 Tab 均有落地页
- 设计稿现 16 页(移动端 14 + 桌面端 2
## 空状态设计2026-08-25 14:08 完成)
- 新增 3 个移动端空状态页390×844
- 空状态-错题本29:1空图标+说明+「去刷第一组题」CTA
- 空状态-模考分析29:25无模考记录+「录入第一次模考成绩」CTA
- 空状态-计划29:49无任务+「创建今日任务」CTA
- 统一模式:灰底圆形图标(96px) + 标题 + 说明 + 主 CTA空状态主体用 ABSOLUTE y:180 + hug_contents 实现视口内居中
- 设计稿共 19 页(移动端 17 + 桌面端 2P0/P1 需求 + 空状态全覆盖,可进入开发阶段
## 首页布局/配色评审2026-08-25 14:30 完成)
- 审查首页4:24发现顶部两张内容卡丢失深蓝渐变背景 → 白字/浅蓝字对比度接近零,严重不可读
- 天数整卡29:90fills 为空但文字为纯白/浅蓝 → 已补 primary→primaryDeep 渐变
- Hero 今日概览卡4:38fills 为空但文字为白/浅蓝 → 已补 primary→primaryBright 渐变
- 布局评审结论纵向叙事问候→天数→Hero→快捷入口3列→错题速览→最近模考→TabBar合理24px 边距/18-24 圆角/10-16 间距统一,信息层级正确
- 配色评审结论:绿色正确率环、红黄进度条、深色文字卡片均正常,仅顶部两卡异常(已修);画面下方暖白 canvas 与白色卡片对比度充足
- 教训:渐变卡或深色衬底卡若 backgrounds/fills 依赖渐变,必须显式写 fills不能依赖继承白/浅亮文字卡一定检查是否落于浅色底
## 首页置顶卡片对齐2026-08-25 14:35 完成)
- 问题:天数整卡(29:90)与Hero卡(4:38)此前 x=0/宽390 贴满全屏、左右无留白,比下方内容区(24px边距)宽一截;两卡间 gap=0 紧贴
- 修复:新建容器「置顶渐变卡区」(32:1宽390、左右各24内边距、纵向 gap 12),把两卡移入并改 width=fill_container
- 结果:两卡现均 x=24/w342与下方内容区同宽同边距卡间距 12px容器经 M() 移到问候区(index=2)之后、快捷入口之前
- 注意I() 插入的容器默认落在页面末尾,需用 M(node, parent, index) 移到正确顺序
## 信息架构重构 42026-08-25 17:00 完成)刷题/错题/申论合并 + 要闻tab
- 背景:用户确认「申论使用概率较低」→ 并入刷题新增「要闻」tab 展示公告/时政文章
- 最终底部导航5 tab**首页 · 刷题 · 要闻 · 分析 · 我的**
- TabBar 组件(4:23)原「错题」tab(4:11) 改造为「要闻」,重绘报纸图标(35:5)+文字(4:14)→"要闻";组件级改动自动传播到所有实例
- 新建「刷题」tab(36:13, x:9310, 高1134):顶部分段切换(刷题│错题本│申论) + 选择模块2列网格(5模块) + 碎片组卷时长 + 开始按钮 + 错题归因概览(3行) + 申论习作概览
- 新建「要闻」页(35:8, x:8820):置顶公告渐变卡 + 分类筛选(全部/公告/政策/时政) + 3张文章卡 + 置顶标签
- 关键教训:
1. 模块网格要2列必须用 layout:"wrap" + 卡片宽166(342-10)/2容器 height:"hug_contents";用 HORIZONTAL 会单列堆叠
2. TabBar 实例子节点用「实例id;组件节点id」访问如 36:12;4:7=刷题tab高亮=tab容器fills:"$3:6"+图标/文字变白
3. 长滚动tab页主容器高度设为内容实际高度非844固定TabBar 用 ABSOLUTE 定位于 (内容高-120)
4. 高亮同步易漏:各页面 TabBar 实例需逐一确认高亮正确tab避免误高亮「首页」
- 高亮映射首页→首页刷题tab/刷题-模块/错题本/申论辅助→刷题;要闻→要闻;分析→分析;我的→我的;备考计划→首页
- 设计稿现 21 页(移动端 19 + 桌面端 2
## 信息架构重构 52026-08-25 17:40 完成刷题tab改真切换单壳 + 清理旧独立页
- 背景用户不满新版刷题tab「刷题/错题本/申论三段纵向堆叠滚动」——"明明是tab页为啥三页集中在一起"且旧三个独立tab页仍在画布混淆视听
- 方案真切换单壳——刷题tab(36:13)顶部segment三段每段只显示一个面板用「组件状态变体」标准手法呈现3帧=同一tab的3种切换态
- 三帧均390×844y=0/1254/2508
1. 36:13 刷题态:删错题本概览+申论概览→只剩模块网格+时长+开始按钮segment高亮「刷题」副标题"选择模块,碎片时间刷题"
2. 40:1 错题态:删模块/时长/开始按钮→保留错题本入口+错因分布卡+复制旧6:16错题卡×2成「最近错题」列表segment高亮「错题本」副标题"错题归因,逐个击破"
3. 40:100 申论态:删模块/时长/开始/错题本概览→申论入口+复制旧6:185评分卡(四维)+习作列表+新增「写一篇」按钮(41:1)segment高亮「申论」副标题"申论写作与智能评分"
- 删除旧三独立页4:128刷题-模块选择 / 6:16错题本-归因 / 6:185申论辅助内容已被面板吸收
- 承接关系申论段「写一篇」→12:63写作编辑器错题卡AI讲解→9:96开始刷题→9:1
- 关键教训:
1. 用C()跨帧复制带绝对定位的容器后需改layoutPositioning:"AUTO"+width:"fill_container"+去父容器重复padding否则OUTSIDE_PARENT裁剪
2. 复制结构的子节点ID会自动重建不能用原ID更新需重新batch_read副本结构
3. segment高亮切换=改段容器fills为"$3:6"+文字变白,三个段逐一处理
- 设计稿现 18 页(移动端 16 + 桌面端 2+ TabBar组件
## TabBar 高亮修正2026-08-25 18:00 完成)
- 问题用户指出产出的刷题tab截图「tab组件同时两个tab高亮」——底部TabBar同时点亮「首页」+「刷题」
- 根因:刷题三帧(37:78/40:10/40:109)是复制旧「刷题-模块选择」页而来旧页本身TabBar就误高亮了「首页」复制后缺陷被带进三帧要闻页(36:12)同样误高亮「首页」+「要闻」
- 修复把误高亮的「首页」tab(容器fills改透明黑opacity0 + 图标Vector改灰#9C9CAF + 文字改灰#6B7280)只留当前tab高亮
- 全局核查11个TabBar实例高亮首页(5:22)→首页✓;刷题三帧→刷题✓;要闻(36:12)→要闻✓;模考分析(6:184)→分析✓;备考计划(6:303)→首页(有意映射);我的(28:93)→我的✓空状态3页→首页✓
- 关键教训复制带TabBar的页面必须逐一核对高亮误高亮会随副本传播高亮状态是「容器fills:$3:6(主色)+图标文字白色」,未选中是「容器透明+图标灰#9C9CAF+文字灰#6B7280
## 画布排布整理 + PC端原型同步2026-08-25 18:16 完成)
- 背景:用户要求「整理一下画布排布。然后 pc 端原型同步一下」
- 任务1 画布排布:原 18 页横排 x=0~9310 杂乱,按逻辑分区重排为 4 排:
- 第一排主tab页, y=0首页(0) → 刷题三帧(470/940/1410) → 要闻(1880) → 分析(2350) → 计划(2820) → 我的(3290),对应 TabBar 5 tab 顺序刷题用3帧体现切换
- 第二排(二级页, y=944作答(0)→结果(470)→AI讲解(940)→错题详情(1410)→模考录入(1880)→申论编辑(2350)→周报(2820)
- 第三排(桌面端, y=1888题库录入(0)→数据中枢(2360)
- 第四排(空状态+组件, y=3028空状态错题本(0)/模考分析(470)/计划(940) + TabBar组件(1880)
- 无重叠,分组逻辑清晰
- 任务2 PC端同步桌面侧边栏导航组1 原为「数据中枢/刷题/错题本/模考分析/申论/备考计划」6项与移动端重构后的5 tab首页/刷题[含错题本+申论]/要闻/分析/我的)不一致
- 删除独立「错题本」(6:320)「申论」(6:328)导航项——已并入刷题
- 「刷题」改名为「刷题中心」(6:319)
- 补充「要闻」(41:3)、「我的」(41:7)导航项与移动端5 tab对齐
- 修正「数据中枢」误高亮(非当前页,容器转透明+图标文字转灰)
- 验证截图:刷题帧/申论帧/TabBar高亮/桌面两页均正常,无布局问题
- 关键教训C()复制导航项后子节点ID重建需重新batch_read副本结构拿新ID再改文字如要闻=41:5、我的=41:9

View File

@ -0,0 +1,156 @@
# 2026-08-26 工作日志
## Ardot 画布 - 备考中枢高保真原型(继续)
### 本轮完成:桌面端 7 个缺页补齐
- 背景:桌面端侧边栏 9 个导航项,此前仅 2 页有真实页面。用户确认「全套补齐」。
- 采用「复制壳 + 改高亮/页头 + 删旧内容 + 新建内容」的可复用翻页流程,保持视觉一致。
### 新建桌面页Ardot 文件 718570750880145
| 页面 | 节点 | x 坐标 | 内容要点 |
|---|---|---|---|
| 桌面-刷题中心 | 44:1 | 3900 | 5模块卡+碎片组卷时长+CTA |
| 桌面-模考分析 | 45:40 | 5460 | 3 KPI + 趋势SVG折线 + 历次模考列表 |
| 桌面-备考计划 | 45:176 | 7020 | 4 KPI + 今日任务 + 周计划 |
| 桌面-要闻 | 45:307 | 7780 | 置顶公告渐变卡 + 分类筛选 + 3文章卡 |
| 桌面-我的 | 45:446 | 8540 | 个人卡 + 数据与设置2列 + 备考概览4统计 |
| 桌面-数据导入 | 45:585 | 10060 | 导入/导出/多端同步三卡 |
| 桌面-设置 | 45:713 | 11580 | 偏好设置 + 通知与数据 双列设置卡 |
- 9 个桌面页完整排布:题库录入 x0 → 数据中枢 x2360 → 刷题中心 x3900 → 模考分析 x5460 → 备考计划 x7020 → 要闻 x7780 → 我的 x8540 → 数据导入 x10060 → 设置 x11580。
### 关键经验(可复用)
1. **复制壳翻页**`C()` 复制后子节点 ID 重建,必须先 read 再 update导航高亮需同时改 container plus icon plus text 三处。
2. **`for` 循环在 batch_edit 不生效**:会整行跳过,必须逐个显式写操作。
3. **fill_container 在 hug_contents 父容器会解析成固定值**,导致另一列塌成 1px需手动设固定宽如 568px
4. **SVG 注入易报 degenerate geometry**:改用 frame 填充 + 文本符号图标(⇪⇩↻)。
5. **颜色用 `$3:N` 变量引用**;中文 Sarasa Gothic SC数字 Inter。
### 设计规范沿用
- 页面 1440×900画布 bg $3:3侧边栏 220px 白 + border主区 padding 32/24 gap 20卡片 $3:4 + borderSubtle stroke + 圆角16导航高亮 = 容器 $3:6 + 图标/文字白。
### 本批修改(用户反馈驱动)
- **数据中枢补侧边栏**`C()` 题库录入侧边栏进 6:435高亮改「数据中枢」删「数据导入导出」项`M(...,0)` 移到左侧。因 horizontal flexbox 子节点 x 被忽略,只认顺序。
- **刷题中心补齐三态**:新增分段切换(刷题/错题本/申论44px, 圆角22三等高段选中 `$3:6`)。三态独立成帧——
- 刷题态 44:1原帧补分段切换
- 错题本态 48:8x13120副标题「错题归因逐个击破」错因分布卡(3行) + 最近错题2卡
- 申论态 48:170x14660副标题「申论写作与智能评分」评分卡(四维) + 写一篇 + 历史习作2卡
- **删除数据导入导出页**:删 45:585从全部桌面页侧边栏删「数据导入导出」导航项6:341, 44:18, 45:57/194/325/467/730, 48:26/189。导航组2 现统一为 题库管理 → 设置。
- 验证6:435 / 44:1 / 48:8 / 48:170 / 45:40 / 45:176 / 45:307 / 45:446 / 45:713 / 6:304 均截图通过,无「数据导入导出」残留。
### 用户反馈:刷题中心去掉页内 tab改为侧边栏二级子菜单
- **需求**`pc端的刷题中心不需要做成tab了拆成三个二级子菜单吧`
- **实现**
1. 建可复用组件「刷题中心子菜单 组件」(51:1):父项「刷题中心」头行(icon+文字+展开箭头 chevron) + 3 个二级子项(刷题/错题本/申论,左缩进 36px高32 圆角8)。父项高40。
2. 在全部 10 个桌面页侧边栏,把原单个「刷题中心」导航项替换为该组件实例(`D()` 旧项 + `I(ref:51:1)` + `M(...,1)` 移到 index1 数据中枢之后 + `U width:fill_container`)。
3. 高亮态:当前页所属子项填充 `$3:6` + 文字白;父项「刷题中心」标题文字也置 `$3:6` 以示激活。中性页(非刷题三态)无子项高亮。
- 刷题态 44:1 → 高亮「刷题」;错题本态 48:8 → 高亮「错题本」;申论态 48:170 → 高亮「申论」。
4. 删除三页页内分段切换控件48:1 / 48:15 / 48:177。
- **关键坑**:给组件实例子节点设属性必须用实例路径 `51:23;51:10`(单分号),不能把 binding 名与 `;x` 拼接成 `a1+";51:10"`(会解析成 `51:23;;51:10` 双分号而跳过)。
- 验证44:1 / 48:8 / 48:170 / 6:435 / 45:40 截图通过;全部 10 页导出 PNG + PDF 概览已更新到 deliverables/prototype/。
### 用户反馈:侧边栏整体做成组件(与 TabBar 对齐)
- **需求**:用户质疑为何只做「刷题中心子菜单」组件而非整个菜单组件,并要求对齐 TabBar 的标准——把整个侧边栏做成一个组件,用实例覆盖高亮项驱动。
- **实现**
1. 建可复用组件「侧边栏 组件」(52:1):完整包含 Logo区(徽标+备考中枢)、导航组1数据中枢/刷题中心+内嵌51:1子菜单/模考分析/备考计划/要闻/我的、导航组2题库管理/设置)。全部图标用 SVG 重绘统一风格grid/文档/宝箱/日历/新闻/人像/题库/齿轮),颜色 `#6B7280`
2. 替换全部 10 个桌面页侧边栏:`D()` 旧侧边栏帧 + `I(ref:52:1)` + `M(...,0)` 移到 index0horizontal 布局靠左)。实例 ID52:48题库录入 / 52:49数据中枢 / 52:50刷题态 / 52:51模考 / 52:52备考 / 52:53要闻 / 52:54我的 / 52:55设置 / 52:56错题本态 / 52:57申论态。
3. 高亮通过**三级实例路径**覆写:导航组项 `52:4X;52:N`(容器/图标/文字),刷题子菜单项 `52:4X;52:16;51:Y`父标题51:7、刷题51:10/11、错题本51:12/13、申论51:14/15
4. 中性页高亮数据中枢→52:49;52:9/10/15模考→52:51;52:17/18/21备考→52:52;52:22/23/26要闻→52:53;52:27/28/31我的→52:54;52:32/33/36设置→52:55;52:43/44/47题库录入→52:48;52:38/39/42。
- **关键坑**:删除侧边栏后实例默认落到 x:1220horizontal 布局末尾),必须 `M(...,0)` 移到 index0 才能靠左;实例高度需保持 `hug_contents`
- 验证:全部 10 页截图通过6:435/44:1/48:8/48:170/45:40/45:176/45:307/45:446/45:713/6:304交付物 PNG + PDF 已更新。
### 用户反馈:删除独立的「刷题中心子菜单」组件(51:1)
- **需求**`之前那个子菜单组件删掉`。即删掉此前独立散落在画布(x:16200)上的「刷题中心子菜单 组件」(51:1)。
- **前置核实**51:1 被侧边栏组件(52:1)内嵌引用实例52:16直接删会连带 10 个页面侧边栏里的子菜单全散架。故先物化。
- **实现**
1. **物化**:删掉 52:16 实例在侧边栏组件导航组1 内重建结构相同的自包含普通 frame(52:58 刷题中心子菜单 + 52:59 头行/52:64标题/52:67刷题/52:69错题本/52:71申论)。侧边栏组件从此完全自包含。
2. **重覆写三态高亮**:物化后原 `52:4X;52:16;51:Y` 实例路径失效,改用新 frame 路径:
- 刷题态52:50 → 52:50;52:67/68/64错题本态52:56 → 52:56;52:69/70/64申论态52:57 → 52:57;52:71/72/64。
3. 确认侧边栏组件无 INSTANCE 引用 51:1 后,`D("51:1")` 安全删除。
- **关键坑**:删除组件前必须检查是否被其他组件/页面以实例方式引用被引用的要先物化instance→普通结构再删。物化后实例路径会变需重新读结构再覆写。
- 验证侧边栏组件52:1 及三态页(44:1/48:8/48:170)截图通过PDF 概览已更新。
### 本轮:原型精修(逐项排查 + 自动补齐内容密度 + 修复移动端裁剪)
用户明确要求「逐项排查 + 动手精修」,选择「自动补齐内容密度 + 一并修复移动端问题」。
#### 已解决的空白密度问题
| 页面 | 节点 | 空白(原) | 补充内容 |
|---|---|---|---|
| 桌面-数据中枢 6:435 | 左栏 | - | 补「模块掌握度」卡:5 模块进度条(言语82%/数量58%/判断71%/资料75%/常识65%) `52:73~52:102` |
| 桌面-设置 45:713 | 71% | - | 补「数据管理」区3行 + 「关于与版本」卡 `52:103~52:129`,空白 71%→26% |
| 桌面-刷题中心 44:1 | 错题归因区 | - | 重建为「错因分布全宽卡(审题24%/计算21%/公式18%/思路15%/遗忘13%) + 待复习&推荐动作两卡并排」`52:182~52:233`(首次建三卡堆叠 → 删除重建)|
| 桌面-要闻 45:307 | 31% | 补 2 条文章卡(申论大纲/基层治理) `59:113~59:126` |
| 桌面-我的 45:446 | 43% | 补「备考里程碑」4徽章卡 + 「学习建议」条 `59:54~59:112`,空白 43%→23% |
#### 已解决的移动端裁剪/空白
| 页面 | 节点 | 问题 | 处理 |
|---|---|---|---|
| 移动首页 4:24 | 最近模考区 | 内容850px>视口844TabBar(y724)遮住最近模考卡45px | 全面压缩 padding/gap( Hero 20→12, 错题卡20→10, 快捷入口76→72, 模考卡gap8→4),内容 850→722px完整收在 TabBar 上方 |
| 移动-备考计划 6:244 | 18%空白 | - | 补「明日预告」卡(2任务行+徽标) `59:1~59:20`,绝对定位 y569 |
| 移动-我的 28:12 | 16%空白 | - | 补「偏好设置」卡(外观主题/学习提醒/隐私设置 3行) `59:21~59:52`,绝对定位 y587去卡头行高45 |
#### 关键坑(新增)
1. **SVG 长条/旗类 path 易解析失败**flag(banner)多次报 degenerate geometry`<circle>`/常规 stroke 图标成功。改为靶心/星形等规整闭合图形最稳。
2. **移动端多卡页面是 absPosition 而非 flow**:新插卡直接进父容器会落到 flow 首位(y117),需 `layoutPositioning:"ABSOLUTE"` + x/y 手动定位。
3. **SVG 图标帧 + 文本不可用 emoji**:徽章图标用 frame 嵌 SVG文字色 `#FFFFFF` 不能写 `white`
4. **fill_container 失效**:折线图所在父容器 layout:none画布高必须给明确像素(如 560px)而非 fill_container。
#### 验证
- 截图通过4:24(首页完整无遮挡) / 6:244(明日预告) / 28:12(偏好设置) / 45:307(5文章卡) / 45:446(里程碑+建议) / 6:435 / 45:713 / 44:1 / 45:40(折线铺满)。
- 所有修改页 problemsOnly 布局检查通过,无 OUTSIDE_PARENT / LARGE_EMPTY_AREA 残留45:446 剩余 128px 留白属正常页脚留白)。
### 用户本轮要求:删除所有「数据导入/导出/备份/还原」操作内容
- 用户明确「将原型中所有有关数据导入导出备份还原等操作的内容全部删除」。
#### 已删除3 处页面)
| 页面 | 节点 | 删除内容 |
|---|---|---|
| 桌面-设置 45:713 | - | 数据管理区(数据导出/还原/跨平台/Docker数据目录) `52:103~52:105` + 重置数据按钮 `45:758` + 通知卡「数据自动备份」行 `45:816`;通知卡标题「通知与数据」→「通知」 `45:809` |
| 桌面-我的 45:446 | 45:553 数据与设置卡 | 数据导出 `45:557` / 数据还原 `45:560` / 跨平台录入 `45:563`,保留目标设置 `45:566`;卡名「数据与设置卡」→「设置卡」,标题「数据与设置」→「设置」 `45:555` |
| 移动-我的 28:12 | 28:37 数据管理卡 | 数据导出 `28:40` / 数据还原 `28:50` / 跨平台录入 `28:60` / Docker数据目录 `28:73` + 3分隔线卡头「数据管理」→「设置」 `28:39`,卡名「数据管理卡」→「设置卡`28:37`;偏好设置卡 `59:21` 上移 y587→384 消除断层 |
#### 甄别原则(关键,防误删)
- **名字是「导入真题」但实际是功能按钮**:订阅推送/自定义组卷/周报复盘/编辑资料/错题重做/历年真题/导出报告/导出PDF。全是通过组件复用遗留的命名**不能按 name 删**,必须按 characters 实际文本甄别。
- **保留(非数据操作)**导出PDF(周报复告)/导出报告(模考报告) = 功能报告导出;导入真题 = 题库资源导入;模考成绩录入 = 录入考试分数(业务数据);关于卡副标题「数据归你所有」= 品牌定位口号,非操作。
#### 结果
- 3 处页面均无数据操作残留,截图验证通过(移动-我的 28:12 个人卡+设置卡+偏好设置卡紧凑无断层;桌面-设置 45:713 偏好设置+通知+关于;桌面-我的 45:446 设置卡仅剩目标设置)。
- 桌面-设置截图偶发 1-bit 空图,为渲染服务临时问题,重截图即恢复 8-bit 正常图。
### 本轮:画布整体重新排布(网格化)
- 用户要求「把画布整体重新排布一下」,原坐标零散(移动端散在 y=0/944/3028桌面端散在 y=0/1888组件混排)。
#### 最终网格
- **移动端(390×844)在上方**,行距 100列距 60
- 第1行 y0首页4:24/刷题36:13/切错题本40:1/切申论40:100/要闻35:8/模考6:94/计划6:244/我的28:12 (x:0/450/900/1350/1800/2250/2700/3150)
- 第2行 y944作答9:1/结果9:49/AI讲解9:96/错题详情12:1/模考录入11:28/申论编辑12:63/周报13:1 (x:0/450/900/1350/1800/2250/2700)
- 第3行 y1888空错题29:1/空模考29:25/空计划29:49/TabBar组件4:23 (x:0/450/900/1350)
- **桌面端(1440×900)在下方**,统一 y2832列距 60题库录入6:304/数据中枢6:435/刷题中心44:1/模考45:40/备考计划45:176/要闻45:307/我的45:446/设置45:713/刷题中心错题态48:8/刷题中心申论态48:170/侧边栏组件52:1 (x:0/1500/3000/4500/6000/7500/9000/10500/12000/13500/15000)
#### 关键经验
1. **只动顶层帧 x/y不改内部**:重排仅调整 21 个顶层节点的 x/y页面内部结构/内容零改动,避免破坏已编号节点引用。
2. **行距统一 100 / 列距统一 60**:移动端行 y=0→944→1888→2832桌面全部 y=2832列 x 递增 450(移动)/1500(桌面),帧间留 60px 呼吸空间。
3. **组件归入所属设备区**TabBar组件4:23 归移动端第3行末尾侧边栏组件52:1 归桌面端末尾。
4. **验证**:截取移动首页/桌面数据中枢/桌面题库录入 3 处确认新坐标渲染正常(8-bit 有效图),仅位置移动内容不变。
### 本轮:版本定稿固化
- 用户确认「差不多了,这个版本可以固化了」。
- **交付动作**
- 按最新状态统一重新导出全部 28 页高清图(2x)到 deliverables/prototype/,覆盖此前 12:48 的初版图。
- 清理过渡命名冗余图(精修/删除数据管理 8 张)。
- 重新生成合并 PDF 概览「备考中枢-全页概览-20260826.pdf」(4MB含全部页面)。
- 新增「版本说明-备考中枢-20260826.md」记录版本范围/关键变更/设计规范/交付清单。
- **最终交付物清单**:桌面 10 PNG + 移动 18 PNG + 1 合并 PDF + 1 版本说明。
- 抽验移动-我的(个人卡+设置卡+偏好设置卡,无数据操作) 与 桌面-设置(偏好+通知+关于,数据区已删) 确认定稿状态正确。
### 本轮:设计规范文档 + 令牌可视化
- 用户要求「光看图不够直观,设计规范和配色等细节也得提供」。
- **数据来源(真实提取,非臆造)**
- `fetch_variables` 提取 Color 变量集(3:2)16 个语义色变量bgCanvas #F7F6F2 / bgCard #FFF / bgSoft #EFEFF5 / primary #2B4C8F / primaryDeep #1B2D5B / primaryBright #3A6BD8 / textPrimary #1A1F2E / textSecondary #6B7280 / textMuted #9CA2AD / borderSubtle #E8E6E0 / success #1B9266 / warning #DC9A1E / danger #D14C55 + 3 浅底(successSoft/warningSoft/dangerSoft)。
- `get_available_fonts` 确认中文 Sarasa Gothic SC / 数字英文 Inter。
- 读取 6:437/6:448/6:465 实测排印层级H1 24px Bold、数据大字 22px Bold(Inter)、卡标题 15px SemiBold、标签 12px、副标题 13px、趋势指数 11px Medium。
- **交付**
- `design-token 设计规范-备考中枢-20260826.md`:完整设计系统文档(理念/色彩/排印/CSS变量/圆角阴影/组件/间距/图标/动效)。
- show_widget 生成色板+排印可视化图(真实 token)。
- **经验**:设计规范不能凭空写,必须用 `fetch_variables`+`batch_read` 从画布真实读取变量与字号校准,才与实际原型一致。

View File

@ -0,0 +1,19 @@
# 项目长期约定 - gwy-exam
## 工作目录
- **默认工作目录:`~/study/gwy-exam`**
- 所有新产出、日志、deliverables 均在 `~/study/gwy-exam` 下进行。
## 项目内容
- 「备考中枢」国考/公务员备考工具:桌面端 + 移动端双端原型 / 设计规范 / PRD。
- 关键交付物在 `deliverables/`
- `prototype/`:桌面 PNG含刷题中心/申论/错题本/备考计划/我的/数据中枢/模考分析/要闻/设置/题库录入)+ 移动 PNG + 合并 PDF「备考中枢-全页概览」。
- `product-strategy/prd-gwy-exam-tool-2026-08-25.md`PRD。
- `版本说明-备考中枢-20260826.md``设计规范-备考中枢-20260826.md`
## 设计规范要点(真实 token
- 语义色bgCanvas #F7F6F2 / bgCard #FFF / bgSoft #EFEFF5 / primary #2B4C8F / primaryDeep #1B2D5B / primaryBright #3A6BD8 / text#1A1F2E / textSecondary #6B7280 / textMuted #9CA2AD / borderSubtle #E8E6E0 / success #1B9266 / warning #DC9A1E / danger #D14C55
- 字体:中文 Sarasa Gothic SC数字英文 Inter。排印H1 24px Bold、数据大字 22px Bold(Inter)、卡标题 15px SemiBold、标签 12px、副标 13px、趋势指数 11px Medium。
## 方法经验
- 设计规范必须用 `fetch_variables`+`batch_read` 从画布真实读取变量与字号校准,不能凭空写。

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -0,0 +1,56 @@
# 备考中枢 · 公务员考试备考工具 — 定稿版本说明
- **版本定稿日期**2026-08-26
- **设计文件**Ardot 文件 `718570750880145`(备考中枢-公务员考试备考工具)
- **交付物路径**`deliverables/prototype/`
---
## 一、本版本范围
覆盖完整的桌面端1440×900+ 移动端390×844双端高保真原型**28 个页面** + 2 个可复用组件TabBar、侧边栏
### 桌面端10 页)
题库录入 · 数据中枢 · 刷题中心(刷题态/错题本态/申论态) · 模考分析 · 备考计划 · 要闻 · 我的 · 设置
### 移动端18 页)
首页 · 刷题(行测Tab/错题本/申论) · 要闻 · 模考分析 · 备考计划 · 我的
刷题-作答页 · 刷题-结果页 · 刷题-AI讲解 · 错题详情 · 模考成绩录入 · 申论写作 · 周报复盘
空状态-错题本 · 空状态-模考分析 · 空状态-计划
---
## 二、本轮关键变更
1. **画布整编(网格化重排)**
- 移动端在上,桌面端在下;行距统一 100、列距统一 60组件归入所属设备区。
- 全部页面仅调整顶层坐标,内部结构与节点引用零改动。
2. **删除数据操作类内容**(数据导入/导出/备份/还原等)
- 桌面-设置:删除数据管理区、重置数据按钮、数据自动备份行,通知卡标题「通知与数据」→「通知」。
- 桌面-我的:删除数据导出/还原/跨平台录入,仅保留目标设置。
- 移动-我的:删除数据导出/还原/跨平台录入/Docker 数据目录,设置卡保留目标分数设置。
- 甄别原则:只删真正的数据操作,「导出 PDF/导出报告/导入真题/模考成绩录入」等业务功能入口全部保留。
3. **内容密度补齐 + 移动端裁剪修复**(前序已固化)
- 移动首页最近模考区完整收在 TabBar 上方;备考计划/我的底部补卡填满。
- 桌面要闻/我的/数据中枢等补内容密度。
---
## 三、设计规范
- 桌面页 1440×900侧边栏 220px移动页 390×844底部 TabBar。
- 卡片白底 + 浅描边 + 圆角 16主色深蓝中文 Sarasa Gothic SC数字 Inter。
- 颜色通过颜色变量引用($3:N
---
## 四、交付文件清单
| 文件 | 说明 |
|---|---|
| `备考中枢-全页概览-20260826.pdf` | 全部 28 页合并概览(推荐快速浏览) |
| `桌面-*.png`10 张) | 桌面端各页面高清图2x |
| `移动-*.png`18 张) | 移动端各页面高清图2x |
所有图片均为 2x 高清导出,可直接用于评审、演示或交付。

View File

@ -0,0 +1,235 @@
# 备考中枢 · 设计规范Design System
> 版本 v1.0 · 2026-08-26
> 适用:公务员考试备考工具「备考中枢」双端高保真原型(桌面 1440×900 / 移动 390×844
> 依据Ardot 文件 `718570750880145` 中的真实颜色变量与排印数值校准,非凭空编写。
---
## 1. 设计理念
- **沉稳专业,克制清晰**。深蓝主色传达「备考、专注、可信」的调性,浅米色画布带来温和舒展的阅读体验。
- **信息架构双端一致**:桌面端左侧导航 + 主内容;移动端底部 TabBar + 卡片流。两端遵循同一套色彩与组件规范。
- **数据可视化友好**:所有统计/进度/趋势使用统一的数值字体Inter Bold与语义色突出关键数字。
---
## 2. 色彩系统Color Tokens
> 所有颜色已定义为 Ardot 颜色变量 `$3:N`,前端可直接映射为 CSS 变量。
### 2.1 中性底色
| 变量 | 名称 | 色值 | 用途 |
|---|---|---|---|
| `$3:3` | bgCanvas | `#F7F6F2` | 画布/页面背景(浅米白) |
| `$3:4` | bgCard | `#FFFFFF` | 卡片/面板背景 |
| `$3:5` | bgSoft | `#EFEFF5` | 图标底、次级填充、标签底色 |
| `$3:12` | borderSubtle | `#E8E6E0` | 卡片描边、分隔线(中性浅暖) |
### 2.2 品牌主色(深蓝系)
| 变量 | 名称 | 色值 | 用途 |
|---|---|---|---|
| `$3:6` | primary | `#2B4C8F` | 主按钮、主色、选中态高亮底 |
| `$3:7` | primaryDeep | `#1B2D5B` | 渐变深端、页面主标题强调、深色 hero |
| `$3:8` | primaryBright | `#3A6BD8` | 渐变亮端、hero 卡片、active 图标 |
> 渐变使用:`primaryDeep(#1B2D5B) → primaryBright(#3A6BD8)``primary(#2B4C8F) → primaryDeep(#1B2D5B)`
### 2.3 文字色
| 变量 | 名称 | 色值 | 用途 |
|---|---|---|---|
| `$3:9` | textPrimary | `#1A1F2E` | 主标题、正文主色 |
| `$3:10` | textSecondary | `#6B7280` | 副标题、描述文字 |
| `$3:11` | textMuted | `#9CA2AD` | 弱提示、占位、次要标记 |
### 2.4 语义色(状态反馈)
| 变量 | 名称 | 色值 | 用途 |
|---|---|---|---|
| `$3:13` | success | `#1B9266` | 正向趋势、正确率、达标 |
| `$3:14` | successSoft | `#E0F5EB` | 正向标签底、打卡徽章底 |
| `$3:15` | warning | `#DC9A1E` | 提醒、中等状态 |
| `$3:16` | warningSoft | `#FEF0D1` | 提醒标签底 |
| `$3:17` | danger | `#D14C55` | 负向、错误、待复习错题数 |
| `$3:18` | dangerSoft | `#FCE5E7` | 危险标签底、错误提示底 |
> **应用原则**:语义色以「主色 + 浅底」成对出现(如 success 文字/图标 + successSoft 底),用于徽章、进度、趋势,保证状态一目了然。
---
## 3. 字体排印Typography
### 3.1 字体族
| 用途 | 字体 | 说明 |
|---|---|---|
| 中文 | `Sarasa Gothic SC` | 正文、标题、标签全中文场景 |
| 数字/英文 | `Inter` | 统计数字、时间、单价、代码标识 |
### 3.2 字重规范(数值映射)
| 语义 | 字重 | 说明 |
|---|---|---|
| Regular | `400` | 正文、描述 |
| Medium | `500` | 次要强调 |
| Semi Bold | `600` | 按钮、标签、小标题 |
| Bold | `700` | 页面标题、数据大字 |
> 设计工具中字体 style 与 CSS 字重映射见下表。
### 3.3 字号层级(桌面端实测校准)
| 层级 | 字号 | 字重 | 字体 | 颜色 | 用途 |
|---|---|---|---|---|---|
| H1 页面标题 | 24px | Bold(700) | Sarasa | textPrimary | 页面主标题 |
| 卡标题 | 15px | SemiBold(600) | Sarasa | textPrimary | 区块/卡片标题 |
| 数据大字 | 22px | Bold(700) | **Inter** | textPrimary/语义色 | 统计数字核心值 |
| 标签 | 12px | Regular(400)/SemiBold | Sarasa | textSecondary | 字段名、标签 |
| 副标题 | 13px | Regular(400) | Sarasa | textSecondary | 页面副文案、表头摘要 |
| 按钮文字 | 13px | SemiBold(600) | Sarasa | 白/主 | 主次按钮 |
| 趋势指数 | 11px | Medium(500) | Sarasa | success/danger | 涨跌、占比标注 |
### 3.4 行高
- 大标题/数据:`1.2`(紧凑,突出数值)
- 正文/描述:`1.5`(舒朗易读)
- 标签/小字:`1.4`
---
## 4. 主题色板速查(前端 CSS 变量)
```css
:root {
/* 背景 */
--bg-canvas: #F7F6F2;
--bg-card: #FFFFFF;
--bg-soft: #EFEFF5;
--bg-border: #E8E6E0;
/* 品牌 */
--primary: #2B4C8F;
--primary-deep: #1B2D5B;
--primary-bright: #3A6BD8;
/* 文字 */
--text-primary: #1A1F2E;
--text-secondary: #6B7280;
--text-muted: #9CA2AD;
/* 语义 */
--success: #1B9266;
--success-soft: #E0F5EB;
--warning: #DC9A1E;
--warning-soft: #FEF0D1;
--danger: #D14C55;
--danger-soft: #FCE5E7;
/* 字体 */
--font-sans: "Sarasa Gothic SC", "PingFang SC", sans-serif;
--font-num: "Inter", "SF Pro", sans-serif;
/* 圆角 */
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 16px;
--radius-xl: 24px;
--radius-pill: 999px;
}
```
---
## 5. 圆角与阴影
### 5.1 圆角层级
| Token | 值 | 用途 |
|---|---|---|
| radius-sm | 8px | 图标底、小徽章、输入框内元素 |
| radius-md | 12px | 次级卡、分段切换、标签 |
| radius-lg | 16px | 标准卡片(默认) |
| radius-xl | 24px | Hero 渐变大卡 |
| radius-pill | 999px | 头像、胶囊按钮、天数徽章 |
### 5.2 阴影
| 层级 | 值 | 用途 |
|---|---|---|
| level-0 | 无 | 平面卡片(默认) |
| level-1 | `0 1px 2px rgba(0,0,0,0.04)` | 悬浮态轻投影 |
| level-2 | `0 4px 12px rgba(27,45,91,0.08)` | 弹层、浮起卡片、TabBar |
| level-3 | `0 8px 24px rgba(27,45,91,0.14)` | 模态、下拉菜单 |
> 本项目默认以「白底 + 细描边(borderSubtle)」表达卡片,不用重阴影,保持干净克制的风格。
---
## 6. 组件规范
### 6.1 卡片Card
- 背景 `bgCard(#FFF)`,描边 `borderSubtle` 1px圆角 16pxradius-lg
- 内边距:桌面 `24px`,移动 `16px`
- 卡片间距:桌面 `20px`,移动 `12px`
### 6.2 按钮Button
| 类型 | 底色 | 文字 | 圆角 | 高度 |
|---|---|---|---|---|
| 主按钮 | primary(#2B4C8F) | #FFF | 10px | 40px |
| 次按钮 | 透明 + primary 描边 | primary | 10px | 40px |
| 胶囊 | primary | #FFF | pill | 44px |
### 6.3 徽章 / 标签Badge
- `successSoft`/`warningSoft`/`dangerSoft` 底 + 对应语义色文字,圆角 pill 或 8px字号 12px。
- 例打卡徽章successSoft + success、待复习红点dangerSoft
### 6.4 进度条 / 模块掌握度
- 轨道 `bgSoft`,填充 `primary(#2B4C8F)` 或语义色(达标 success / 待提升 warning
- 高度 6-8px圆角 pill。
### 6.5 侧边栏(桌面)
- 宽 220px白底 `bgCard` + 右侧 borderSubtle导航项高 40px圆角 10px。
- 高亮态:容器 `primary` 底 + 图标/文字白;展开子菜单缩进 36px。
### 6.6 TabBar移动
- 高 120px含上下 padding 21px胶囊底 `bgCard` 描边;选中项 `primary` 圆角胶囊,未选中灰。
---
## 7. 间距与布局规范
### 7.1 间距刻度
`4 / 8 / 12 / 16 / 20 / 24 / 32`(基于 4px 网格)。
### 7.2 栅格
- 桌面:内容主区宽 1220px左右 padding 32px列间距 16-24px。
- 移动:左右 padding 24px卡片宽 342px卡片间距 12px。
### 7.3 画布节点间距(原型排布)
- 行距 100 / 列距 60仅用于画布排布非页面内布局
---
## 8. 图标规范
- **一律使用线性矢量图标**stroke 1.5-2px尺寸 20-28px颜色 `textSecondary(#6B7280)`;选中/高亮态换 `primary` 或白。
- 图标不能替代关键文字,文字标签始终保留(可识别性优先)。
- 数据图表图标(折线/柱状)用规整闭合 SVG 图形,避免长条/旗类 path 解析出错。
---
## 9. 动效约定(建议)
- 按钮 hover背景透明度 0.08 过渡 120ms。
- 卡片 hoverlevel-1 投影 160ms。
- 切换/展开250ms ease位移 8-12px 渐显。
- 移动端 Tab 切换:淡入 200ms。
---
## 10. 落地注意事项
1. 所有颜色引用设计变量,禁止硬编码;换肤(浅/深)时仅需替换 token。
2. 数据大字必须用 Inter Bold与中文正文区分保证数字层级清晰。
3. 语义色成对出现(主色 + 浅底),状态反馈不依赖单一颜色。
4. 两端组件复用同一套 token保证一致性。