我们的小家

{{ todayLabel }} 原型 v0.6
当前身份:{{ whoLabel(identity) }} · 权限随之变化
💕
💗
第 {{ togetherDays }} 天
在一起 · 从 {{ togetherStartLabel }} 开始

今天怎么样

🐰 TA 的状态
{{ status.ta.mood }}
{{ status.ta.doing }}
{{ status.ta.at }}
😎 我的状态
{{ status.me.mood }}
{{ status.me.doing }}
{{ status.me.at }}

纪念日

{{ catEmoji(featured.category) }}
{{ featured.name }}{{ featured.days>=0 ? '还有' : '已经' }}
目标日:{{ featured.targetLabel }}
{{ Math.abs(featured.days) }} 天
{{ catEmoji(a.category) }} {{ a.name }}{{ a.days>=0 ? '还有' : '已经' }}农历 {{ Math.abs(a.days) }}天

远程互动

TA 的手机会震动
开会不方便说话?戳一下,TA 就知道你在想 TA

留言便签

{{ n.txt }}
{{ r.e }} {{ r.count>1 ? r.count + ' ' : '' }}{{ r.names }}
{{ whoLabel(n.by) }} 留 {{ expireLabel(n) }}
现在没有在有效期内的便签,去归档看看?

我们的小目标

{{ g.emoji }}
{{ g.name }}
{{ catName(g.category) }} · 每次 +{{ g.step }}{{ g.unit }} · {{ (g.records||[]).length }} 次记录
{{ g.now }}/{{ g.target }}{{ g.unit }}
🎉 目标完成
✕ 对方拒绝了
两人都能打卡

权限规则

前端隐藏 + 后端校验
谁创建,谁改删。对方只能看,不能改你的纪念日、便签、时光节点。
目标要双方同意。发起后待同意才能开始;打卡必须上传证明图+说明,记录永久保留可生成回顾。
进度回退也要双方同意。发起回退申请,对方同意后才扣进度。
纪念日置顶是共享显示设置,两人都能改;大卡背景图各自卡片可换。
见面时间双方都能改,不需要审批;在一起起始日创建时锁定。
W0.6 原型 · 示例数据 · 未接后端,刷新即还原
第 {{ togetherYears }} 年相识
12 座一起走过的城市
{{ nodes.length + 86 }} 个收藏的瞬间
素材入口:微信/QQ 聊天记录 → 多选复制粘贴;朋友圈/QQ空间动态 → 搬文字和照片;相册/照片 → 手动上传图片(QQ空间相册请先下载再传)
相遇之前 · 两条平行的人生线
他的年轮 💙
她的年轮 💗
2019.10.24 · 相遇点
💞 我们认识了
朋友的聚会上,他送她回家。路过便利店,她请他吃了两串关东煮,他记到了现在。从这一天起,两条线变成了一条。
相遇之后 · 我们的故事
· 故事还在继续 ·
点 + 添加:文字 / 聊天记录 / 朋友圈 / 影像(相册·照片)

今天怎么样

选好后点保存才同步给 TA,不会点一下就改
在干嘛
同步后 TA 会看到:{{ draft.mood }} {{ draft.custom || draft.doing || '还没选' }}

下次见面

双方都能改,不需要对方同意
卡片背景
背景上的文字
图片遮罩(让字更清楚)

在一起

起始日创建小家时设定,不可修改;背景可以换
起始日{{ togetherStartLabel }} 🔒
背景上的文字

打卡 · {{ checkGoal ? checkGoal.name : '' }}

上传证明照片并写一句说明,记录会永久保存
提交后:+{{ checkGoal ? checkGoal.step : 0 }}{{ checkGoal ? checkGoal.unit : '' }} · 需要至少 1 张证明图

{{ detailGoal ? detailGoal.name : '' }}

{{ detailGoal ? catName(detailGoal.category) + ' · 每次 +' + detailGoal.step + detailGoal.unit : '' }}
进度 {{ detailGoal.now }} / {{ detailGoal.target }}{{ detailGoal.unit }} · 共 {{ (detailGoal.records||[]).length }} 次打卡
{{ r.at }} · {{ whoLabel(r.by) }}+{{ r.amount }}{{ detailGoal.unit }}
{{ r.note }}
还没有打卡记录

{{ reviewGoal ? reviewGoal.name : '' }} · 回顾

{{ reviewGoal ? reviewGoal.now + '/' + reviewGoal.target + reviewGoal.unit + ' · ' + (reviewGoal.records||[]).length + ' 次打卡' : '' }}
{{ r.at }} · {{ whoLabel(r.by) }} +{{ r.amount }}{{ reviewGoal.unit }}
{{ r.note }}

申请回退进度

回退必须对方同意,防止一方偷偷改数
提交后:{{ rollGoal.now }} → {{ Math.max(0, rollGoal.now - (rollbackDraft.amount||0)) }}{{ rollGoal.unit }}

回应这张便签

{{ reactNote ? whoLabel(reactNote.by) + ' 留的字条' : '' }}
{{ r.e }} {{ r.count>1 ? r.count + ' · ' : '' }}{{ r.names }}
🔒 只有 {{ reactNote ? whoLabel(reactNote.by) : '' }} 能改或删

{{ editId ? '编辑新日子' : '添加新日子' }}

选未来日期倒数,选过去日期正数
目标日 {{ annDraft.lunar ? '农历' : '公历' }}
{{ annTargetTitle }}
{{ annTargetSub }}
{{ y.label }}
{{ m.label }}
{{ d.label }}
倒数本
置顶
重复

这个日子

{{ annAction ? whoLabel(annAction.by) + ' 添加' : '' }}
🔒 {{ whoLabel(annAction.by) }}添加,只有 {{ whoLabel(annAction.by) }} 能改或删

{{ editId ? '编辑便签' : '写一张便签' }}

对方能用 emoji 回应,不能改你的便签
有效期

已归档的便签

过期自动归档 · 只有创建者能恢复或删除
还没有归档的便签
{{ n.txt }}
{{ whoLabel(n.by) }} 留{{ expiredLabel(n) }}
🔒 只有 {{ whoLabel(n.by) }} 能恢复

{{ editId ? '修改目标' : '添加共同目标' }}

提交后要对方同意才开始;打卡需要上传证明
1 · 选分类
2 · 选单位
3 · 起个名字和数值
每打卡一次:+{{ goalDraft.step || 0 }}{{ unitLabel }} · 打卡需上传证明图+说明

{{ actionTitle }}

{{ actionDesc }}
🔒 {{ action ? whoLabel(action.by) : '' }}添加,只有 TA 能改或删

添加一段时光

素材从哪来,就选哪种卡

{{ editId ? '编辑这段时光' : '写一段时光' }}

粘贴聊天记录

微信/QQ 里多选消息 → 复制 → 粘到这里
识别到 {{ candidates.length }} 段,勾选上时间线:
{{ c.date }} · {{ c.from }}
{{ c.text }}

朋友圈 / QQ空间动态

把那条动态的文字和照片搬进来
配图(可选,最多 3 张)

相册

相册和照片合并为一类,都要手动上传图片
{{ toast }}
{{ f.emoji }}