feat(今日脚印): AI 气泡改说真话 —— 文案取接口 digest,引导取 lead+unused (v26092217)
配合 box_app 的 B 方案(今日脚印换源到数胎动用户面 /user/daily/footprint)。
接口现在一次给全:事件 + digest(气泡文案)+ lead/unused(引导),于是首页不用再编数据。
- **AI 气泡**:文案由 fpRender() 从 `digest.text` 写入(真实文案,宝宝口气的 AI 句子),
`digest.warn` 为真时整句标红(.ai-warn)。取不到 digest 就整颗气泡收起。
⚠️ index.html 里那句写死的「妈妈,今天你数到我动了 3 次…」已删除 —— 它对任何用户都显示,
而且把 today 的假次数和真实时间轴摆在同一屏。现在这条规则是 **data-driven**(有文案才显示),
不再靠"有没有事件"猜。
- **引导占位**:文案用接口的 `lead`(如「宝妈,先从这几件事记起吧。」),应用用 `unused[]` ——
能对上 App 表的渲染成**可点芯片**(点击 jumpApp 进该应用),对不上(如不在 App 表的宝宝来信)只显示名字。
- **三种显隐模式**(fpRender 是模块显隐的唯一 owner):
rows 拿到事件 → 时间轴;guide 一条都没有(上游查无此人 / kind=fallback 今天没活动 /
只浏览没产出记录)→ 引导;hide 接口读不到 / degraded → 整块不显示。
原来「有档案但今天没记」的「还没有足迹」空态并入 guide(上游的 lead + 推荐应用比一句空态有用)。
- 删掉不再使用的 emptyFootprintStep()。
本地验证(桩后端,五种返回 × 资料延迟):rows → 时间轴 + 气泡显示**真实 digest 文案**;
guide → 上游 lead + 芯片(数胎动/胎儿估重可点、宝宝来信纯文本);linked=false → 引导兜底标题;
degraded / 接口 500 → 整块不显示。全程无 JS 异常。
This commit is contained in:
@@ -643,6 +643,14 @@ a.skip:focus{left:16px;top:16px}
|
||||
.tl-guide{background:#fff;border-radius:22px;padding:20px 18px;box-shadow:var(--sh);text-align:center}
|
||||
.tl-guide-t{font-size:15px;font-weight:800;color:var(--ink)}
|
||||
.tl-guide-s{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.6}
|
||||
/* 引导里可点的应用芯片(名字来自接口 unused[];identifier 是 box_app 按 App 表 url 路径解析的) */
|
||||
.tl-guide-apps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
|
||||
.tl-guide-apps:empty{display:none}
|
||||
.tl-chip{font:inherit;font-size:12.5px;font-weight:700;color:var(--brand-dk);
|
||||
background:#FFF1EC;border:1px solid #FFDFD5;border-radius:999px;padding:7px 13px;line-height:1}
|
||||
.tl-chip.is-plain{color:var(--muted);background:#F6F1ED;border-color:var(--line)}
|
||||
/* 接口说这句"需要标红"时(digest.warn)整句变告警色 */
|
||||
.today-line.ai-warn .ab-say{color:var(--alert)}
|
||||
/* 没有真实事件的当天不显示 AI 气泡:那句话里的次数是**写死的**(见 index.html 的注释),
|
||||
今天没记 / 未关联时显示它等于编数据。拿到真实事件(fpApply('rows'))时才摘掉这个类。 */
|
||||
.today-line.no-ai .ai-bubble{display:none}
|
||||
|
||||
Reference in New Issue
Block a user