chore(backlog): 记录 g275 完成

This commit is contained in:
HIsheR
2026-10-26 23:00:45 +08:00
parent b454d5f7b0
commit 72432e8d31
2 changed files with 10 additions and 0 deletions
+9
View File
@@ -2861,6 +2861,15 @@
"status": "done",
"domain": "tooling",
"notes": "配方 16 里特意写了「不要再套一层 overflow:auto」——layout 内容区自己就是滚动容器且已在细条名单内,两层滚动会让吸顶页头与滚动条重复出现,这类「两个都对、拼起来错」的坑只能靠配方说明。配方 17 强调 finally 收遮罩:只写 try 分支的示例会诱导出「异常时遮罩永远挂着」的实现"
},
{
"id": "g275",
"title": "新增相对时间组件 relativeTime",
"motivation": "动态 / 评论 / 操作日志里最常出现的一列是「3 分钟前」。此前只能自己算差值再手拼文案,于是每个页面各写一套:有的不刷新(页面开着十分钟还显示「刚刚」)、有的把所有时间都渲染成「N 天前」(半年前的记录也这么写,读者还得自己换算)、有的遇到脏数据直接抛错让整列空白。这三件事都该由一个组件定死。",
"acceptance": "新增 relativeTime(props):value 接受 ISO 串 / 10 位秒戳 / 13 位毫秒戳 / Date;按 refresh(缺省 30s)自动刷新文案,超 threshold(缺省 7 天)改显示绝对日期;title 恒给精确到分钟的时间,datetime 属性给 ISO;非法时间显示 fallback(缺省 —)不抛错;计时器在节点脱离文档后自断;样式只消费 --ua-* 令牌(等宽数字 + nowrap),禁止新增硬编码阴影 / 时长 / 字号;十处落点全同步,npm run check 全绿",
"status": "done",
"domain": "new",
"notes": "10 位 / 13 位时间戳按数量级判秒与毫秒(<1e12 视为秒)——真按位数数会踩「2033 年以后的秒级戳突破 1e10」这类边界,用数量级更稳。计时器自断用的是 watch.ts 同款「isConnected 为假就 clearInterval」写法,列表反复挂载也不会累积。等宽数字(tabular-nums)是时间列不抖动的关键,肉眼很难描述但一排「3 分钟前 / 11 小时前」混排时立刻能看出来"
}
]
}