← 返回导航
产品设计
v1.0 · 2026-08-07
版本:v1.3(2026-08-16)
依据:PRD v0.9(品牌内核·时光容器)+ 原型 v4.5 + 想法库 I-001(2026-08-07 决策已拍板)+ 坚持封存定案(2026-08-08 用户拍板)+ 迭代二(媒体记录/自定义里程碑,2026-08-11 用户拍板)+ 迭代 A「一念」(2026-08-14 用户拍板)
本文档是概念与信息架构的唯一设计源;需求细节以 PRD 为准,交互细节以原型为准。
0. 设计原点
时光容器:念时承接一个人甚至一群人、不同阶段的回忆与期待。
产品的全部工作 = 记录(输入)+ 呈现(输出):
- 记录:值得记住的事,随手可记、有仪式感地记
- 呈现:过去可回望、未来可奔赴、一群人可共同看见
三条设计原则(贯穿所有决策):
- 类型简单,状态表达生命——只有期待/坚持两种类型;生命周期(一念→筹备→珍藏)用状态流转表达,不重构类型
- 记录有仪式感,呈现可回望——不做冰冷的效率工具;一切记录最终服务于回望
- 一群人是共享,不是社交——多人协作是共同维护一段时光(共享、实时同步),不做点赞/评论等社交功能
- ⚠️ 评审待拍板(2026-08-16):迭代 A 已落地一念的「建议 + 附议 + 留言/回复」讨论机制,与原则 ③「不做评论类功能」存在张力。待拍板:A.「一念讨论是协作不是社交」→ 修订原则措辞;B.「我们其实在做社交」→ 重新审视边界。当前文档与代码均未改动,仅留痕。
1. 概念模型
1.1 核心实体
| 实体 | 定义 | 记录侧 | 呈现侧 |
|---|
| 项目 | 一段时光的容器;类型 = 期待 / 坚持 | 创建时定义名称/日期/图标 | 卡片、宫格、详情页 |
| 期待 | 奔赴未来的事件(有目标日期):爬山、见面、考试 | 待办(筹备)+ 这一刻(进行) | 倒计时大数字、期待宫格 |
| 坚持 | 持续滚动的日常(无终点):跑步、练字、宝宝成长 | 这一刻 | 滚动天数、焦点卡、纪念章 |
| 记录(这一刻) | 项目下的时间线条目 | 文字(二期:图片/视频) | 详情页时间线 |
| 待办 | 期待筹备期的准备事项(新) | 添加/勾选 | 详情页待办区,事后沉淀进珍藏 |
| 纪念章 | 坚持的勋章(满 30/100/365 天自动) | 自动计算 | 纪念章墙、详情页状态条 |
| 珍藏 | 期待完成 / 坚持封存后的终态(状态流转) | 完成/封存时保留全部记录 | 珍藏分区、只读分享页 |
| 伙伴 | 共同守护项目的成员 | 邀请/加入 | 伙伴页、详情页伙伴区 |
| 分享 | 珍藏的只读呈现(新) | 生成分享链接 | H5 只读时间线页 |
1.2 状态流转(时光生命线)
一念 ──邀约/表态/建议/附议──▶ 敲定转正 ──▶ 期待(倒计时+待办)──完成──▶ 手动转珍藏
└──▶ 坚持(滚动计时+记录)──封存──▶ 珍藏(纪念章+回望+分享)
期待 ──筹备(倒计时+待办)──▶ 完成 ──手动转为珍藏──▶ 珍藏(回望+分享)
坚持 ──滚动计时+记录──▶ 持续 ──手动封存──▶ 珍藏(纪念章+回望+分享)
- 一念(status 0,2026-08-14 迭代 A):还没定日子的念头,经邀约(看见留痕)→ 表态(走起/改天/不了)→ 建议+附议 → 留言讨论 → 发起者采纳敲定转正为期待/坚持;全程留痕,封存后为「这一念的旅程」回忆资料
- 期待:status 1(进行中)→ 完成后手动转珍藏(status 2);转珍藏是用户主动动作(有仪式感),系统不自动转
- 坚持:status 1(持续中)→ 手动封存转珍藏(status 2);封存即结业、天数冻结于封存日,MVP 不可逆(二期支持重新开启);纪念章随封存收录
- 珍藏后:项目保留在首页「珍藏」分区,详情页可完整回看,可生成只读分享链接(期待/坚持均可)
1.3 关键语义裁决(沿用 PRD 2.4 + 新增)
| 概念 | 定案 |
|---|
| 重复提醒 | = 提醒推送频率(非统计口径),期待/坚持都有,MVP 仅存储展示 |
| 坚持计时 | 自动滚动;打卡=发记录,不参与连续天数;"连续打卡 N 天"二期 |
| 期待「已相伴」 | 不做 |
| 珍藏 = 状态流转 | 期待完成 / 坚持封存 → 手动转为珍藏(本次设计新增,替代"仅归档") |
| 坚持封存 | 坚持可手动封存进珍藏:随时可封存+二次确认;封存即结业、天数冻结、MVP 不可逆(二期重新开启);纪念章随封存收录(2026-08-08 定案) |
| 待办 = 筹备期记录 | 挂期待项目下,勾选完成,事后沉淀进珍藏页(本次设计新增) |
| 分享 = 只读呈现 | 生成链接,任何人打开 H5 看到这段记忆;引用(纳入自己空间)二期 |
| 「我们」= 聚合视图 | 不新增关系实体;首页置顶卡聚合我参与的共享项目 |
| 一群人 = 共享非社交 | 无点赞/评论/关注(一念讨论机制见原则③待拍板注) |
| 一念(status=0) | 还没定日子的念头:邀约→表态→建议+附议→留言→敲定转正;全程留痕,封存后为回忆资料(2026-08-14 迭代 A) |
2. 信息架构
2.1 导航(四页签,不变)
念时(首页)|纪念章|伙伴|我的
2.2 页面蓝图(原型 v4.4 基础上增量)
| 页面 | 现状 | 本次设计增量 |
|---|
| 首页 | 题记→置顶卡→期待宫格→坚持→FAB | 珍藏分区(期待珍藏卡:名称+完成日期+记录数;坚持封存卡:名称+封存日期+坚持天数) |
| 创建页 | 期待/坚持切换 + 重复提醒(已对齐) | 不变 |
| 详情页(期待·筹备中) | 大数字卡+伙伴区+时间线+打卡条 | 待办区(添加/勾选,筹备期) |
| 详情页(期待·可珍藏) | 同上 | 「转为珍藏」入口(目标日期过后或手动,二次确认) |
| 详情页(坚持·可封存) | 大数字卡+纪念章条+伙伴区+时间线 | 「封存纪念」入口(二次确认,封存后入珍藏、天数冻结) |
| 详情页(珍藏态) | — | 珍藏头卡(完成/封存日期+记录数+纪念章)、完整时间线、「生成分享」(期待/坚持通用) |
| 分享页(新,只读) | — | H5 独立页:项目名+大数字+时间线+伙伴,无需登录,带品牌题记 |
| 我的页 | 用户+统计+设置 | 珍藏计数已有,不变 |
| 纪念章/伙伴 | v4.3 已定 | 不变 |
2.3 关键交互
- 转珍藏:期待详情页,目标日期过后出现「转为珍藏」→ 二次确认弹窗("把这段期待收进珍藏?")→ 项目移至首页珍藏分区
- 待办:详情页待办区「+ 添加」→ 输入事项 → 点击勾选(划线+完成态);完成后留痕(谁、何时完成)供日后回看
- 分享:珍藏详情页「生成分享」→ 创建只读链接 → 弹窗展示链接+复制;链接可随时作废
3. 数据模型影响
3.1 现有表(12 张,详见 database.md / init.sql)
user / project / project_member / project_record / invite / sms_code / todo / share / wish_participant(一念参与档案)/ wish_suggestion(一念建议)/ wish_suggestion_support(附议)/ wish_suggestion_comment(留言)
3.2 project 表语义补充
status:0 = 一念(迭代 A 新增,无日期无倒计时),1 = 进行中(期待/坚持),2 = 已珍藏(期待转珍藏 / 坚持封存)wish_note:一念的一句话描述(≤200 字,status=0 时填写)location:敲定后的地点(可来自采纳的地点建议;一念阶段为默认倾向地点)sealed_at:转珍藏/封存时刻(新增,2026-08-08);坚持封存后 days_elapsed 冻结于此日,不再滚动
3.3 新增:todo 表(筹备期待办)
| 字段 | 类型 | 说明 |
|---|
| id | BIGSERIAL PK | |
| project_id | BIGINT FK | 所属期待项目 |
| content | VARCHAR(100) | 事项内容 |
| done | BOOLEAN | 是否完成 |
| done_at | TIMESTAMP | 完成时间(留痕) |
| done_by | BIGINT | 完成人(留痕) |
| created_by | BIGINT | 创建人 |
| created_at | TIMESTAMP | |
| sort | INT | 排序 |
3.4 新增:share 表(只读分享)
| 字段 | 类型 | 说明 |
|---|
| id | BIGSERIAL PK | |
| project_id | BIGINT FK | 被分享的珍藏项目 |
| token | VARCHAR(32) | 分享令牌(UUID 去横线) |
| created_by | BIGINT | 分享人 |
| created_at | TIMESTAMP | |
| expires_at | TIMESTAMP NULL | 过期时间(NULL=永久) |
| revoked | BOOLEAN | 是否已作废 |
3.5 新增 API
| 接口 | 说明 |
|---|
| POST /projects/{id}/todos | 添加待办 |
| GET /projects/{id}/todos | 待办列表 |
| PUT /todos/{id} | 勾选/取消完成(含 done_by/done_at) |
| PUT /projects/{id}/status | 已有接口,转珍藏/封存复用(1→2;重复转返回 4105;仅支持转 2) |
| POST /projects/{id}/share | 生成只读分享链接 |
| DELETE /projects/{id}/share | 作废分享 |
| GET /share/{token} | 只读内容(无需登录,限珍藏项目) |
4. 分期路线
一期(当前主线:H5 迭代 → 鸿蒙同步带上)
- 待办:todo 表 + API + 详情页待办区(H5 + 鸿蒙)
- 转珍藏 / 封存:期待转珍藏 + 坚持封存入口 + 二次确认 + 首页珍藏分区(两种卡片)+ 天数冻结
- 只读分享页:share 表 + API + H5 分享页(文字时间线版,期待/坚持通用)
- 媒体记录:图片上传 + 详情/分享时间线图文混排 + 大图预览(H5 已完成,2026-08-11;分享页媒体版同步上线;MVP 单图/条,纯图记录可 content 留空)
- 自定义纪念章里程碑:名称+天数,每项目 ≤5 个,达天数自动颁发(H5 已完成,2026-08-11)
- 一念生命周期(迭代 A):status=0 + 参与档案/建议/附议/留言四表 + 邀约表态敲定全链路(H5 已完成,2026-08-15;小程序待同步)
二期
- 引用:把他人珍藏引用到自己的空间(需评估数据模型)
- 结构化数值(身高体重等生长曲线)
- 连续打卡统计(坚持口径的进阶)
明确不做
- 关系空间实体(「我们」= 聚合视图)
- 效率型通用待办(待办只服务于时光,不做全局任务清单)
- 社交功能(点赞/评论/关注)
5. 设计验证(回应"记录/呈现"双职责)
| 职责 | 一期落地 | 二期落地 |
|---|
| 记录 | 待办(筹备期准备)、这一刻(文字)、图片(2026-08-11 迭代二,单图/条) | 视频、结构化数值 |
| 呈现 | 倒计时(奔赴)、时间线(回望,图文混排)、珍藏分区(沉淀)、分享页(延续,媒体版)、自定义里程碑(纪念章页) | 引用(跨空间延续)、生长曲线 |
闭环自检:爬山例子走一遍——创建期待(倒计时)→ 添加待办(买装备)→ 当天记录这一刻(交流/心情)→ 完成后手动转为珍藏 → 生成分享链接给没参与的朋友看。全链路覆盖,无断裂。坚持例子——创建坚持(每日晨跑)→ 记录这一刻 → 手动封存 → 天数冻结、纪念章收录 → 生成分享。全链路覆盖,无断裂。