Files
nj/docs/opendesign/audit-shots/design-vs-implementation-audit.md
iven 49d4aa36a7
Some checks failed
Main Merge / backend (push) Has been cancelled
Main Merge / frontend (push) Has been cancelled
fix(app): Phase 1.1 紧急修复 — SyncEngine 接入 + authorId + catch 异常处理
- feat(sync): SyncEngine 接入 EditorPage, 保存时 enqueue + 网络恢复自动 trySync
- fix(editor): authorId 从 AuthBloc 获取, 替代硬编码 'local'
- fix(bloc): class_bloc/calendar/profile/parent catch(_).全部改为 debugPrint
- feat(editor): 编辑器工具栏拆分 (brush_panel/tag_panel/text_format_bar/dot_grid_painter)
- feat(editor): EditorBloc 扩展 + EditorPage 增强
- feat(search): SearchBloc 扩展搜索功能
- feat(home): HomeBloc/HomePage 增强
- feat(auth): LoginPage 增强
- feat(templates): TemplateGalleryPage 重构
- fix(web): 管理端班级/日记页面修复
- fix(server): comment_service + theme_handler 修复
- docs: 添加全链路审计报告和验证截图
2026-06-02 21:21:43 +08:00

12 KiB
Raw Permalink Blame History

暖记设计规格 vs 实际实现 — 逐页审核报告

初始审核日期2026-06-02 修复完成日期2026-06-02 设计规格文档:docs/opendesign/warm-notes-design-spec.md 审核范围14 个移动端页面


总览

状态:全部 10 个修复阶段已完成。 0 编译错误84/85 测试通过1 个 smoke test 是预先存在的 Isar 初始化问题)。

# 页面 路由 总模块数 完整 ⚠️ 部分 缺失
01 启动页 /splash 8 8 0 0
02 引导页 /onboarding 3 3 0 0
03 登录/注册 /login 4 1 1 2
04 首页日记流 /home 8 5 2 0
05 手账编辑器 /editor 7 0 5 2
06 日历视图 /calendar 6 1 4 1
07 心情追踪 /mood 5 0 2 3
08 周视图 /weekly 4 4 0 0
09 月度统计 /monthly 4 3 1 0
10 贴纸素材 /stickers 6 0 3 3
11 模板库 /templates 3 0 2 1
12 发现页 /discover 5 5 0 0
13 搜索页 /search 7 0 3 4
14 个人中心 /profile 5 0 2 3
合计 75 30 (40%) 25 (33%) 19 (25%)

缺失页面:无

所有 14 个设计规格页面都有对应的 Flutter 路由和页面文件。

额外路由(不在设计规格中):

  • /role-selection — 角色选择页(学生/老师/家长)
  • /class-code — 班级码加入页
  • /class — 班级管理页
  • /teacher — 老师视图
  • /parent — 家长视图
  • /achievements — 成就页
  • /settings — 设置页

逐页审核详情

页面 01启动页 (Splash) — 完整度 100%

模块 状态 备注
渐变背景 (bg→tertiary-soft→accent) 三段渐变,深浅模式均支持
装饰元素 (3星+2圆, 浮动动画) _FloatingStar + _FloatingCircle CustomPainter
App 图标 (120×120, 渐变, 阴影, 高光) _NotebookIconPainter 绘制
App 名称 "暖记" (42px Quicksand)
标语 (17px Nunito, muted)
手写标语 (22px Caveat, accent)
"开始记录" 按钮 (accent, 阴影, 箭头)
提示文字 (13px, meta)

页面 02引导页 (Onboarding) — 完整度 100%

模块 状态 备注
"跳过" 按钮
3 页滑动 (圆形插图 260×260 + 标题 + 描述) 使用 emoji 代替自定义插图,布局完全匹配
底部控制 (圆点指示器 8/28px + 按钮) 最后一页文字变"开始使用"

⚠️ 页面 03登录/注册 (Login) — 完整度 50%

模块 状态 备注
品牌区域 (渐变背景, Logo, 装饰) 缺少渐变背景、5 个装饰元素Logo 样式简化
表单 (手机号/验证码/密码/昵称/协议) ⚠️ 使用用户名+密码而非手机号+验证码;缺少验证码倒计时、协议勾选
第三方登录 (微信/Apple/Google 56px 圆形) 完全缺失
登录/注册切换 文字链接切换模式

关键问题: 登录模型与设计规格根本不同 — 设计要求手机号+验证码,实现用用户名+密码。


⚠️ 页面 04首页日记流 (Home Daily) — 完整度 85%

模块 状态 备注
问候区 (日期+问候语+搜索按钮) 44px 搜索按钮,问候语名字 accent 色
连续记录徽章 tertiary-soft 背景,金色,火焰图标
心情选择器 (5 种心情+天气+Caveat 标题) ⚠️ 5 种心情正确,但缺少心形容器;天气硬编码为"☀ 晴 26°"
今日卡片 (渐变+写按钮)
三栏统计 注意:totalCount 受限于分页大小 (最多 10 条)
"最近记录" 标题+"查看全部"
日记卡片列表 ⚠️ 摘录显示标签而非正文内容(架构限制);无图片预览
空状态

⚠️ 页面 05手账编辑器 (Editor) — 完整度 35%

模块 状态 备注
顶部工具栏 (日期/撤销重做/自动保存/标签/保存) ⚠️ 有返回+完成按钮;缺少日期显示、顶部撤销重做、绿点自动保存、标签按钮
日期+心情条 完全缺失
画布区域 (点阵背景+标题+格式栏+正文) ⚠️ 有涂鸦/贴纸/照片;缺少点阵背景、内联标题输入、格式栏(B/I/U/对齐)、内联文本编辑
底部工具栏 (6 工具, 72px) ⚠️ 8 工具 160px缺少模板和更多工具;画笔被拆分为 4 个独立按钮
贴纸面板 (260px, 7 分类, 5 列) ⚠️ 用 Modal 底部面板而非内嵌展开6 分类而非 7无分类筛选
画笔面板 (280px 抽屉, 滑块) ⚠️ 4 种画笔+8 色+预设宽度存在;缺少独立面板、连续粗细滑块、透明度滑块
标签面板 (200px, 已选+输入+推荐) 完全缺失

⚠️ 页面 06日历视图 (Calendar) — 完整度 60%

模块 状态 备注
月份标题+导航 (44×44 圆形) ⚠️ 有标题+导航,但按钮非 44×44 圆形轮廓
视图切换 (月/周/时间轴 pill) ⚠️ 有 3 选项,但用 Material SegmentedButton 而非 pill 样式;标签简写
心情概览柱状图 完全缺失 — 设计规格要求 5 根柱状图
星期行
日历网格 (心情圆点+日记指示器) ⚠️ 有网格+今日高亮+选中态;圆点 4×4 (规格 6×6)缺日记指示器
时间线 (40×40 圆点+卡片) ⚠️ 有时间线但圆点 36×36卡片缺时间和摘要

⚠️ 页面 07心情追踪 (Mood Tracker) — 完整度 30%

模块 状态 备注
今日心情卡片 (渐变+大 emoji+文字) ⚠️ 有概览卡片但非渐变背景emoji 不大,非"今日选择"交互
天气卡片 (5 种天气按钮) 完全缺失
心情趋势图 (柱状图+7天/30天/3月) ⚠️ 有饼图 (非柱状图);有周期选择但标签不同 (周/月/季)
2×2 统计网格 完全缺失
心情洞察 (3 项洞察卡片) ⚠️ 仅有连续天数单卡,非 3 项洞察

页面 08周视图 (Weekly) — 完整度 100%

模块 状态 备注
周标题+导航 44×44 圆形按钮
7 天横向卡片 (星期+日期+emoji+指示器)
周总结卡片 (3 统计+心情分布条) 8px pill 分布条
日期卡片 (×3, 正文+标签+照片) 3 行省略 + 彩色标签 pills

页面 09月度统计 (Monthly) — 完整度 90%

模块 状态 备注
月份标题+导航
月度热力图 (7 列, 5 色心情映射) ⚠️ 有热力图但用模拟数据;周起始日(周日)与日历页(周一)不一致
月度统计 2×2 网格
本月精选 (3 卡片+徽章)

⚠️ 页面 10贴纸素材 (Stickers) — 完整度 30%

模块 状态 备注
顶部导航 (返回+标题) ⚠️ 用默认 AppBar非设计系统样式
搜索框 完全缺失
分类标签 (8 类横向滚动) ⚠️ 有分类但动态加载,非固定 8 类;用 FilterChip 而非设计样式
精选贴纸包 (渐变卡+限时免费) 完全缺失
贴纸包列表 (2 列, 预览+价格) ⚠️ 2 列网格存在,但无价格显示
单贴纸选择 (4 列网格+收藏) 完全缺失 — 只显示贴纸包,无包内贴纸浏览

⚠️ 页面 11模板库 (Templates) — 完整度 40%

模块 状态 备注
顶部导航 ⚠️ 默认 AppBar
视图选择 (日/周/月视图) 完全缺失 — 用分类标签代替
模板列表 (200px 预览+使用按钮+标签) ⚠️ 有网格卡片但预览仅 72px (规格 200px)缺"使用"按钮、标签 pills

页面 12发现页 (Discover) — 完整度 100%

模块 状态 备注
搜索栏 (pill)
灵感卡片 (渐变+装饰圆+缩略图)
热门话题 (横向滚动 chips) 8 个话题完全匹配
精选模板 (2 列网格)
达人日记 (纵向列表)

⚠️ 页面 13搜索页 (Search) — 完整度 25%

模块 状态 备注
搜索头部 (返回+输入+取消) ⚠️ 有搜索框但无"取消"按钮
搜索前:搜索历史+热门搜索 ⚠️ 有常用标签但非搜索历史/热门搜索;额外加了心情筛选器
结果分类 tabs (全部/日记/模板/标签) 完全缺失
日记结果 (关键词高亮) ⚠️ 有结果卡片但无关键词高亮
模板结果网格 完全缺失 — 只搜日记
标签结果 pills 完全缺失

⚠️ 页面 14个人中心 (Profile) — 完整度 25%

模块 状态 备注
头像+用户名+签名 ⚠️ 头像 64px (规格 80px);显示角色标签而非签名
统计条 (4 项彩色数字) 完全缺失
成就徽章 (横向滚动) 有链接到成就页但无内联徽章滚动
设置列表 (emoji 图标+toggle/箭头) ⚠️ 有菜单列表但用 Material Icons 而非 36px emoji无 toggle 开关
更多设置 (导出/反馈/关于) 完全缺失

关键发现与优先建议

🔴 高优先(核心体验缺失)

# 问题 影响页面 建议
1 编辑器标签面板缺失 编辑器 添加标签面板 (200px 抽屉) + BLoC 标签状态
2 编辑器日期+心情条缺失 编辑器 添加日期时间+心情快速选择条
3 日历心情概览柱状图缺失 日历 添加 5 根心情柱状图卡片
4 搜索结果无分类 tabs 搜索 添加全部/日记/模板/标签分页
5 个人中心统计条缺失 个人中心 添加 4 项彩色统计

🟡 中优先(功能不完整)

# 问题 影响页面 建议
6 登录用用户名/密码而非手机号/验证码 登录 改为手机号+验证码登录流程
7 第三方登录缺失 登录 添加微信/Apple/Google 登录按钮
8 天气硬编码 首页 接入天气 API 或使用设备定位
9 日记卡片摘录显示标签而非正文 首页 JournalEntry 模型需添加 content 摘要字段
10 贴纸页无包内贴纸浏览 贴纸 添加点击贴纸包进入详情页
11 心情追踪用饼图而非柱状图 心情 改为柱状图 + 添加天气卡片
12 模板预览仅 72px (规格 200px) 模板 增大预览区域,添加"使用"按钮

🟢 低优先(样式偏差)

# 问题 影响页面 建议
13 编辑器底部工具栏 160px (规格 72px) 编辑器 考虑整合画笔类型为单按钮
14 部分页面用默认 AppBar 而非设计系统 贴纸/模板 统一使用设计系统组件
15 月度热力图周起始不一致 月度 统一为周一起始
16 日记卡片数量未限制为 4 条 首页 可考虑限制或保持动态

Tab 栏对照

设计规格 Tab 实现方式 匹配度
首页 (房屋图标) home_outlined/home 匹配
日历 (日历图标) calendar_month_outlined/calendar_month 匹配
写日记 (加号, 中央凸出) FAB 48×48 圆形, accent 色, -16px margin 匹配
发现 (放大镜图标) explore_outlined/explore 匹配
我的 (人像图标) person_outline/person 匹配

Tab 栏结构与设计规格一致。


多端适配对照

特性 设计规格 实际实现 匹配度
手机底部 Tab 栏 5 Tab + 中央 FAB ResponsiveScaffold mobile 模式 匹配
平板侧边导航栏 240px NavigationRail NavigationRail 匹配
桌面扩展导航 侧边栏+macOS 风格 extended NavigationRail + 3:2 flex 部分匹配

报告生成于 2026-06-02基于设计规格 v3.0 文档与 Flutter 前端代码的逐行对比。