I3.06.3clear persisted state设计

持久化状态需要清除入口

别名: 清除本地数据 · 重置状态 · forget this device · 一键清除

概念解释

留下的状态必须能被主动拿掉。清除入口是用户可找到、可理解、真会删到磁盘和账号里那一份的动作:清草稿、清本机缓存、退出生效、忘掉这台设备。没有入口,持久化就变成单向阀门——进来容易,出去要卸应用、要等过期、要写信给客服。

入口不是「设置里埋一个重置」。它要对应人想结束的那种残留:这台设备上的、这个账号下的、这一份草稿的。清掉之后,产品应表现得像从未记住过那些,而不是表面空白、换个路径又冒出来。

机制

持久化一旦成功,残留就有了自己的寿命:磁盘文件、IndexedDB、系统备份、推送 token、另一台设备上的同步副本。人能看见的「删除草稿」若只改了当前视图,其他寿命还在,残留会从备份或同步里复活。所以入口的承诺是沿寿命链删,不是改一帧 UI。

人要入口的时机往往是情境切换:把手机给别人前、卖掉设备前、演示结束、发现搜索记录难堪。这些时机没有耐心做考古。入口必须在「关于隐私 / 存储 / 这个文档」附近,用对方的话说(「忘掉这台电脑上的草稿」),而不是用存储实现的话说(「清除 localStorage」)。清完要给回执:什么没了、什么依法还在、是否还要登出。

边界

法律要求保留的记录(交易、同意、审计)不能被这个入口假装删掉;要说「账单仍会保留」,不要做假清除。多人共享的云端对象,一人清除不应变成销毁他人的工作——入口要问清是「这台设备」还是「所有地方」。误触清除的代价若等于毁掉未同步的一周离线劳动,确认必须是明确的、可撤销一段很短时间的,或先同步再清。无障碍偏好被清掉会立刻让产品不可用,清除清单里应把它们分开勾选,而不是裹进「清除全部」。应用商店的「清数据」是操作系统入口,产品仍欠自己的、能解释后果的那一个——系统清数据不会告诉你云端还留着什么。

怎么落地

  • 在设置与文档菜单提供可发现的清除:本机数据、搜索与草稿、这台设备的登录。用后果语言,不用实现语言。
  • 清除前说明范围;清除后第一眼验证那些对象不再出现,包括搜索建议和「继续阅读」。
  • 分开关闭「这台设备」和「所有设备」;默认偏窄,避免一人清掉全家。
  • 验证:写入草稿与搜索词,走产品内的清除,不卸应用。再打开:草稿与建议应不在。然后从另一台已登录设备看同一账号:若本机清除变成了云端销毁,范围过宽。再故意只清视图:底层再写回一条建议——若又出现,入口是假的。

延伸

  • 同组I3.06.1 用户可见的状态应跨会话保留 · I3.06.2 持久化范围需与隐私预期一致
  • 相邻I3.10 离线状态与本地优先 · I2.12 缓存与陈旧内容
  • 站内检索clear local data · forget this device · reset persisted state

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/I3.06.3