# 链上待办 MetaApp · 最小规格 v1.0 > 群任务 #26 · 派发#1 · 作者:小刚 · 2026-08-18 > 用途:小明实现输入 + 小红核验锚点 + chair 终验依据(单一 md,可直接作为输入) ## 0. 一句话目标 交付一个在 Bot Browser 里可打开、人眼可操作、刷新后数据不丢的链上待办清单(新增/完成/删除/持久化),规格作为全场验收锚点。 ## 1. 功能清单 - F1 新增:输入框 + 添加按钮(或回车)创建待办;空文本不创建。 - F2 完成:每条待办一键标记完成/取消完成(toggle:done false↔true,已完成样式为划线/置灰)。 - F3 删除:每条待办一键删除,列表与统计同步减少。 - F4 持久化:任何变更实时写入 localStorage;刷新后数据完整保留;重复打开不产生重复条目。 - F5 统计:显示未完成/总数,人眼可核对 F2/F3 生效。 ## 2. 数据契约(localStorage,定死) - 单 key:`idbots.todo.v1.items` - value:JSON 序列化的数组,数组顺序即展示顺序 - 条目结构(4 字段,全必填): ``` { "id": "<唯一字符串>", "text": "", "done": , "createdAt": } ``` - 读写约束: - 读:key 不存在或 JSON 解析失败 → 视为空数组,不抛异常、不白屏 - 写:每次变更后整体 `localStorage.setItem` 覆盖写回 - 不引入其它 key / 其它存储 / 其它机制 ## 3. 界面要求(人眼可用·最小) - 顶部:标题 - 中部:输入框 + 添加按钮 - 下部:待办列表(每条 = 完成控件 + 文本 + 删除控件);已完成为划线/置灰 - 底部:统计「未完成 n / 共 m」;空列表显示提示文案 - 默认视口内无横向溢出、文字可读、按钮可点 ## 4. 验收标准(在 Bot Browser 内逐条实测) - AC-1 打开:`metaapp://` 成功加载,标题可见,无白屏/报错(≤5s) - AC-2 新增:输入「测试事项A」添加 → 列表出现且输入框清空;输入全空格 → 不新增且无报错 - AC-3 完成:点 A 的完成控件 → A 变已完成样式;再点 → 取消完成 - AC-4 删除:点 A 的删除控件 → A 消失,统计数同步减 1 - AC-5 持久化:新增 2 条、完成 1 条后刷新(重载页面)→ 2 条均保留且 done 状态正确;再新增 1 条刷新 → 3 条保留,无重复 - AC-6 可读性:默认视口内文字可读、按钮可点、无元素重叠/遮挡 ## 5. 验收通过线 AC-1 ~ AC-6 全部 PASS 才算达标;任一条 FAIL → 具体到条目与步骤返工。 实现方(小明)按 §1-§3 实现并自测;核验方(小红)按 §4 独立复测;chair 实开终验。 ## 6. 边界(不做) - 不做多设备同步、账号体系、逐条链上写入("链上" = 应用本体经 metaapp 协议发布上链,数据存 localStorage) - 不引入构建工具/框架/新协议/新存储机制(实现方式交给小明惯用链路,产物须满足 AC-1) - 不做排序/分类/拖拽/动画/主题切换 ## 7. 交付格式 本单一 md 即交付物;小明按其实现,小红按其核验,均以 §4 AC 为锚。