Deep Cleaner-PRD-v1.1.0 · 阅读优化版#
本文件是
v1.1.0线上与线下唯一在用的正式 PRD 真源,同时提供“页面—需求—验收”联动阅读结构。原排版版Deep Cleaner-PRD-v1.1.0.md已于 2026-08-28 移入99-归档,只作历史追溯,不再作为需求依据。
1. 快速使用#
| 阅读目标 | 推荐入口 |
|---|---|
| 日常看某张页面怎么做 | 打开页面工作台,点击左侧页面;右侧只看本页规则与关联验收 |
| 按用户链路检查页面 | 使用工作台“流程视图” |
| 按 A 编号验收 | 使用工作台“验收中心”,可搜索 A 编号、R 编号或关键词 |
| 全量审核 | 继续阅读本文件第 4 章“完整规则” |
2. 版本概览#
| 需求编号 | 需求项 | 一句话说明 |
|---|---|---|
| R1 | 首次启动链路 | Splash(启动页)→ 中台编排 → Onboarding(引导页)/ Language(语言选择页)→ Home(首页) 作为一条完整链路定义;Splash 更换 Logo、保留线上 Slogan 并以已确认 UI 图为视觉准线;Onboarding 补齐 3D 主视觉、大标题、最长 3 秒自动前进、滑动回看和中台可控 Skip;语言范围由 12 种扩展至 18 种,并按全球常用顺序统一首次语言页与 Settings 语言页 |
| R2 | 一级信息架构 | 底部调整为 Home、Tools、Charging、Settings 四个一级 Tab;Home 功能区聚合为 Photos、Videos、Junk Cleaner、Notification Cleaner、Battery info、Storage Widget 六项;Compress 移入 Tools,并删除 To clean(待清理)常驻模块;Settings 删除 Scan thresholds,新增 Permissions 二级页、Website 与 Rate us 入口 |
| R3 | 统一文件授权、扫描状态与任务直达链路 | 首次进入 Home 时引导开启所有文件访问权限,未授权用户点击文件清理相关入口时继续触发同一授权;Home 或 Smart Clean 授权成功返回 App 后停留 Home 并立即开始完整扫描,扫描中可进入 Smart Clean 查看进度;Smart Clean 聚合图片、视频与垃圾文件的真实候选,并通过 Home、Widget、通知和清理结果页形成任务直达链路 |
| R4 | 垃圾文件清理 | Home 新增 Junk Cleaner(垃圾清理),扫描并删除 App 自身缓存及设备共享存储中真实可访问的垃圾候选文件 |
| R5 | 工具能力链路 | Tools(工具)顶部使用全宽 Manage apps 卡片,下方按两列两行展示 Compress、Contacts、Private Space 和 Storage Widget;Compress 使用单视频选择、可播放预览、三档压缩、可取消处理与真实报告链路;Manage apps 进入 App 内应用管理页并按 Usage access 授权状态展示真实可用信息,每次卸载均逐个调用 Android 系统确认;Private Space 补齐固定 4 位 PIN / 系统身份认证解锁、本机加密文件库、系统照片选择器导入、预览播放、单个 / 批量导出删除与再次导入;Battery info 保留在 Home |
3. 页面—需求—验收索引#
本表由本 PRD 的完整规则生成,只负责定位,不替代第 4 章。一个验收项可能关联多个页面。
| 序号 | 页面 ID | 对应需求 | 关联验收 |
|---|---|---|---|
| 1 | 01-splash | R1.1 Splash(启动页) | A01–A03 |
| 2 | 02-onboarding-scan | R1.3 Onboarding(引导页) | A04–A07、A09–A11 |
| 3 | 03-onboarding-review | R1.3 Onboarding(引导页) | A04–A07、A09–A11 |
| 4 | 04-onboarding-private | R1.3 Onboarding(引导页) | A04–A07、A09–A11 |
| 5 | 05-language-first | R1.4 Language(语言选择页) | A08–A14 |
| 6 | 06-home | R2 + R3.1 · Home(首页) | A15–A17、A19–A24、A33、A49、A55 |
| 7 | 07-home-access | R3.1 + R4.1 · 所有文件授权 | A17、A19、A34、A39、A76 |
| 8 | 58-all-files-system-guide | R3.1 + R4.1 · 系统页底部悬浮引导 | A17、A34、A39、A76 |
| 9 | 08-tools | R5 · Tools(工具) | A41–A42、A45、A49 |
| 10 | 09-charging | R2 · Charging(充电) | A15–A16 |
| 11 | 10-settings | R2 · Settings(设置) | A15–A18、A74 |
| 12 | 11-smart-clean-scanning | R3.2 · Smart Clean 扫描中 | A20–A21、A25–A26 |
| 13 | 12-smart-clean-complete | R3.2 Smart Clean(二级页) | A21–A24、A27–A28、A30–A32、A52、A56 |
| 14 | 13-photos | R2 + R3.1 · Photos(图片聚合) | A15、A22–A23、A55 |
| 15 | 14-similar | R3.2.1 Similar(相似照片) | A27–A28、A30、A50–A51、A56 |
| 16 | 15-duplicates | R3.2.1 Similar / Duplicates | A27–A28、A30、A50–A51、A56 |
| 17 | 16-screenshots | R3.2.2 Screenshots(截图) | A53、A56 |
| 18 | 17-blurry | R3.2.2 Blurry(模糊照片) | A53、A56 |
| 19 | 18-videos | R3.2.3 Videos(视频) | A54、A56 |
| 20 | 19-junk-expanded | R4.2 垃圾扫描、复核与删除 | A33–A40、A52、A56 |
| 21 | 20-junk-collapsed | R4.2 垃圾扫描、复核与删除 | A33–A40、A52、A56 |
| 22 | 21-delete-confirm | R3 + R4.2 · 删除确认 | A27–A30、A37–A38、A52、A56 |
| 23 | 22-cleanup-report | R3.5 清理结果报告与固定推荐 | A31–A32、A38、A40、A52 |
| 24 | 23-battery-info | R5 · Battery info(电池信息) | A47–A49 |
| 25 | 24-storage-widget | R3.3 · Storage Widget | A16、A31–A32、A41–A42、A45、A49 |
| 26 | 25-notification-cleaner | R2 · Notification Cleaner | A15–A17、A49 |
| 27 | 33-manage-apps-unauthorized | R5.1 · Manage apps(未授权) | A46、A49、A57–A60 |
| 28 | 34-manage-apps-authorized | R5.1 · Manage apps(已授权) | A46、A49、A57–A60 |
| 29 | 26-compress | R5.2 · Compress(视频选择) | A42、A61 |
| 30 | 40-compress-setup | R5.2 · Compress(预览与设置) | A62 |
| 31 | 41-compress-processing | R5.2 · Compress(压缩中) | A63–A64 |
| 32 | 42-compress-report | R5.2 · Compress(报告) | A64–A66 |
| 33 | 56-compress-delete-confirm | R5.2 · Compress(删除原视频确认) | A66 |
| 34 | 43-compress-report-freed | R5.2 · Compress(已释放容量) | A66 |
| 35 | 57-compress-failure | R5.2 · Compress(压缩失败) | A64 |
| 36 | 27-contacts | R5 · Contacts(扫描结果) | A43、A49 |
| 37 | 32-contacts-access | R5 · Contacts(权限状态) | A43、A75 |
| 38 | 35-contacts-scanning | R5 · Contacts(扫描中) | A43 |
| 39 | 38-contacts-merge-preview | R5 · Contacts(合并预览) | A43 |
| 40 | 39-contacts-merge-success | R5 · Contacts(合并结果) | A43 |
| 41 | 28-private-space | R5.3 · Private Space(创建 PIN) | A44、A67–A68 |
| 42 | 37-private-space-confirm-pin | R5.3 · Private Space(确认 PIN) | A67–A68 |
| 43 | 46-private-space-pin-mismatch | R5.3 · Private Space(PIN 不一致) | A67–A68 |
| 44 | 36-private-space-unlock | R5.3 · Private Space(解锁) | A67–A68 |
| 45 | 45-private-space-incorrect-pin | R5.3 · Private Space(PIN 错误) | A67–A68 |
| 46 | 47-private-space-pin-locked | R5.3 · Private Space(PIN 锁定) | A67–A68 |
| 47 | 44-private-space-empty | R5.3 · Private Space(空文件库) | A44、A68–A70 |
| 48 | 53-private-space-adding | R5.3 · Private Space(导入中) | A44、A68、A70 |
| 49 | 54-private-space-remove-originals | R5.3 · Private Space(原文件处理) | A70 |
| 50 | 55-private-space-library | R5.3 · Private Space(文件库) | A44、A68–A71 |
| 51 | 48-private-space-library-selection | R5.3 · Private Space(选择模式) | A44、A68–A69、A71 |
| 52 | 49-private-space-export-confirmation | R5.3 · Private Space(导出确认) | A71–A72 |
| 53 | 52-private-space-exporting | R5.3 · Private Space(导出中) | A68、A72 |
| 54 | 50-private-space-delete-confirmation | R5.3 · Private Space(删除确认) | A71、A73 |
| 55 | 51-private-space-deleting | R5.3 · Private Space(删除中) | A68、A73 |
| 56 | 29-language-settings | R1.4 Language(设置内语言) | A08–A14 |
| 57 | 30-permissions | R2 · Permissions(权限) | A17、A34、A43、A57、A75–A76 |
| 58 | 31-local-data | R2 · Local data(本地数据) | A18、A75 |
4. 完整规则#
以下内容是 v1.1.0 的正式完整规则,包含全部需求、边界、验收标准和修订记录。
Deep Cleaner-PRD-v1.1.0#
本文档以常老大确认的线上
v1.0.8业务能力为需求基线;v1.0.9仅承载 Bug 修复,v1.1.0为本次新增功能版本,并继承v1.0.9已完成的修复结果。与历史 PRD 或 UI 文档冲突时,仅本文明确变更的内容以本文档为准;未涉及的产品能力、业务规则和页面内容继续沿用线上版本。
1. 产品基本信息#
| 字段 | 内容 |
|---|---|
| 产品名称 | Tidyvo(Google Play:Tidyvo: Deep Storage Cleaner;App 内/桌面:Tidyvo Cleaner;内部项目名:Deep Cleaner) |
| 平台 | Android 原生(Kotlin + Jetpack Compose) |
| 版本号 | v1.1.0 |
| 功能需求基线 | v1.0.8;v1.0.9 仅为 Bug 修复版本 |
| 更新日期 | 2026-08-28 |
| 需求外链 | |
| 蓝湖外链 |
2. 版本目标#
优化首次使用与四 Tab 信息架构,完善真实文件清理与任务直达,并补齐应用管理、视频压缩、联系人整理、私密空间和设备信息工具链路。
3. 本次范围及具体需求#
3.1 本次范围#
| 需求编号 | 需求项 | 简要说明 |
|---|---|---|
| R1 | 首次启动链路 | Splash(启动页)→ 中台编排 → Onboarding(引导页)/ Language(语言选择页)→ Home(首页) 作为一条完整链路定义;Splash 更换 Logo、保留线上 Slogan 并以已确认 UI 图为视觉准线;Onboarding 补齐 3D 主视觉、大标题、最长 3 秒自动前进、滑动回看和中台可控 Skip;语言范围由 12 种扩展至 18 种,并按全球常用顺序统一首次语言页与 Settings 语言页 |
| R2 | 一级信息架构 | 底部调整为 Home、Tools、Charging、Settings 四个一级 Tab;Home 功能区聚合为 Photos、Videos、Junk Cleaner、Notification Cleaner、Battery info、Storage Widget 六项;Compress 移入 Tools,并删除 To clean(待清理)常驻模块;Settings 删除 Scan thresholds,新增 Permissions 二级页、Website 与 Rate us 入口 |
| R3 | 统一文件授权、扫描状态与任务直达链路 | 首次进入 Home 时引导开启所有文件访问权限,未授权用户点击文件清理相关入口时继续触发同一授权;Home 或 Smart Clean 授权成功返回 App 后停留 Home 并立即开始完整扫描,扫描中可进入 Smart Clean 查看进度;Smart Clean 聚合图片、视频与垃圾文件的真实候选,并通过 Home、Widget、通知和清理结果页形成任务直达链路 |
| R4 | 垃圾文件清理 | Home 新增 Junk Cleaner(垃圾清理),扫描并删除 App 自身缓存及设备共享存储中真实可访问的垃圾候选文件 |
| R5 | 工具能力链路 | Tools(工具)顶部使用全宽 Manage apps 卡片,下方按两列两行展示 Compress、Contacts、Private Space 和 Storage Widget;Compress 使用单视频选择、可播放预览、三档压缩、可取消处理与真实报告链路;Manage apps 进入 App 内应用管理页并按 Usage access 授权状态展示真实可用信息,每次卸载均逐个调用 Android 系统确认;Private Space 补齐固定 4 位 PIN / 系统身份认证解锁、本机加密文件库、系统照片选择器导入、预览播放、单个 / 批量导出删除与再次导入;Battery info 保留在 Home |
3.2 具体需求说明#
R1:首次启动链路#
| 字段 | 规则 |
|---|---|
| 入口 / 触发条件 | 用户首次启动 App 后进入既有 Splash(启动页);Splash 完成后根据本次启动生效的中台配置和本地完成状态生成一次首启链路。 |
| 完整链路 | Splash → Onboarding / Language → Home;Onboarding 与 Language 的展示开关及先后顺序由中台分别控制。 |
| 用户交互 / 跳转 | 用户完成当前首启模块后进入链路中的下一模块;没有待展示模块时进入 Home(首页)。 |
| 关键状态 / 异常 | 进入首启链路后不因配置刷新强制切换当前页面;配置异常、广告异常或模块已完成均不得阻断进入 App。 |
| 数据 / 权限 / 商业化边界 | Onboarding 和 Language 分别保存本地完成状态;广告规则见 R1.3、R1.4。 |
| 关键用户文案 | Make space for what matters(为重要内容腾出空间)、Continue · {N}s(继续 · N 秒)、Continue(继续)、Get Started(开始使用)、Skip(跳过)、Follow system(跟随系统);三页引导标题和正文见 R1.3。 |
| 关联验收标准 | A01–A14 |
R1.1 Splash(启动页)#
| 字段 | 规则 |
|---|---|
| 展示 | 启动页整体视觉以已确认的 v1.1.0 UI 图为准,不再沿用线上启动页视觉。保留线上 Slogan:Make space for what matters(为重要内容腾出空间)。本 PRD 不另行定义 Logo、背景、间距或动效细节。 |
| Logo | 更换为已确认 UI 图中的新 Logo,不保留线上 v1.0.8 Logo。 |
| 进度条 | 底部进度条的样式、尺寸和位置以已确认 UI 图为准;产品含义只表达启动中的等待状态,不新增百分比、速度或完成时间承诺。 |
| 用户交互 / 跳转 | 不增加可点击操作;启动完成后进入 R1.2 的首次使用链路判断。 |
| 关键状态 / 异常 | 不修改现有启动时长、完成条件、初始化和异常处理规则。 |
| 数据 / 权限 / 商业化边界 | 不新增权限,不展示广告,不因广告加载等待或延长启动页。 |
R1.2 中台编排#
| 字段 | 规则 |
|---|---|
| 可控模块 | 中台分别提供 Onboarding 展示开关、Language 展示开关和两者先后顺序配置。 |
| Onboarding Skip 目标 | 中台提供自定义参数,支持从 OB1 / OB2 的 Skip(跳过)进入 OB3 或直接进入 Home;参数缺失、无效或未配置时默认直接进入 Home。具体完成状态见 R1.3。 |
| 两个模块均开启 | 支持 Onboarding → Language → Home 和 Language → Onboarding → Home。 |
| 仅开启一个模块 | 只展示已开启且尚未完成的模块,完成后进入 Home。 |
| 两个模块均关闭 | Splash 完成后直接进入 Home。 |
| 已完成模块 | 两个模块分别记录完成状态;某模块完成后,后续正常启动不再展示,即使中台重新开启或调整顺序也不重复展示。 |
| 关闭但未完成 | 模块在完成前被中台关闭时只跳过,不写入完成状态;以后再次开启时仍按配置展示。 |
| 配置兜底 | 优先使用本次获取的有效配置;获取失败时使用最近一次有效缓存;无有效缓存时默认两个模块均开启,并按 Onboarding → Language → Home 执行。 |
R1.3 Onboarding(引导页)#
| 字段 | 规则 |
|---|---|
| 入口 / 触发条件 | R1.2 判断 Onboarding 已开启且尚未完成时进入。 |
| 页数与内容 | 固定三页,主题与用户文案沿用既有内容,主视觉统一升级为精细 3D 插画;不新增第 4 页或其他功能说明。 |
| 三页文案 | 第 1 页:Clean up storage easily(轻松清理存储空间),正文 Find similar photos, large videos, screenshots and files worth reviewing.(查找相似照片、大视频、截图和其他值得复核的文件。)。第 2 页: Review before deleting(删除前先复核),正文 You stay in control. Review every suggestion before anything is removed.(一切由你掌控。删除任何内容前,都可以逐项复核建议。)。第 3 页: Your files stay private(你的文件保持私密),正文 Scanning and cleaning happen on your device. Your personal files are not uploaded.(扫描和清理都在设备本地完成,你的个人文件不会上传。)。 |
| 主视觉统一规则 | 三页使用深祖母绿与薄荷绿为主色、带透明材质和柔和高光的精细 3D 视觉;主体清晰、层级集中,不使用真实用户媒体。插画素材本身不得内嵌标题、正文、Logo、水印、可点击按钮或伪造的系统 / App 页面,所有用户文案与操作均由页面原生 UI 承载。 |
| 第 1 页主视觉 | 表达“整理手机存储”:以手机、收纳容器及照片、视频、截图、文件卡片组成扫描与归整构图,不使用单一垃圾桶或破坏性清理作为主画面。 |
| 第 2 页主视觉 | 表达“删除前复核”:以媒体复核面板、已选状态、带勾盾牌和作为最终操作提示的垃圾桶组成构图;整体保持安全、可控,不制造警告或恐吓感。 |
| 第 3 页主视觉 | 表达“本机隐私保护”:以手机、私密媒体、透明保护罩 / 保险库、盾牌和闭合锁组成构图,明确传达文件留在设备本地。 |
| 第 1、2 页首次正向进入 | 使用全屏引导布局,底部不展示广告;主操作为大按钮,显示 Continue · {N}s(继续 · N 秒),从最多 3 秒开始倒计时。倒计时期间按钮可点击并立即前进;用户不点击时,倒计时结束自动进入下一页,即 OB1 → OB2、OB2 → OB3。 |
| 第 3 页 | 使用半屏引导布局;引导内容与操作区位于上半部分,底部展示 Native Ad(原生广告)。 |
| 第 3 页按钮 | 使用小按钮,锁定为 Get Started(开始使用),不倒计时、不自动前进,等待用户点击;按钮不得覆盖或伪装成广告内容。 |
| 返回与回看 | OB1、OB2、OB3 均不显示左上角返回按钮。用户可向右滑动返回上一页:OB2 → OB1、OB3 → OB2;OB1 向右滑动不触发跳转。手动滑回 OB1 或 OB2 后,该次停留不再启动或恢复自动倒计时,按钮显示 Continue(继续),只能点击按钮前进。 |
| Skip 跳转 | OB1、OB2 右上角显示 Skip(跳过),按 R1.2 的中台参数进入 OB3 或直接进入 Home,默认直接进入 Home。OB3 的 Skip 固定直接进入 Home,不受该参数影响。 |
| 完成状态 | 点击 OB3 的 Get Started 时记录 Onboarding 已完成,并进入首启链路中的下一模块或 Home。任一页 Skip 到 Home 时记录 Onboarding 已完成并直接进入 Home;该次启动不再展示尚未完成的 Language,但不得把 Language 写为已完成,后续启动仍按中台开关与本地状态判断是否展示。OB1 / OB2 Skip 到 OB3 时暂不记录完成,只有从 OB3 退出后才记录完成。仅浏览部分页面、滑动回看或异常退出不记为完成;完成后正常启动不重复展示。 |
| 广告异常 | 原生广告未加载、无填充或加载失败时隐藏广告内容,Get Started 仍可正常使用,不阻断流程。 |
| 数据 / 权限 / 商业化边界 | 第 1、2 页不展示广告;第 3 页仅展示 Native Ad;引导阶段不申请系统权限。 |
R1.4 Language(语言选择页)#
| 字段 | 规则 |
|---|---|
| 入口 / 触发条件 | R1.2 判断 Language 已开启且尚未完成时进入;与 Onboarding 的先后由中台配置决定。 |
| 展示 | 列表第一项固定为 Follow system(跟随系统),其后按全球常用顺序展示 18 种语言:English、Español、हिन्दी、Português (Brasil)、简体中文、العربية、Français、Bahasa Indonesia、Русский、Deutsch、日本語、한국어、Tiếng Việt、Türkçe、Italiano、ไทย、Polski、繁體中文。Follow system 是语言选择模式,不计为第 19 种语言。 |
| 新增语言及代码 | 新增 हिन्दी(印地语,hi)、Tiếng Việt(越南语,vi)、ไทย(泰语,th)、Italiano(意大利语,it)、繁體中文(繁体中文,zh-TW)、Polski(波兰语,pl)。 |
| 语言资源范围 | 新增 6 种语言必须覆盖 App 现有全部用户可见文案及 v1.1.0 新增文案;不得只增加语言名称或仅翻译 Language 页面。 |
| 首次默认选中 | 本地没有已保存语言选择时:系统语言能匹配 18 种支持语言之一,则默认选中 Follow system(跟随系统)并应用匹配语言;系统语言无法匹配时,默认选中并应用 English(英语)。用户仍需主动点击一个选项才完成首次 Language 模块。 |
| 跟随系统规则 | 用户主动选择 Follow system 后保存“跟随系统”模式;系统语言变化时按当前系统语言重新匹配。匹配不到 18 种支持语言时,实际文案回退为 English,但 Settings 仍显示 Follow system 为当前选择。 |
| 选择交互 | 点击 Follow system 或任一具体语言后立即保存并应用,将首次 Language 模块记为已完成,再进入下一模块或 Home。 |
| 两页面一致性 | 首次 Language 页面与 Settings 的 Language 页面使用完全相同的选项、排列顺序、匹配规则和已选状态;任一页面修改后另一页面同步显示当前选择。Settings 中修改后立即应用并留在既有设置链路。 |
| 完成状态 | 首次 Language 完成后正常启动不重复展示;之后仍可从 Settings 随时修改。 |
| 广告位 | 页面底部展示 Native Ad;语言列表和选中操作不得被广告遮挡,广告不得伪装成语言选项。 |
| 广告异常 | 原生广告未加载、无填充或加载失败时隐藏广告内容,语言选择仍可完成。 |
| 数据 / 权限 / 商业化边界 | 新增语言只增加本地化资源,不申请系统权限;除广告 SDK 既有合规数据外,不因语言选择新增个人数据采集。 |
R2:一级信息架构#
| 字段 | 规则 |
|---|---|
| 入口 / 触发条件 | 用户进入 Home(首页)或点击任一底部一级 Tab。 |
| Home 顶部 | 顶部显示产品名称 Tidyvo Cleaner,名称下方显示 R3.1 定义的动态扫描小字;不保留其他固定副标题,并去掉右上角 Settings(设置)入口。 |
| Home 主卡 | 1、沿用现有“存储状态 + Smart Clean”合并主卡,继续展示真实总空间、已用空间、可用空间和存储进度。尚无成功扫描时不展示扫描时间区域;首次成功扫描后才展示 R3.1 定义的 Last scanned {time}(上次扫描:{时间})。2、Smart Clean 主按钮只使用三种状态: Allow access(允许访问)、Scanning…(正在扫描……)、Clean X(清理 X),其中 X 为当前真实可清理容量;不使用 Scan(扫描)或 Scan again(重新扫描)。3、完整扫描成功但无建议删除项时隐藏主按钮;Smart Clean 卡片本身仍可进入最近一次空结果页,并在二级页使用 Refresh(重新扫描)。 |
| Home 功能顺序 | 功能区锁定为 Photos(图片)→ Videos(视频)→ Junk Cleaner(垃圾清理)→ Notification Cleaner(通知清理)→ Battery info(电池信息)→ Storage Widget(存储组件)。 |
| Photos / Videos 卡片 | 1、Photos 与 Videos 使用首页优先级更高的横向数据卡,按上述顺序展示。 2、未获得所有文件访问权限时,两张卡只显示分类图标、名称和实心绿色按钮 Clean(清理);不显示 Permission required(需要权限)、历史项目数、容量或缩略图。点击卡片或 Clean 只进入统一授权链路,不直接清理。3、有效扫描后展示真实待复核项目数、最多 4 张当前候选媒体缩略图,以及实心绿色按钮 Clean X(清理 X)。4、Photos 聚合既有 Similar、Duplicates、Screenshots、Blurry 能力;Videos 承接 Smart Clean 的视频候选复核能力。App 不再提供独立的 All Photos(全部照片)或 All Videos(全部视频)入口与页面。原六个分类不再作为 Home 独立卡片,但本文保留的对应分类能力和处理规则继续生效。 |
| 其他四项展示 | Junk Cleaner、Notification Cleaner、Battery info 和 Storage Widget 使用紧凑功能卡,按两列两行及锁定顺序展示;卡片只显示图标和名称,不展示虚构数量、评分、节省空间或设备状态。 |
| Notification Cleaner | 该功能已在线上 v1.0.8 存在,本版只调整 Home 入口位置和展示形态;点击后沿用既有一次性清理,仅处理用户在既有页面主动选择的当前通知,不改为后台持续监听、自动清理或通知收纳箱。 |
| 一级导航 | 底部固定为四个一级 Tab,顺序为 Home(首页) / Tools(工具) / Charging(充电) / Settings(设置)。 |
| Charging 一级化 | 第三个一级 Tab 标签锁定为 Charging(充电);点击后进入既有 Charging Animation(充电动效)页面,页面标题保留完整名称。该功能从 Tools 移出;一级页无返回按钮并显示四 Tab,既有充电动效预览、选择、启用及异常规则不变。 |
| Compress 层级 | Compress 从第三个一级 Tab 移入 Tools;点击 Tools 内 Compress(压缩)进入二级功能,隐藏底部 Tab,并可返回 Tools。视频选择、预览、三档压缩、处理、取消、报告及原视频处理按 R5.2 执行。 |
| Settings 层级 | Settings 从 Home 右上角二级入口调整为第四个一级 Tab;Settings 一级页无返回按钮,并显示四 Tab 底部导航。 |
| Settings 一级页结构 | 页面按以下分组和顺序展示: 1、 GENERAL(通用):Language(语言)、Permissions(权限)。2、 DATA(数据):Local data(本地数据)。3、 PRIVACY & ABOUT(隐私与关于):Privacy Policy(隐私政策)、Website(官网)、Rate us(评价我们)、Version(版本)。 |
| Settings 子页面 | Language、Permissions、Local data 为二级页面;进入后隐藏底部 Tab,并提供返回 Settings 的操作。删除 Scan thresholds(扫描阈值)入口及二级页面,Settings 和其他页面均不再提供该功能入口。 |
| Permissions 展示 | Permissions 二级页固定展示 5 项,并使用真实系统状态: 1、 All files access(所有文件访问):Scan and clean photos, videos, and junk files(扫描并清理照片、视频和垃圾文件)。2、 Notification access(通知使用权):Clean selected notifications(清理选中的通知)。3、 Notifications(通知):Receive helpful reminders(接收实用提醒)。4、 Contacts(联系人):Find and merge duplicate contacts(查找并合并重复联系人)。5、 Usage access(使用情况访问):Show app size and last used time(显示应用大小和最后使用时间)。每项状态只显示 Allowed(已允许)或 Not allowed(未允许)。 |
| Permissions 交互 | 1、进入 Permissions 页面时不自动弹出系统授权,不提供 Enable all(全部开启);点击单项后才进入 Android 对应权限或设置流程:All files access 进入 Tidyvo 的所有文件访问系统页;Notification access 进入系统通知使用权页;Notifications 按系统当前状态进入通知权限申请或 Tidyvo 通知设置页;Contacts 按系统当前状态进入联系人权限申请或 Tidyvo 权限设置页;Usage access 进入 Tidyvo 的使用情况访问系统页。2、用户进入对应功能且权限未开启时,也可按该功能既有链路触发同一项权限申请;从 Settings 或功能入口完成授权后的状态必须一致。 3、冷启动、Splash、Onboarding 和 Language 均不主动申请上述权限。 4、从系统页返回、App 恢复前台或重新进入本页时必须重新读取并刷新 5 项真实状态。 |
| Local data | Clear scan cache(清除扫描缓存)只清理扫描过程中产生的临时缓存;保留上次有效扫描结果、Last scanned(上次扫描)和新增内容基线,不删除照片、视频、联系人、Private Space 文件或其他用户文件。清除后当前扫描结果页面不清空,下一次扫描可重新生成所需临时缓存。Local data 中其他既有本地缓存项沿用 v1.0.8,且均不得删除用户原文件。 |
| 隐私与关于交互 | Privacy Policy 沿用当前正式隐私政策目标,Website 使用正式官网配置目标,PRD 不固化两者的具体 URL;点击后均通过系统浏览器打开。Rate us 打开 Tidyvo Cleaner 的 Google Play 商店详情;Version 仅展示当前版本 v1.1.0,不作为可点击入口。 |
| To clean / Records 调整 | 删除 To clean 的底部入口、常驻页面和跨分类待清理队列,同时删除 Records(操作记录)的入口、页面和历史列表。Smart Clean 二级页可发起跨分类删除,各分类三级页可发起当前分类删除;两条链路均为当次选择、当次确认、当次执行,不建立跨页面待清理清单。删除报告页的 Done(完成)统一返回刷新后的 Smart Clean 二级页。 |
| 其他一级页 | Home、Tools、Charging 的既有内容和业务规则继续保留,并叠加本文 R3–R5 明确新增的内容;一级页均无返回按钮并显示四 Tab。 |
| 关键状态 / 异常 | Tab 切换不得形成重复页面实例或丢失当前一级页的正常返回路径;二级页面返回对应一级页。 |
| 数据 / 权限 / 商业化边界 | Notification Cleaner 沿用 v1.0.8 既有通知使用权申请时机和本地处理边界;本需求不新增通知后台监听、通知内容留存、通知推送策略、数据上传或 Home 广告位。 |
| 关键用户文案 | Tidyvo Cleaner、Last scanned {time}(上次扫描:{时间})、Allow access(允许访问)、Scanning…(正在扫描……)、Clean(清理)、Clean X(清理 X)、No cleanup suggestions found(暂未发现可清理文件)、N items to review(N 项待复核)、Photos(图片)、Videos(视频)、Junk Cleaner(垃圾清理)、Notification Cleaner(通知清理)、Battery info(电池信息)、Storage Widget(存储组件)、Home(首页)、Tools(工具)、Charging(充电,底部 Tab)、Charging Animation(充电动效,页面标题)、Settings(设置)、Compress(压缩)。 |
| 关联验收标准 | A15–A18、A55、A74–A76 |
R3:统一文件授权、扫描状态与任务直达链路#
| 字段 | 规则 |
|---|---|
| 完整链路 | 首次进入 Home 显示所有文件授权引导 → 授权成功后返回并停留 Home、立即开始完整扫描 → 用户可点击 Home 的 Scanning 进入 Smart Clean 查看同一次扫描进度 → 二级或三级页复核与选择 → 当次删除确认 → 执行删除并重新查询 → 本次清理报告与固定功能推荐 → Done 返回刷新后的 Smart Clean 二级页;后续仍可由 Home、Widget 或通知直达对应任务。Home 不单独展示新增待处理模块。 |
| 页面返回 | Photos、Videos 和 Junk Cleaner 复用同一套复核页面,但按实际入口返回:从 Home 进入时返回 Home,从 Smart Clean 进入时返回 Smart Clean;执行删除并进入 Cleanup report 后,Done 统一返回刷新后的 Smart Clean。 |
| 统一权限原则 | Photos、Videos、Junk Cleaner 和 Home Smart Clean 共用 R3.1 的所有文件访问授权,不再单独申请照片或视频媒体权限;Notification Cleaner 沿用既有通知使用权,不因文件权限未授权而被拦截。 |
| 数据来源 | 仅使用所有文件访问权限当前真实可读取的本机文件、系统真实存储数据和删除后重新查询结果;Home 媒体缩略图只在本机读取和展示,不上传媒体名称、缩略图或文件 URI。 |
| 清理处理规则 | 1、Smart Clean 二级页支持逐项选择、按分类选择和全选;点击底部 Clean X(清理 X)后,仅对二级页当前已选文件发起删除。2、任一分类三级页支持逐项选择和全选;点击底部 Delete(删除)后,仅对当前分类三级页的已选文件发起删除,Smart Clean 二级页其他分类的选择不随本次操作执行。3、每次点击二级页 Clean 或三级页 Delete 都必须展示当次删除确认弹窗,不提供“以后不再询问”或跳过确认。弹窗展示去重后的项目数、当前可验证容量和永久删除警告,操作为 Cancel(取消)和 Delete(删除);取消弹窗时停留原页面并保留当前选择。4、用户确认后才请求必要的 Android 系统授权并执行删除;取消系统授权时文件保持不变并返回原页面,不生成成功结果。 5、执行后必须重新查询真实文件状态,并根据实际成功、部分成功或失败结果进入 R3.5 报告页;报告页 Done(完成)统一返回刷新后的 Smart Clean 二级页。 |
| 关联验收标准 | A19–A32、A50–A56、A76 |
R3.1 扫描基线与新增任务#
| 字段 | 规则 |
|---|---|
| 首次基线 | 首次成功扫描只建立新增内容基线,不把设备已有内容记为新增任务;既有 Similar、Duplicates、Screenshots、Blurry 和 Videos 候选能力分别由 Photos、Videos 聚合入口承接,仍正常展示真实结果;不生成独立 All Photos 或 All Videos 任务。 |
| 首次 Home 授权引导 | 1、用户安装后首次到达 Home,若尚未获得所有文件访问权限,页面稳定展示后自动弹出一次 App 内授权引导;不在 Splash、Onboarding 或 Language 页面提前展示。 2、用户选择 Allow access(允许访问)后进入对应 Android 系统授权页;选择 Not now(暂不)则关闭弹窗并停留 Home。3、首次自动引导是否已展示保存在本机;用户选择暂不或从系统页未授权返回后,后续进入 Home 不自动重复弹出。 |
| 授权引导文案 | 标题为 Allow all files access(允许访问所有文件);正文为 Tidyvo needs access to scan and clean photos, videos, and junk files on your device. Your files stay on this device.(Tidyvo 需要此权限来扫描并清理设备中的照片、视频和垃圾文件。文件仅保留在本机。);操作为 Allow access(允许访问)和 Not now(暂不)。 |
| 未授权后续触发 | 未授权时,用户点击 Home 的 Smart Clean 主按钮、Photos 卡片或其按钮、Videos 卡片或其按钮、Junk Cleaner 卡片,均再次展示同一 App 内授权引导;Notification Cleaner、Battery info、Storage Widget 和底部 Tab 切换不触发该文件权限引导。 |
| 系统授权返回 | 1、从系统授权页返回后立即重新读取真实权限状态。 2、首次 Home 引导或 Smart Clean 触发后确认已授权时,返回并停留 Home,立即开始完整扫描;Home 顶部小字和 Smart Clean 主按钮同步显示 Scanning…(正在扫描……),不自动进入 R3.2,也不出现 Scan(扫描)中间状态。用户点击 Scanning 后进入 R3.2 查看同一次扫描进度,不创建第二个扫描任务。3、Photos、Videos 或 Junk Cleaner 触发后确认已授权时,仍立即执行原点击分类扫描,完成后进入对应结果页,不强制返回 Home。 4、扫描失败时停留对应页面并展示失败状态;仍未授权时停留当前页面并展示未授权状态,不扫描文件、不生成结果,也不改写扫描基线。 |
| 系统页底部引导目标 | 用户由 Tidyvo 的 Home 授权链路或 Permissions 页进入 Android All files access(所有文件访问)系统页、且权限尚未开启时,目标是在系统页底部显示圆角浅色引导面板:左侧为 Tidyvo 图标与 Tidyvo Cleaner,右侧为橙色开关和手指点按动效,用于提示用户操作系统页面中的真实开关。引导面板不承担授权、不伪装成可替代系统开关的真实控件,也不得遮挡系统开关、返回键或系统说明;用户仍必须在 Android 系统页面自行开启权限。 |
| 系统页引导实现边界 | 上述底部悬浮引导为本版确定规则;实现不得新增 SYSTEM_ALERT_WINDOW(在其他应用上层显示)权限,不得使用 Accessibility(无障碍)、Root、设备管理能力或伪造 Android 系统页面。引导只提示用户操作真实系统开关,不承担授权结果。 |
| 首页完整扫描 | 取得所有文件访问权限后,Smart Clean 完整扫描统一读取当前可访问的 Similar、Duplicates、Screenshots、Blurry、Videos 及 R4 Junk files 六类候选;Home 使用同一次有效扫描结果,不再弹出或申请独立照片、视频媒体权限。 |
| 主卡上次扫描 | 尚无成功扫描时不展示 Not scanned(未扫描)、Last scanned(上次扫描)或时间占位,整个扫描时间区域隐藏。首次成功扫描后才显示 Last scanned {time}(上次扫描:{时间}),时间按设备当前语言和时区本地化。只有获得所有文件访问权限并完成有效扫描时更新时间;扫描中、失败、取消或权限中途撤回时保留上一次成功时间。 |
| 顶部小字位置 | 在 Home 产品名称 Tidyvo Cleaner 下方固定保留一行动态小字,只展示当前扫描状态或当前仍可释放的空间。 |
| 未扫描 / 自动扫描 | 已获得所有文件访问权限但尚无任何一次有效完整扫描时,不形成可停留的 Scan(扫描)状态;进入 Home 后立即开始完整扫描,并按扫描中状态展示。 |
| 未授权 | 尚未获得所有文件访问权限时,顶部小字显示 Allow access to scan and clean files(允许访问后扫描并清理文件);Photos 与 Videos 只显示分类图标、名称和 Clean(清理)按钮,不显示 Permission required(需要权限)、历史项目数、容量或缩略图。点击卡片或 Clean 均再次展示同一授权引导,不直接扫描或清理。 |
| 扫描中 | 完整扫描执行期间显示 Scanning…(正在扫描……),不同时展示上一轮数量或容量。 |
| 扫描成功 | 存在一个或以上建议删除文件时显示 N files can free up X(删除 N 个建议文件,可释放 X);N 为去重后的真实文件数,X 为这些文件当前可验证大小之和,并根据数值使用 MB 或 GB。 |
| Smart Clean 主按钮 | 1、未获得所有文件访问权限时显示 Allow access(允许访问),点击再次展示授权引导。2、已授权但尚无有效扫描结果时立即自动开始完整扫描,不显示 Scan(扫描)。3、扫描中显示 Scanning…(正在扫描……)并禁止重复触发;点击进入正在执行的 Smart Clean 扫描页,不创建第二个扫描任务。4、存在建议删除集合且 X 大于 0 时显示 Clean X(清理 X),X 必须与顶部小字中的当前可清理容量一致;点击进入 R3.2 扫描完成态,不直接删除。5、有效扫描无建议删除项时隐藏主按钮,不显示 Clean 0 MB或 Scan again(重新扫描);Smart Clean 卡片本身仍可进入最近一次空结果页。 |
| 建议删除集合 | 汇总 Similar、Duplicates、Screenshots、Blurry、Videos,以及 R4 中真实命中的 App cache、Temporary files、Log files、Installation files 和 Empty folders;所有项目均为待用户复核候选,不代表 App 已决定删除。 |
| 统计排除 | Notification Cleaner、未命中 Similar / Duplicates / Screenshots / Blurry 规则的普通照片、当前不可读取或受系统保护的文件均不计入建议删除数量和容量;Smart Clean 不提供 Check large files / Large files(检查大文件 / 大文件)入口或独立统计。 |
| 去重口径 | Smart Clean 顶部项目数与容量按六类候选的文件并集去重;同一文件同时命中多个分类时只统计一次,文件不存在、已处理或已不符合规则时从集合移除。各分类卡展示该分类自身候选,分类数值之和可能因交叉命中而大于顶部去重结果。 |
| Photos 卡片统计 | 1、N 为既有 Similar、Duplicates、Screenshots 和 Blurry 扫描规则产生的当前待复核图片候选去重数;同一图片同时命中多个分类只计一次,未命中上述候选规则的普通图片不计入。 2、X 为这 N 个候选当前可验证大小之和,表示全部候选均被用户选中并成功删除时的最大分类容量,不代表已删除容量。 |
| Videos 卡片统计 | N 为所有文件访问权限当前可读取的 Videos 页面全部真实视频数量,X 为 Large、Medium、Small 三档全部视频当前可验证大小之和;Home 的 Videos 卡片始终按全部视频计算 X,不受进入页面后的默认勾选状态影响。无法读取的内容不计入,也不得使用历史值或估算值补齐。 |
| 媒体卡展示 | 1、未授权时只显示分类图标、名称和实心绿色按钮 Clean(清理),不显示权限提示、历史数据或缩略图。2、存在候选时显示 N items to review(N 项待复核),并显示实心绿色按钮 Clean X(清理 X);X 小于 1 GB 时使用 MB,达到 1 GB 后使用 GB。3、每张卡最多展示 4 张当前候选的本地缩略图;候选不足时只展示实际数量,无候选或缩略图读取失败时使用分类图标或真实空状态,不使用虚构媒体补位。 4、扫描中和无候选必须显示对应真实状态,不显示 0 items · 0 MB或虚假 Clean 0 MB。 |
| 媒体清理按钮 | 1、未授权时,Photos 或 Videos 的 Clean(清理)只再次展示统一授权引导,不直接扫描或删除。2、有效扫描后,Photos 或 Videos 的 Clean X(清理 X)点击进入对应二级复核页并沿用该分类既有选择规则,不自动删除、不绕过删除前确认,也不因按钮容量默认承诺实际释放同等空间。实际释放量只以删除后重新查询结果为准。 |
| 无候选 | 完整扫描成功但建议删除集合为空时,Home 顶部显示 No cleanup suggestions found(暂未发现可清理文件)并隐藏 Smart Clean 主按钮;Smart Clean 卡片仍可进入 R3.2 空结果页,重新扫描只通过二级页的 Refresh(重新扫描)发起。 |
| 失败 / 中断 | Smart Clean 不提供手动取消;扫描因权限撤回、存储卸载、读取失败、进程终止或其他系统原因中断时显示 Scan incomplete. Try again(扫描未完成,请重试),不使用本次不完整数量或容量覆盖最近一次有效结果。 |
| 清理后更新 | 媒体或垃圾文件删除后立即重新查询并更新剩余建议数量与容量;本次真实删除结果只在对应清理结果页展示,不在 Home 建立清理成果或累计结果模块。 |
| 后续扫描 | 每次后续成功扫描与上一次成功基线比较,把新发现且符合既有分类规则的媒体加入“新增待处理”集合,然后更新基线。 |
| 待处理保留 | 再次扫描不会清空此前尚未复核的新增内容;已不存在、已复核或已成功处理的媒体从集合移除。 |
| 失败边界 | 扫描取消、失败或权限失效时不更新基线,不生成新任务,也不覆盖最近一次有效结果。 |
| 处理完成 | 用户对该批新增内容完成复核并明确删除或保留后,视为已处理,不再作为新增任务重复出现。 |
R3.2 Smart Clean(二级页)#
| 字段 | 规则 |
|---|---|
| 入口 / 触发条件 | 1、Home 正在完整扫描时,用户点击 Scanning…(正在扫描……)进入本页并查看同一次扫描进度;不重复创建扫描任务。Home 或 Smart Clean 授权成功后只在 Home 自动开始扫描,不自动进入本页。2、Home 主按钮为 Clean X(清理 X)且最近一次有效结果仍可用时,点击进入本页的扫描完成态。3、最近一次有效结果无建议删除项时,点击 Home 的 Smart Clean 卡片进入本页空结果态;用户可点击 Refresh(重新扫描)发起新扫描。 |
| 页面层级 | 本页为 Smart Clean 二级页面,顶部提供返回 Home 的操作并隐藏底部 Tab;页面不展示 Check large files / Large files(检查大文件 / 大文件)入口。 |
| 扫描动效与取消 | 扫描期间顶部持续展示扫描动效;页面不提供 Cancel、Stop 或关闭扫描操作,返回 Home 只离开页面、不取消扫描。再次进入时继续展示同一次扫描的当前进度或最终结果,不重复创建扫描任务。 |
| 扫描中汇总 | 固定显示 Scanning…(正在扫描……)、{N} items analyzed(已分析 N 项)和 {X} MB/GB found so far(目前已发现 X MB/GB)。N 与 X 随真实扫描进度更新;X 小于 1 GB 时使用 MB,达到 1 GB 后使用 GB。扫描中不显示“可清理多少项”的总数,不展示 Refresh。 |
| 当前扫描阶段 | 按 Similar → Duplicates → Screenshots → Blurry → Videos → Junk files 的实际执行阶段动态显示 Analyzing similar photos…(正在分析相似照片……)、Analyzing duplicates…(正在分析重复项……)、Analyzing screenshots…(正在分析截图……)、Analyzing blurry photos…(正在分析模糊照片……)、Analyzing videos…(正在分析视频……)或 Analyzing junk files…(正在分析垃圾文件……)。实现无法真实判断当前阶段时统一显示 Analyzing your files…(正在分析文件……),不得伪造分类进度。 |
| 扫描完成汇总 | 完整扫描成功后显示 Scan complete(扫描完成)、{N} items analyzed(已分析 N 项)和 {X} MB/GB can be freed(可释放 X MB/GB);只显示已分析总项数和可释放容量,不显示“可清理多少项”的总数。X 使用 R3.1 的六类候选并集去重口径。 |
| Refresh | 扫描完成后显示 Refresh(重新扫描);点击后立即开始新一轮完整扫描,不弹二次确认。新扫描完成前不得用不完整结果覆盖最近一次有效结果。 |
| 分类顺序 | 结果区固定按 Similar(相似)→ Duplicates(重复)→ Screenshots(截图)→ Blurry(模糊)→ Videos(视频)→ Junk files(垃圾文件)展示六张分类卡。 |
| 分类默认排序 | 1、六张分类卡位置固定,不根据项目数、容量或扫描完成先后动态换位。 2、Similar 与 Duplicates 按每组最大潜在释放容量从大到小排序。 3、Screenshots 与 Blurry 按文件大小从大到小排序,大小相同时按文件修改时间从旧到新排序;Blurry 不按模糊程度排序。 4、Videos 固定按 Large → Medium → Small分组,各组内按文件大小从大到小排列。5、Junk files 的类型顺序固定为 App cache → Temporary files → Log files → Installation files → Empty folders;同一类型内按容量从大到小排序。6、上述主要条件相同时,再按稳定文件标识兜底,保证同一结果重复进入或刷新时不会无故跳序。 |
| 分类卡布局 | 1、分类标题位于卡片左上方,右侧为分类行动按钮,下方展示预览内容。 2、Similar、Duplicates、Screenshots、Blurry 和 Videos 取该分类默认排序后的前 3 个真实候选作为本地缩略图预览;不足 3 个时只展示实际数量,Videos 缩略图带视频播放标识。 3、Junk files 不使用照片缩略图,按默认类型顺序使用 R4 真实命中类型的文件图标、名称或摘要表示其内容。不得使用虚构媒体或文件类型补位。 |
| 默认选择 | 每次新的完整扫描成功并生成有效结果时,Similar、Duplicates、Screenshots、Blurry、Junk files 的真实建议删除候选默认选中,其中 Similar、Duplicates 分组中的 Best(最佳)推荐保留项默认不选。Videos 只默认选中 Large 视频,Medium 与 Small 默认不选;空分类不参与选择。默认选择只初始化一次,用户随后手动调整后,在同一扫描结果内离开页面、进入分类详情或返回 Smart Clean 时保留当前选择;Refresh 或结果失效后,由下一次有效扫描重新初始化。完成一次删除后只移除已删除项目并同步重叠分类,未受删除影响的剩余项目继续保留删除前的选择状态,不重新初始化。 |
| 右上角全选 | 1、只在扫描完成且至少存在一个候选文件时显示。 2、全部候选均已选中时显示 Deselect all(取消全选),点击后取消全部选择。3、存在任一未选候选时显示 Select all(全选),点击后选中当前结果内全部有效候选。4、扫描中、扫描失败或无候选时不显示该操作。 |
| 分类选择 | 1、每张非空分类卡提供独立选择框,状态为全选、半选或未选;分类内全部候选已选时为全选,部分已选时为半选,均未选时为未选。 2、点击未选或半选状态的选择框时选中该分类全部当前候选;点击全选状态时取消该分类全部当前候选。 3、同一文件命中多个分类时只保留一个全局选择状态;从任一分类改变该文件选择后,其他相关分类的全选、半选状态和容量同步刷新。 |
| 分类行动按钮 | 按钮本身展示该分类当前真实候选项目数和最大可释放容量,并显示进入箭头;扫描中或该分类无有效结果时禁用。点击进入对应分类复核页逐项调整选择;用户使用页面返回操作时只同步选择并返回 Smart Clean,不执行删除。三级页底部 Delete 才发起当前分类删除,并继续执行当次确认。 |
| 底部清理按钮 | 1、扫描完成且存在候选时,页面底部固定显示实心主按钮 Clean X(清理 X);X 为全部已选文件去重后的当前可验证容量,并根据数值使用 MB 或 GB。2、用户改变全选、分类或详情内的项目选择时,按钮容量实时重新计算;未选任何文件时按钮显示 Clean(清理)并禁用。3、点击可用按钮必须展示当次删除确认弹窗,不直接删除。弹窗展示本次已选分类、去重后的项目数和总容量,并明确 Files will be permanently deleted and can’t be restored(文件将被永久删除,且无法恢复);取消时关闭弹窗、停留 Smart Clean 并保留选择,确认后才执行删除。 |
| 分类容量口径 | 每张分类卡的容量表示该分类全部当前候选均被用户选择并成功删除时的最大潜在释放空间,不是实际清理结果或释放承诺;同一文件可能命中多个分类,因此六张分类卡容量相加不要求等于顶部去重后的 X。 |
| 无候选 / 异常 | 完整扫描成功且六类均无候选时显示 No cleanup suggestions found(暂未发现可清理文件),不显示 0 items · 0 MB式虚假行动按钮,也不显示全选操作或底部清理按钮;保留 Refresh(重新扫描)。扫描失败且无法使用最近一次有效结果时停留本页失败状态,显示 Scan incomplete. Try again(扫描未完成,请重试)和 Retry(重试);点击 Retry 开始新一轮完整扫描。 |
| 数据 / 权限边界 | 只读取所有文件访问权限当前允许读取的本机内容;缩略图、文件名、路径、扫描清单和分类结果不上传。二级或三级页均不得自动删除文件,每次实际删除都必须由用户在当次确认弹窗中明确确认。 |
Photos(图片聚合二级页)#
| 字段 | 规则 |
|---|---|
| 入口 / 返回 | 从 Home 的 Photos 卡片、图片 Widget 任务或图片通知任务进入;页面隐藏底部 Tab,返回 Home。 |
| 聚合内容 | 固定按 Similar → Duplicates → Screenshots → Blurry展示四张分类卡,每张卡显示当前真实项目数、容量和最多 3 张真实预览;不增加 All Photos 页面、全量照片网格或新增内容筛选。 |
| 分类跳转 | 点击分类卡进入对应分类复核页;分类页使用页面返回操作时回到 Photos 聚合页,删除后进入 Cleanup report,Done 统一返回 Smart Clean。 |
R3.2.1 Similar(相似照片三级页)#
| 字段 | 规则 |
|---|---|
| 入口 / 页面层级 | 点击 Smart Clean 或 Photos 聚合页的 Similar 分类行动按钮进入本三级页;顶部显示返回按钮和居中标题 Similar(相似),隐藏底部 Tab。未执行删除时返回实际来源页。 |
| 顶部汇总 | 显示 {N} photos · {X} MB/GB(N 张照片 · 占用 X MB/GB)。N 统计所有 Similar 分组中的真实照片数量并跨分组去重,包含各组 Best;X 为这些照片当前可验证大小之和,不使用分组数、已选数量或预计释放容量替代。 |
| 排序入口 | 顶部排序按钮提供 Newest(最新)、Oldest(最旧)、Largest(最大)三种排序,默认 Largest。Newest 按各组最新一张照片的拍摄时间从近到远排列;Oldest 按各组最早一张照片的拍摄时间从远到近排列;Largest 按各组当前已选删除候选的可释放容量从大到小排列。缺少拍摄时间时使用文件修改时间,主要条件相同时使用稳定文件标识兜底。排序只改变分组顺序,不改变组内顺序、Best、选择状态或容量口径。 |
| 分组标题 | 每组标题使用单行 N similar · X MB/GB · Y selected(N 张相似照片 · 占用 X · 已选 Y 张);X 为该组全部照片的当前可验证大小之和,Y 为该组当前实际选中的删除目标数,不拆成第二行。右侧显示该组 Select(选择)或 Deselect(取消选择)操作。 |
| 照片轨道 | 每组照片只使用一条可左右滑动的横向轨道,禁止换行或使用多排网格;右侧可露出部分下一张缩略图提示仍可滑动。Best 固定在最左侧第一张并展示标签,其余照片按当前组内顺序排列在右侧。 |
| 选择规则 | 选中 = 删除、未选中 = 保留。Best 默认未选中,其他建议删除候选默认选中;用户可逐张切换。页面和分组的 Select all / Deselect all(全选 / 取消全选)只批量处理建议删除候选,不自动选中 Best;Best 只有用户明确点击时才可变为删除目标。 |
| 底部操作 | 1、固定显示 {N} selected · {X} MB/GB(已选 N 项 · X MB/GB)和 Delete(删除)。N 与 X 按当前已选照片去重后实时计算;未选择任何照片时 Delete 禁用。2、点击 Delete 必须展示当次删除确认弹窗;确认后只删除 Similar 当前已选照片,不执行 Smart Clean 二级页其他分类的选择。取消弹窗时停留本页并保留选择。 3、使用页面返回操作时只把当前选择同步回 Smart Clean,不弹确认、不执行删除。 |
| 删除结果 / 返回 | 确认删除后按 R3 通用规则请求必要的系统授权、执行删除并重新查询;随后进入 R3.5 报告页。报告页 Done 返回刷新后的 Smart Clean 二级页,已删除照片从 Similar 及其他重叠分类中同步移除。 |
| 空状态 / 失效 | 页面打开后照片已不存在、权限被撤回或分组失效时,立即从结果与选择中移除对应项并重新计算;全部失效时展示真实空状态并禁用 Delete。 |
Duplicates(重复文件三级页)#
| 字段 | 规则 |
|---|---|
| 页面复用 | Duplicates 复用 Similar 的页面结构、汇总、排序、单排横向轨道、底部选择汇总、删除确认、报告和返回规则;页面标题与分组文案使用 Duplicates(重复文件)语义。 |
| Best 与默认选择 | 每组只保留 1 个 Best(最佳文件)并固定展示在最左侧,Best 默认不选;同组其余重复文件默认选中删除。用户可逐项、逐组或全页修改选择,批量选择不自动选中 Best。 |
| 删除边界 | 点击 Delete 只删除 Duplicates 当前已选文件;取消或页面返回不删除。成功删除后同步移除 Smart Clean、Similar 或其他重叠分类中的同一文件。 |
R3.2.2 Screenshots / Blurry(照片网格三级页)#
| 字段 | 规则 |
|---|---|
| 适用页面 / 层级 | Screenshots 与 Blurry 共用同一照片网格模板;点击 Smart Clean 或 Photos 聚合页的对应分类行动按钮进入三级页,页面顶部显示返回按钮、居中分类标题和 Select all / Deselect all(全选 / 取消全选),隐藏底部 Tab。未执行删除时返回实际来源页,App 不提供 All Photos 页面。 |
| 顶部汇总 | 显示 {N} photos · {X} MB/GB(N 张照片 · 占用 X MB/GB)。N 与 X 代表当前有效扫描结果中该分类全部真实照片及其总大小;用户改变选择时顶部数值不变,只有重新扫描、文件失效或真实文件变化时重新计算。 |
| 排序 | 只提供 Newest(最新)、Oldest(最旧)、Largest(最大)三项并默认 Largest,不提供 Blurriest(最模糊)或其他按模糊程度排序。Newest 按拍摄时间从近到远,Oldest 按拍摄时间从远到近,Largest 按文件大小从大到小;缺少拍摄时间时使用文件修改时间,主要条件相同时使用稳定文件标识兜底。排序只改变展示顺序,不改变选择。 |
| 网格与元数据 | 使用三列照片网格,不做 Similar 式分组,也不展示 Best。每张照片左下角使用紧凑标签显示真实文件大小,右上角显示选择勾选状态;不得展示虚构大小、视频时长或播放按钮。 |
| 默认选择 / 调整 | Smart Clean 新结果中的全部 Screenshots、Blurry 建议删除候选默认选中;选中表示准备删除,未选中表示保留。用户可逐张切换,也可使用顶部全选 / 取消全选;选择状态同步回 Smart Clean。 |
| 底部汇总 / Delete | 1、底部固定显示 {N} selected · {X} MB/GB(已选 N 项 · X MB/GB)和 Delete(删除)。底部 N 与 X 按当前选中照片实时变化;默认全部选中时可与顶部总数、总容量相同,取消部分选择后顶部保持分类总量、底部只显示当前选择;无选择时 Delete 禁用。2、点击 Delete 必须展示当次删除确认弹窗;确认后只删除当前 Screenshots 或 Blurry 分类的已选照片,不执行 Smart Clean 二级页其他分类的选择。取消弹窗时停留本页并保留选择。 3、使用页面返回操作时只同步选择回 Smart Clean,不弹确认、不删除。 |
| 删除结果 / 返回 | 确认删除后按 R3 通用规则请求必要的系统授权、执行删除并重新查询;随后进入 R3.5 报告页。报告页 Done 返回刷新后的 Smart Clean 二级页,已删除照片从当前分类及其他重叠分类中同步移除。 |
| 失效 / 空状态 | 文件已不存在、权限撤回或结果失效时立即移除对应项并重新计算顶部、底部与 Smart Clean 状态;全部失效时展示真实空状态。 |
R3.2.3 Videos(视频网格三级页)#
| 字段 | 规则 |
|---|---|
| 入口 / 页面层级 | 点击 Smart Clean、Home Videos 卡片、视频 Widget 任务或视频通知任务进入本页;顶部显示返回按钮、居中标题 Videos(视频)和 Select all / Deselect all(全选 / 取消全选),隐藏底部 Tab。未执行删除时返回实际来源页,App 不提供 All Videos 页面。 |
| 顶部汇总 | 显示 {N} videos · {X} MB/GB(N 个视频 · 占用 X MB/GB)。N 与 X 代表当前有效扫描结果中的全部视频及总大小;选择变化时顶部保持不变,只有重新扫描、文件失效或真实文件变化时重新计算。 |
| 大小分组与顺序 | 按文件大小固定分为三组并按 Large → Medium → Small展示:Large(大视频)为 ≥ 500 MB;Medium(中等视频)为 ≥ 100 MB 且 < 500 MB;Small(小视频)为 < 100 MB。各组内按文件大小从大到小排列,大小相同时按文件修改时间从旧到新排列;不提供 Newest、Oldest、Largest 排序切换。 |
| 网格与元数据 | 使用两列横向视频缩略图网格。每张视频左下角只使用一个半透明标签,将时长和真实文件大小合并为 {duration} · {size},例如 03:42 · 428 MB;时长小于 1 小时使用 mm:ss,达到 1 小时使用 h:mm:ss,大小按 MB / GB 本地化展示。缩略图不展示中央播放按钮,右上角显示选择勾选状态。 |
| 默认选择 / 调整 | Large 组视频默认选中,Medium 与 Small 默认不选;选中表示准备删除,未选中表示保留。用户可逐项切换,也可使用顶部全选 / 取消全选;选择状态同步回 Smart Clean。顶部总容量和 Home Videos 卡片的 Clean X仍统计三组全部视频,不随选择变化。 |
| 底部汇总 / Delete | 1、底部固定显示 {N} selected · {X} MB/GB(已选 N 项 · X MB/GB)和 Delete(删除)。底部 N 与 X 只按当前实际选中视频实时计算;默认状态只计算已选中的 Large 视频,用户勾选 Medium 或 Small 后再计入,无选择时 Delete 禁用。2、点击 Delete 必须展示当次删除确认弹窗;确认后只删除 Videos 当前已选视频,不执行 Smart Clean 二级页其他分类的选择。取消弹窗时停留本页并保留选择。 3、使用页面返回操作时只同步选择回实际来源页面,不弹确认、不删除。 |
| 删除结果 / 返回 | 确认删除后按 R3 通用规则请求必要的系统授权、执行删除并重新查询;随后进入 R3.5 报告页。报告页 Done 返回刷新后的 Smart Clean 二级页,已删除视频从 Smart Clean 与 Home Videos 数据卡中同步移除。 |
| 失效 / 空状态 | 视频已不存在、权限撤回、时长或缩略图不可读时仅展示当前真实可用信息并移除失效选择;全部失效时展示真实空状态,不使用虚构时长、大小或缩略图补位。 |
R3.3 Storage Widget#
| 字段 | 规则 |
|---|---|
| 展示 | Widget 展示系统当前真实总空间、已用空间、可用空间,以及连续两次有效系统存储快照计算出的真实变化。 |
| 任务数量 | 同一时刻最多展示一个 R3.1 中仍有效的新增任务;图片任务聚合到 Photos,视频任务聚合到 Videos,并按预计可释放容量降序选择,同一媒体只形成一个任务。 |
| 用户交互 / 跳转 | 点击图片或视频任务分别进入 Photos 或 Videos 的正常完整复核列表,不按新增内容筛选、不置顶、不增加 New 标记或其他特殊处理;点击存储摘要进入 Home。 |
| 关键状态 / 异常 | 任务已处理、媒体已不存在、权限撤回或数据失效时不继续展示旧数量;目标不可用时安全回到 Home,并允许用户重新扫描。 |
| 数据 / 权限边界 | 不展示媒体名称、缩略图或 URI,不通过 Widget 自动删除内容,也不新增权限。 |
R3.4 通知目标任务直达#
| 字段 | 规则 |
|---|---|
| 适用范围 | 沿用既有通知发送时机、频控和授权规则;本需求只调整点击后的目标路由。 |
| 目标数据 | 每条任务通知必须携带合法的目标任务类型和分类标识,且只能指向 App 已登记的清理任务。 |
| 点击跳转 | 目标仍有效且权限满足时,图片任务进入 Photos、视频任务进入 Videos 的正常完整复核列表,不筛选、置顶或标记新增内容;其他合法任务进入各自目标页,均保留正常返回路径。 |
| 失效兜底 | 目标非法、已处理、媒体不存在或权限不足时安全回到 Home;需要时提示重新扫描,不出现空白页或崩溃。 |
| 安全边界 | 点击通知不得自动删除媒体、卸载应用或绕过 Android 系统授权。 |
R3.5 清理结果报告与固定功能推荐#
| 字段 | 规则 |
|---|---|
| 出现条件 | 媒体或垃圾文件完成删除并重新查询后进入同一 Cleanup report;成功、部分成功和全部失败均复用该页面模板,不新增结果页面。取消删除确认或取消系统授权时返回原链路,不进入报告。 |
| 成功页展示 | 页面标题为 Cleanup report(清理报告);顶部播放成功动效,正文只展示 Cleanup complete(清理完成)、{X} MB/GB freed(已释放 X MB/GB)和 {N} items deleted(已删除 N 项),不展示分类明细、累计释放空间、历史结果或 Records 入口。 |
| 成功动效 | 使用薄荷绿圆环扩散、森林绿圆形和白色勾线完成效果,辅以少量星点淡出;总时长约 700ms,只播放一次,不循环,不阻塞结果与按钮展示。 |
| 项目数口径 | N 为删除后重新查询确认已不存在的唯一删除目标数:每个真实媒体文件或垃圾文件计 1 项,同一文件命中多个分类只计 1 项;成功删除的空文件夹计 1 项且容量为 0。未选中、删除失败或删除后仍存在的目标不计入。 |
| 释放空间口径 | X 只汇总上述成功删除文件在删除前最后一次校验通过的真实大小,空文件夹按 0 计;不使用扫描预计值、分类容量简单相加、历史结果或删除期间系统总可用空间波动替代。 |
| 固定双推荐 | 只要展示本次成功报告,推荐区始终同时展示 Storage Widget(存储组件)和 Charging(充电动效)两个入口,不判断 Widget 是否已添加或充电动效是否已设置 / 启用,不推荐垃圾、图片、视频或第三个功能。 |
| 推荐跳转 | 点击 Storage Widget 进入 Home 对应的 Widget 样式预览和添加指引页;点击 Charging 进入 Charging Animation(充电动效)一级页。推荐点击只负责跳转,不自动添加 Widget,也不自动启用或更换充电动效。 |
| 完成与返回 | 无论本次删除从 Smart Clean 二级页还是任一分类三级页发起,报告页只提供 Done(完成),不提供 Retry;点击 Done 或使用页面返回操作均返回已按真实删除结果刷新的 Smart Clean 二级页,不返回 Home,也不重新执行删除。Smart Clean 移除已删除项目,未删除项目继续保留,并同步更新重叠分类、已选状态、项目数和容量。 |
| 部分成功 / 失败 | 部分成功时在同一报告页展示真实已删除项目数、未删除项目数和已释放容量;全部失败时复用同一报告页的失败状态,不显示成功动效、Cleanup complete或虚假释放空间。失败项目继续保留,用户返回 Smart Clean 后可重新选择处理。 |
| 数据边界 | 报告只代表本次操作并仅在当前链路展示;离开后不建立 Records、历史列表或累计清理成果模块。 |
R4:垃圾文件清理#
| 字段 | 规则 |
|---|---|
| 完整链路 | Home 的 Junk Cleaner → 权限检查 / 系统授权 → 真实扫描 → 分类复核与选择 → 删除确认 → 执行删除并重新查询 → 本次清理报告与固定功能推荐。 |
| 入口 / 触发条件 | Home 新增常驻 Junk Cleaner(垃圾清理) 功能卡,不新增底部 Tab;点击进入垃圾清理页面。 |
| Home 展示 | Home 功能区中的 Junk Cleaner 使用紧凑卡片,只展示图标和名称;不在该卡片展示估算垃圾量、扫描时间或虚构状态。点击后进入垃圾清理页面,再展示真实扫描状态和结果。 |
| 数据来源 | 仅使用取得所有文件访问权限后实际可读取的 App 自身缓存目录和共享存储文件;每项候选必须有可验证的文件或目录实体,不使用虚构、估算或服务端下发的垃圾量。 |
| 用户交互 / 跳转 | 未授权时点击 Junk Cleaner 先执行 R3.1 统一授权;授权成功返回后立即进入页面并自动开始真实扫描,不要求用户再次点击 Scan;扫描完成后进入分类结果。每次发起删除均先展示当次确认弹窗;取消时停留原页面并保留选择,确认删除并进入报告后,Done 统一返回刷新后的 Smart Clean 二级页。 |
| 关键状态 / 异常 | 扫描中禁止重复开始;扫描取消、权限撤回、存储卸载、读取失败或 App 退出时停止扫描,不把不完整结果标记为成功。 |
| 关联验收标准 | A33–A40、A76 |
R4.1 权限与扫描范围#
| 字段 | 规则 |
|---|---|
| 申请时机 | 不在 Splash、Onboarding 或 Language 页面展示;用户首次到达 Home 时按 R3.1 自动展示一次 App 内授权引导,之后未授权用户点击 Smart Clean、Photos、Videos 或 Junk Cleaner 时继续展示同一引导。 |
| 权限说明 | 统一说明扫描并清理本机图片、视频和垃圾文件的用途;弹窗文案及操作按 R3.1 执行。 |
| Android 11 及以上 | 申请 MANAGE_EXTERNAL_STORAGE(所有文件访问权限),通过系统“所有文件访问权限”页面由用户开启;从 Home 授权链路或 Permissions 页进入时按 R3.1 执行底部引导目标与技术门禁,返回 App 后必须重新读取真实授权状态。 |
| Android 10 | 沿用该系统版本可用的存储访问能力;实际无法读取的目录不得纳入扫描结果。 |
| 拒绝 / 撤回 | 未授权时不执行 Photos、Videos、Junk Cleaner 或 Home Smart Clean 的文件扫描与清理,不展示历史数量、容量或缩略图;用户再次点击上述入口时继续触发授权。扫描中撤回权限时立即停止扫描并废弃不完整结果。 |
| Google Play 合规 | MANAGE_EXTERNAL_STORAGE 作为图片、视频和垃圾文件统一扫描清理所需权限,在提交 Google Play 前必须完成权限声明,并在商店说明和隐私政策中准确披露用途;该高风险权限未通过 Play 审核时不得发布本方案,也不得用隐藏或误导入口绕过审核。 |
| 系统硬边界 | 所有文件访问权限仍不能访问其他 App 私有目录及受系统保护的目录;不得使用 Root、Accessibility(无障碍)或其他绕过方式清理其他 App 私有缓存,也不得为了系统页底部引导新增悬浮窗权限或伪造 Android 系统页面。 |
R4.2 扫描、复核与删除#
| 字段 | 规则 |
|---|---|
| App cache(应用缓存) | 只扫描 Tidyvo 自身可重建的缓存文件;数据库、设置、扫描基线、私密空间内容、用户导入文件和业务数据不属于缓存候选。 |
| Temporary files(临时文件) | 仅扫描共享存储中扩展名为 .tmp / .temp、且最后修改时间已超过 7 天的真实文件;无法读取修改时间的文件不纳入。 |
| Log files(日志文件) | 仅扫描共享存储中最后修改时间已超过 7 天的 .log 文件;受保护目录和其他 App 私有日志不纳入。 |
| Installation files(安装包) | 扫描共享存储中真实存在的 .apk / .apks / .xapk / .apkm 文件,单独分组并明确其为安装包,不把它描述为系统缓存。 |
| Empty folders(空文件夹) | 只扫描共享存储中真实为空、非存储根目录、非系统保护目录的文件夹;容量按 0 计算,不计入预计释放空间。 |
| 扫描排除 | 不扫描 Photos 与 Videos 聚合能力已覆盖的照片和视频,不根据名称猜测“卸载残留”,不读取或建立完整已安装应用清单,避免重复统计或误判。 |
| 结果展示 | 按以上分类展示真实数量和容量;用户展开后可在本机查看文件名、所在目录、大小和最后修改时间。文件名与路径只用于本地复核,不上传。 |
| 默认选择 | 扫描结果默认不选择任何文件或文件夹;用户可逐项选择或按分类全选。扫描结果变化、文件不存在或权限失效时自动取消对应选择。 |
| 删除确认 | 每次点击删除都必须展示当次确认弹窗,显示所选分类、项目数和当前可验证容量,并明确 Files will be permanently deleted and can’t be restored(文件将被永久删除,且无法恢复);不提供“以后不再询问”。取消时停留原页面并保留选择,用户确认后才执行删除。 |
| 删除结果 | 删除前再次校验目标仍存在且仍在允许范围内;删除后重新查询,按实际成功项数、失败项数和已验证释放容量展示成功、部分成功或失败。取消确认、权限取消或实际删除为 0 时不得展示成功。 |
| 清理结果与推荐 | 真实成功结果只在本次清理报告页展示;项目数、释放空间、成功动效、固定展示的 Storage Widget 与 Charging 双推荐及跳转规则统一按 R3.5 执行。 |
| 数据边界 | 扫描索引和选择状态只保存在本机并由新扫描覆盖,不建立操作记录;不上传文件名、路径、文件内容或扫描清单。 |
| 关键用户文案 | Junk Cleaner(垃圾清理)、Allow access(允许访问)、Permission required(需要权限)、Review junk(查看垃圾文件)、Delete permanently(永久删除)。 |
R5:工具能力链路#
| 字段 | 规则 |
|---|---|
| 入口 / 触发条件 | 1、用户点击底部 Tools(工具)进入一级页;Tools 无返回按钮并保留四 Tab。2、Tools 提供 Manage apps、Compress、Contacts、Private Space 和 Storage Widget 五个入口;Storage Widget 同时保留在 Home,Battery info 只保留在 Home,Home 入口顺序按 R2 执行。 |
| Tools 布局与顺序 | 页面标题为 Tools(工具)。Manage apps(管理应用)固定为顶部全宽横向卡片;其下使用两列两行卡片,第一行 Compress(压缩) / Contacts(联系人),第二行 Private Space(私密空间) / Storage Widget(存储组件)。不增加分组标题,不重复展示 Charging Animation 或 Battery info。 |
| Tools 卡片展示 | 1、Manage apps 全宽卡片展示图标、名称、说明 Uninstall unused apps to free up space(卸载不再使用的应用以释放空间)和进入箭头。2、其余四张卡片展示图标、工具名称和一行功能说明。 3、Tools 不展示虚构数量、优化评分、预计节省空间或无法验证的设备状态。 |
| 页面层级与返回 | 1、Manage apps、Compress、Contacts 和 Private Space 均进入 App 内二级页面,隐藏底部 Tab,并可返回 Tools。 2、Storage Widget 复用同一既有二级页;从 Tools 进入时返回 Tools,从 Home 进入时返回 Home。 3、Battery info 从 Home 进入二级页面时隐藏底部 Tab,并返回 Home。 |
| Compress | 进入视频压缩链路,视频选择、可播放预览、三档压缩、可取消处理、真实报告及原视频处理统一按 R5.2 执行。 |
| Contacts | 沿用既有联系人清理链路;用户进入功能且未授权时申请联系人权限,也可从 Settings > Permissions 的 Contacts 单项主动申请。仅电话或邮箱一致的联系人进入重复候选,本次会话保留既有撤销能力。发起扫描后只展示单一加载状态:Scanning contacts…(正在扫描联系人)与 Comparing phone numbers and email addresses.(正在比较电话号码和邮箱地址。);扫描中不显示撤销入口、置灰操作按钮或无真实数据支撑的分阶段进度,完成后自动进入扫描结果。结果顶部显示真实重复组数与“仅电话或邮箱完全匹配才进入候选”说明,Scan again(重新扫描)使用次级样式;默认结果不显示撤销,只有成功合并且存在恢复快照时才条件显示 Undo last merge(撤销上次合并)。每组的 Merge(合并)只打开合并预览;预览标题使用 Merge N contacts?(合并 N 个联系人?),正文只提示选择主要联系人及其他信息仍会合并保留,选择项展示姓名和有差异的电话 / 邮箱,不重复展示组内完全相同字段。用户点击 Merge contacts(合并联系人)后才执行真实合并;成功后进入 Merge report(合并报告),展示 Merge complete(合并完成)、真实合并前后数量及本次合并组数,不再重复解释底层 Raw Contacts 或恢复快照。Done(完成)返回刷新后的 Contacts 结果页,已合并组从候选中移除,存在有效恢复快照时条件显示 Undo last merge。合并失败复用报告页模板并展示真实原因,不展示成功状态且不创建恢复快照。 |
| Private Space | 点击进入 App 内私密空间;PIN 创建与解锁、系统身份认证、加密文件库、系统照片选择器导入、再次导入、照片预览、视频播放、原文件处理,以及单个 / 批量导出与删除均按 R5.3 执行。 |
| Storage Widget | 点击 Home 或 Tools 的 Storage Widget 卡片进入同一既有样式预览和添加指引,通过 Android 系统流程请求添加桌面 Widget;桌面 Widget 的真实存储数据、任务展示和直达规则按 R3.3 执行。 |
| Manage apps | 点击 Tools 顶部卡片进入 App 内 Manage apps(管理应用)二级页,不直接打开 Android 系统应用列表;页面规则、Usage access 授权分层和逐个系统卸载链路按 R5.1 执行。 |
| Battery info 入口 | 点击 Home 的 Battery info(电池信息)卡片进入 App 内电池信息二级页,不跳转系统电量使用页面。 |
| Battery info 展示 | 直接读取并展示 Android 系统当前可提供的 Battery level(电量)、Charging status(充电状态)、Power source(供电方式)、Health(系统健康状态)、Temperature(温度)和 Voltage(电压),不使用估算值。 |
| 实时更新 | 进入页面后立即读取一次;页面可见期间根据 Android 系统电池状态更新,离开页面后停止页面级监听,不在后台持续采集。 |
| 不可用状态 | 某字段因 Android 版本、设备或厂商实现无法读取时显示 Unavailable(暂不可用),不得以 0、正常或估算值替代。 |
| 关键状态 / 异常 | Manage apps 从系统卸载页返回后按 R5.1 重新查询,应用仍存在时保持列表且不提示失败;Private Space 的创建、解锁、导入、导出与删除按 R5.3 保留原文件或安全副本,导入、导出和删除完成后不增加独立结果页;Battery info 读取异常时页面保留并显示对应不可用状态,不出现崩溃。 |
| 数据 / 权限边界 | Home 与 Tools 一级页不会因展示这些工具卡而新增系统权限;进入对应功能后才沿用既有按需授权。Manage apps 只在本机处理 Android 当前允许 Tidyvo 看见的可管理应用及其授权后可用的容量、使用时间,不申请 QUERY_ALL_PACKAGES,不上传应用清单或使用详情;Battery info 不新增权限,不上传或保存电池历史;联系人、私密文件、PIN、媒体名称和文件 URI 不上传。 |
| 商业化边界 | 只有从系统卸载页返回并重新查询确认目标应用已不存在时,才可提示该应用已卸载;不得宣传 Tidyvo 可静默卸载、批量卸载或绕过 Android 系统确认,也不宣称加速、降温、省电、电池修复、健康优化或续航提升。 |
| 关键用户文案 | Tools(工具)、Manage apps(管理应用)、Uninstall unused apps to free up space(卸载不再使用的应用以释放空间)、Compress(压缩)、Contacts(联系人)、Private Space(私密空间)、Storage Widget(存储组件)、Battery info(电池信息)、Unavailable(暂不可用)。Private Space 详细操作文案按 R5.3。 |
| 关联验收标准 | A41–A49、A57–A73 |
R5.1 Manage apps(应用管理)#
| 字段 | 规则 |
|---|---|
| 入口 / 返回 | 点击 Tools 顶部全宽 Manage apps 卡片进入 App 内二级页;页面标题为 Manage apps(管理应用),隐藏底部 Tab,返回时回到 Tools。Tools 卡片点击不直接打开系统设置或系统应用列表。 |
| 可管理应用范围 | 只展示 Android 当前包可见性规则允许 Tidyvo 识别、且当前用户可发起卸载的非系统应用;排除 Tidyvo 自身、系统核心应用、不可卸载应用及受设备策略保护的应用。页面不得把当前可见子集描述为完整已安装应用清单。 |
| 未授权状态 | 1、未取得 Usage access(使用情况访问权限)时,顶部展示 See app size and usage(查看应用大小和使用情况)授权说明、Allow usage access(允许使用情况访问)按钮和 You can still uninstall apps without this access(没有该权限仍可卸载应用)说明。2、列表标题显示 Apps available to manage(可管理的应用);每项只显示真实图标、应用名称和 Uninstall(卸载)按钮。3、不显示应用总数、总占用容量、单个应用大小、最后使用时间、未使用判断、排序控件,也不在每项重复显示 Size and last used unavailable。 |
| 授权交互 | 点击 Allow usage access 进入 Android 为 Tidyvo 提供的 Usage access 系统授权页;从系统页返回后立即重新校验。已授权则刷新为授权状态;仍未授权则保留未授权页面,用户仍可逐个发起卸载。 |
| 已授权汇总 | 获得 Usage access 后,顶部继续展示 Apps available to manage(可管理的应用)及当前可管理应用的真实 N apps · X MB/GB used(N 个应用 · 已使用 X MB/GB);N 只统计当前列表中的可管理应用,X 只基于当前真实可读取的应用容量,不用历史值、估算值或 0 补齐缺失数据。页面不显示 Usage access enabled(使用情况访问已开启)状态标签。 |
| 已授权列表 | 每项显示真实应用图标、名称、当前可读取的应用大小、Last used N days ago(N 天前使用)和 Uninstall(卸载)按钮;页面不显示无业务作用的 Updated now(刚刚更新)。应用大小或最后使用时间不可用时不得伪造。 |
| 排序 | 1、默认选中 Unused first(长期未使用优先),按当前可验证的最后使用时间由久到近排序。2、可切换 Largest(最大优先),按当前可验证的应用大小从大到小排序。3、缺失对应排序值的应用排在有有效值的应用之后,不把未知值当作长期未使用或 0 B;相同值按应用名称稳定排序。 |
| 发起卸载 | 点击某一行 Uninstall 后,仅针对该应用唤起 Android 系统卸载确认;用户必须在系统界面逐个确认。Tidyvo 不再叠加重复卸载确认,也不直接删除应用或绕过系统交互。 |
| 卸载后刷新 | 从系统卸载界面返回 Manage apps 后立即重新查询目标应用和当前列表。目标应用已不存在时判定成功:移除对应行、重新计算 N 与 X、按当前排序重新排列,并短暂提示 [App name] uninstalled([应用名] 已卸载);不使用卸载前应用大小宣称实际释放容量。 |
| 未卸载状态 | 从系统卸载页返回后,只要目标应用仍存在,就保留该行并保持列表不变,不区分用户取消、系统失败或策略限制,也不展示成功或失败提示。Manage apps 卸载不进入 Cleanup report(清理报告),不生成 Records、历史记录或累计释放空间。 |
| 批量边界 | 不提供多选、批量卸载、连续卸载队列或一键卸载;每次只处理一个应用。不得使用静默卸载、Root、无障碍服务或设备管理能力绕过 Android 系统逐个确认。 |
| 权限与数据边界 | 1、Usage access 仅用于读取当前允许范围内的应用大小和最后使用时间,不授予卸载能力。 2、应用声明 REQUEST_DELETE_PACKAGES 仅用于唤起 Android 系统卸载确认;不申请 QUERY_ALL_PACKAGES,所有文件访问权限 MANAGE_EXTERNAL_STORAGE 与本功能无关。3、可管理应用名称、图标、容量和使用详情只在本机展示与刷新,不上传、不建立历史档案。 |
| 关键用户文案 | See app size and usage(查看应用大小和使用情况)、Allow usage access(允许使用情况访问)、You can still uninstall apps without this access(没有该权限仍可卸载应用)、Apps available to manage(可管理的应用)、Review apps you no longer need and uninstall them one at a time(查看不再需要的应用,并逐个卸载)、Unused first(长期未使用优先)、Largest(最大优先)、Uninstall(卸载)、[App name] uninstalled([应用名] 已卸载)、App usage details stay on this device(应用使用详情仅保留在此设备上)。 |
| 关联验收标准 | A46、A57–A60 |
R5.2 Compress(视频压缩)#
| 字段 | 规则 |
|---|---|
| 入口 / 页面层级 | 点击 Tools 内 Compress(压缩)进入二级视频选择页,隐藏底部 Tab;从选择页返回 Tools。完整链路为视频选择 → 视频预览与压缩设置 → 压缩中 → 压缩报告;删除原视频后只更新同一报告页状态,不增加新页面。 |
| 视频列表 | 进入 Compress 后独立读取当前可访问的视频,不依赖用户先完成 Smart Clean 扫描或复用其结果。视觉结构复用 R3.2.3 Videos 的两列网格,顶部展示真实 X videos · X MB/GB(X 个视频 · X MB/GB);每个缩略图左下角以单一标签显示真实时长 · 文件大小,不显示勾选、底部已选数量或中央播放按钮。 |
| 列表排序 | 排序仅支持 Newest(最新) / Oldest(最旧) / Largest(最大),默认 Largest(最大);排序不改变视频文件内容或压缩资格。 |
| 选择规则 | 每次只选择并压缩一个视频。点击任一视频缩略图直接进入该视频的预览与压缩设置页,不提供多选或批量压缩。 |
| 空列表 | 独立查询后没有可展示视频时,列表区域显示 No videos found(未找到视频)和 Videos on this device will appear here.(此设备上的视频会显示在这里。);不展示虚构数量、容量、缩略图或压缩按钮,用户仍可返回 Tools。 |
| 视频预览 | 页面上方使用真实所选视频,支持播放、暂停和进度调整;同页展示真实文件名、原文件大小、分辨率和时长。预览不上传视频内容。 |
| 压缩档位 | 1、Light(轻度):预计保留约 72% 体积,最高 1080p,目标码率上限 4 Mbps。2、 Balanced(均衡):默认选中,预计保留约 50% 体积,最高 720p,目标码率上限 2 Mbps。3、 Maximum(最大压缩):预计保留约 30% 体积,最高 480p,目标码率上限 0.9 Mbps。4、实际目标码率取“档位码率上限”与“原视频码率 × 该档比例”中的较小值,最低 250 Kbps。 |
| 容量预估 | 选择档位后实时更新原文件大小 → ~预计输出大小及预计缩小比例;所有压缩前容量都必须明确为估算,不得宣称为最终文件大小或已释放容量。 |
| 开始压缩 | 用户选定档位并点击 Compress(压缩)后开始当前单视频压缩,进入压缩中页面。任务执行中不允许重复启动第二个压缩任务。 |
| 压缩中展示 | 页面只展示一个压缩动效、真实百分比、当前文件名和估算前后大小;不显示无真实数据支撑的分阶段、虚构速度或剩余时间。正常完成后自动进入压缩报告。 |
| 取消压缩 | 压缩中显示 Cancel compression(取消压缩)。用户点击后终止当前转码及进度收集,删除未完成的临时输出,保留原视频不变,返回该视频的预览与压缩设置页,不进入报告。 |
| 输出有效性 | 只有压缩后实际文件大小不大于原文件的 95% 时才保存压缩结果;正好缩小 5% 可保存。不足 5%、转码失败或输出不可用时删除临时输出,不覆盖、替换或修改原视频。 |
| 输出位置 | 有效压缩结果优先保存到原视频所在目录;原目录不可写或已不可用时保存到 Movies/Tidyvo Cleaner。目标目录存在同名文件时追加序号,不覆盖任何已有文件。 |
| 成功报告 | 压缩结果成功保存后进入 Compression report(压缩报告),展示成功动效、真实原文件大小、压缩后大小及两者差值。原视频仍保留时,大数字使用 X MB/GB smaller(已缩小 X MB/GB),不得使用 freed(已释放)。 |
| 原视频处理 | 压缩成功后默认保留原视频,报告页显示 Original video kept(原视频已保留)、Delete original(删除原视频)和 Done(完成)。用户直接点击 Done 时保留原视频和压缩后新文件,本次不计为已释放设备容量。 |
| 删除原视频 | 点击 Delete original 必须先展示当次确认:Delete original video?(删除原视频?)、This permanently deletes the original video and can’t be undone.(这将永久删除原视频,且无法撤销。)。用户确认后再按 Android 当前要求完成必要系统授权;取消确认、取消系统授权或删除失败时,保留原视频并留在当前报告状态,不显示已释放容量。 |
| 删除后报告 | 只有重新查询确认原视频已不存在时,当前报告页才更新为 Original deleted(原视频已删除)、X MB/GB freed(已释放 X MB/GB)和 Deletion verified(已验证删除),同时隐藏 Delete original,只保留 Done。实际释放容量按“原文件真实大小 − 压缩后文件真实大小”计算。 |
| 失败 / 无有效节省 | 转码失败、输出不可用或实际缩小不足 5% 时复用报告页失败状态,不播放成功动效,不显示 smaller 或 freed。页面显示 Couldn’t compress video(无法压缩视频)、可验证的实际原因、Original video unchanged(原视频未改变)及未完成输出已删除;Try again(重试)返回压缩设置页,Done(完成)返回视频列表。 |
| 返回与刷新 | 成功报告、原视频已删除报告或失败报告点击 Done 后,返回刷新后的 Compress 视频列表;不返回 Home,不进入 Cleanup report,不生成 To clean、Records、历史或累计释放空间。 |
| 数据 / 权限边界 | 视频列表、预览、转码、临时输出、压缩结果与原文件删除均只在本机处理,不上传视频内容、文件名或 URI。未具备所需文件访问能力时复用 R3 的统一所有文件访问引导;不得用独立照片或视频媒体权限替代用户拒绝的所有文件访问权限。 |
| 关键用户文案 | Select one video to compress(选择一个要压缩的视频)、No videos found(未找到视频)、Videos on this device will appear here.(此设备上的视频会显示在这里。)、Choose compression(选择压缩档位)、Estimated output(预计输出)、Compressing…(正在压缩…)、Cancel compression(取消压缩)、Compression complete(压缩完成)、Original video kept(原视频已保留)、Delete original(删除原视频)、Original deleted(原视频已删除)、Deletion verified(已验证删除)、Couldn’t compress video(无法压缩视频)、Original video unchanged(原视频未改变)、Try again(重试)、Done(完成)。 |
| 关联验收标准 | A42、A61–A66 |
R5.3 Private Space(私密空间)#
| 字段 | 规则 |
|---|---|
| 入口 / 返回 | 点击 Tools 的 Private Space(私密空间)卡片进入 App 内二级页,隐藏底部 Tab;未创建时进入 PIN 创建页,已创建时进入解锁页,解锁后进入私密文件库;从未解锁页面返回 Tools。 |
| 创建 PIN | 1、首次进入时连续输入两次固定 4 位数字 PIN;每次输入第 4 位后自动进入下一步或校验,不展示额外确认键。 2、两次一致后创建 Private Space;两次不一致时停留在 Confirm your PIN(再次确认 PIN)页,清空第二次输入并原位提示 PINs don’t match. Try again.(PIN 不一致,请重试。),不弹出对话框。3、创建页明确提示:卸载 Tidyvo 或清除 App 数据会删除 Private Space 文件,重要文件应先导出。 |
| 解锁与修改 PIN | 1、已创建后再次进入展示 Unlock Private Space(解锁私密空间)、4 个 PIN 圆点和数字键盘;输入第 4 位后自动校验。普通错误 PIN 清空圆点并原位提示 Incorrect PIN. Try again.(PIN 错误,请重试。)。2、连续输错 5 次后锁定 PIN 输入 30 秒,提示 Too many incorrect attempts. Try again in {N}s.(错误次数过多,请在 {N} 秒后重试。)并逐秒倒计时;数字键、0 和删除键禁用,重启 App 不重置倒计时,倒计时结束自动恢复。3、设备存在 Android 系统提供的指纹、其他生物识别或设备凭据时,进入解锁页自动唤起系统认证面板;用户取消后留在解锁页,可继续输入 PIN,也可点击键盘左下角指纹入口再次唤起。PIN 锁定期间系统身份认证仍可使用;忘记 PIN 时可通过可用的系统身份认证进入。设备没有可用系统身份认证时不展示该入口。App 只接收认证结果,不读取或保存生物特征。 4、解锁后可点击 Change PIN(修改 PIN),先通过当前 PIN 或系统身份认证,再连续输入两次固定 4 位新 PIN;不提供云端、邮箱找回或清空私密空间重置 PIN。 |
| 自动锁定与本机安全 | Private Space 未解锁时不展示文件内容;用户按 Home、切换到其他 App 或离开 Private Space 功能后立即锁定,再次进入必须重新解锁。由 Private Space 主动调起的 Android 系统照片选择器和系统删除确认页属于当前操作链路,期间不触发锁定,返回后直接继续当前导入或删除原文件流程。Private Space 的解锁、文件库、选择、预览、播放、导入、导出和删除页面均不展示广告;页面禁止系统截图和最近任务预览。文件写入 App 私有加密存储,密钥由 Android Keystore 保护,不生成可长期访问的明文缓存。 |
| 文件库 / 空状态 | 1、没有任何私密文件时显示 Your Private Space is empty(私密空间为空)、添加照片和视频的说明、Add to Private Space(添加到私密空间)主按钮及本机加密说明;空状态不显示无意义的 All / Photos / Videos 筛选,顶部右侧显示 Change PIN。2、存在内容时页面标题为 Private Space,顶部右侧显示 Select(选择);操作区保留 Add to Private Space主入口和 Change PIN次入口,供用户再次导入或修改 PIN,两者不与 Select 合并。下方提供 All / Photos / Videos(全部 / 照片 / 视频)筛选,默认按导入时间从新到旧排列。3、照片缩略图不展示日期、容量或其他角标;视频只展示真实时长,不展示容量或日期。文件丢失或损坏时不保留可操作的虚假条目。 |
| 预览与播放 | 正常文件库中点击照片进入 App 内全屏预览;点击视频进入 App 内播放器,支持播放、暂停和拖动进度。预览与播放不生成相册明文副本,不提供分享入口;本版无需单独确认预览页与播放页设计图。 |
| 系统照片选择 | 首次空状态和有内容文件库中的 Add to Private Space均调用 Android 系统照片选择器选择照片和视频,不打开第三方相册 App,也不由 Tidyvo 自建或伪造相册选择页。支持系统提供的多选,不设置 Tidyvo 自定义的 20 项上限;实际单次可选数量、系统页面布局、相册分组和操作能力以当前设备系统选择器为准。导入选择不提供 Tidyvo 自定义的 Select all。用户取消系统选择器时返回原 Private Space 页面,文件库不变。 |
| 导入与校验 | 1、系统选择器返回后先校验文件仍可读、当前批次总容量和私密存储可用空间;空间不足时不开始导入,并展示真实所需空间与可用空间。 2、导入期间在 Tidyvo 内显示加密导入动效、 Adding to Private Space…(正在添加到私密空间…)、Loading 和真实 N / M项目进度;逐项复制并加密到 App 私有目录,校验文件大小及可解密读取后才登记成功。3、同一系统媒体条目已经导入且仍存在于私密空间时不重复生成副本;系统选择页无法由 Tidyvo 预先标记或禁用。云端或其他不可读取媒体不进入文件库,原文件保持不变,未完成副本必须清理。 4、导入正常完成后直接刷新 Private Space 文件库,不进入导入报告页,也不设计部分成功、失败或跳过结果状态。 |
| 导入后原文件 | 本批至少有一项导入成功后,展示 Remove originals from gallery?(从相册删除原文件?),操作为 Keep originals(保留原文件)和 Delete originals(删除原文件)。默认保留原文件;选择 Delete originals 时仅针对本批已验证成功的系统媒体请求 Android 所需删除授权。取消或删除失败时保留对应原文件;系统流程返回后重新查询,并按真实结果展示全部成功或部分失败,不把私密副本容量宣称为已释放空间。 |
| 选择、单个与批量 | 点击 Select 进入选择模式,支持逐项手动多选,并提供 Select all(全选) / Deselect all(取消全选)。Select all 只选择进入选择模式时当前筛选结果;选择期间不切换 All / Photos / Videos 筛选。选中 1 个或多个文件后统一显示 Export 和 Delete,单个与多个操作复用同一链路和动态文案;取消选择不改变文件。 |
| 导出确认文案 | 单个和多个导出复用同一动态模板:标题 Export {N} file/files?(导出 N 个文件?),正文 Unencrypted copies will be saved to your gallery.(未加密副本将保存到相册。),操作为 Cancel(取消)和 Export(导出);英文按 N 使用单复数。 |
| 导出规则 | 用户确认后显示导出动效、Exporting…(正在导出…)、Loading 和真实 N / M项目进度。相册原文件仍存在时不生成重复副本;否则优先导回导入时记录的原存储卷、相对目录和文件名,原位置不可用时保存到 Pictures/Tidyvo Cleaner;重名时追加序号且不覆盖。只有重新查询确认新文件存在且可读取才计为成功;未完成导出副本必须清理,私密加密文件始终保留。完成后停留文件库,不进入导出报告页,只轻提示 {N} items exported(已导出 N 项),不向用户展示兜底目录。 |
| 删除确认文案 | 单个和多个删除复用同一动态模板:标题 Delete {N} file/files?(删除 N 个文件?),正文 Selected files will be permanently removed from Private Space.(所选文件将从私密空间中永久删除。),操作为 Cancel(取消)和 Delete(删除);英文按 N 使用单复数。只展示这一次 App 内确认。 |
| 删除规则 | 用户确认后显示删除动效、Deleting…(正在删除…)、Loading 和真实 N / M项目进度;只删除当前选中的私密加密副本,不删除相册原文件或此前导出的副本。进度结束后直接刷新文件库,已删除文件消失,不进入删除结果页或 Cleanup report,不生成 Records、历史记录或累计释放空间;普通垃圾与缓存清理也不能删除私密空间内容。 |
| 数据 / 权限边界 | 私密文件、PIN、媒体内容、名称、原路径和 URI 全部只在本机处理,不上传。导入使用 Android 系统照片选择器授予的当次媒体访问;删除相册原文件和导出按 Android 当前版本要求完成系统授权。所有文件访问权限不用于读取 Private Space 的 App 私有目录,也不能替代系统对共享媒体删除的确认。 |
| 关键用户文案 | Private Space(私密空间)、Change PIN(修改 PIN)、Add to Private Space(添加到私密空间)、All / Photos / Videos(全部 / 照片 / 视频)、Select(选择)、Select all(全选)、Deselect all(取消全选)、Remove originals from gallery?(从相册删除原文件?)、Keep originals(保留原文件)、Delete originals(删除原文件)、Export(导出)、{N} items exported(已导出 N 项)、Delete(删除)。 |
| 关联验收标准 | A44、A49、A67–A73 |
4. 验收标准#
| 序号 | 关联需求 | 验收项 | 验收标准 |
|---|---|---|---|
| A01 | R1 | 启动页视觉 | Splash 与已确认的 v1.1.0 UI 图一致:使用新 Logo、不保留线上 v1.0.8 Logo,保留 Make space for what matters(为重要内容腾出空间),底部进度条的样式、尺寸和位置与 UI 图一致,且不显示百分比、速度或完成时间承诺。 |
| A02 | R1 | 启动规则 | 与 v1.0.8 对比,启动时长、完成条件、初始化和异常规则未因 UI 调整发生产品行为变化;Splash 不展示广告、不等待广告、不申请权限。 |
| A03 | R1 | 两模块均关闭 | Onboarding 和 Language 均关闭时,Splash 完成后直接进入 Home。 |
| A04 | R1 | 单模块开启 | 仅开启一个模块时,只展示尚未完成的该模块,完成后进入 Home。 |
| A05 | R1 | 引导在前 | 两模块均开启且配置 Onboarding 在前时,实际链路为 Onboarding → Language → Home。 |
| A06 | R1 | 语言在前 | 两模块均开启且配置 Language 在前时,实际链路为 Language → Onboarding → Home。 |
| A07 | R1 | 完成与关闭状态 | 已完成模块正常启动不再展示;关闭但未完成的模块再次开启后仍会展示。 |
| A08 | R1 | 配置兜底 | 配置获取失败时先使用最近有效缓存;无缓存时按 Onboarding → Language → Home 执行,且不阻断启动。 |
| A09 | R1 | 引导页数、文案与统一视觉 | Onboarding 固定三页,标题和正文与 R1.3 完全一致;三页主视觉统一为深祖母绿 / 薄荷绿的精细 3D 风格,大标题与正文由页面原生 UI 展示且不嵌入图片;插画内没有内嵌文字、Logo、水印、可点击按钮或伪造页面,且不使用真实用户媒体。 |
| A10 | R1 | 引导前两页倒计时 | 第 1 页以手机、收纳容器及媒体 / 文件卡片表达存储整理,第 2 页以媒体复核面板、选择状态、带勾盾牌和最终垃圾桶操作表达删除前复核;OB1、OB2 首次正向进入时均为全屏引导且不展示广告,大按钮从最多 3 秒开始显示 Continue · {N}s(继续 · N 秒),倒计时期间可点击立即前进,未点击则在倒计时结束后分别自动进入 OB2、OB3。 |
| A11 | R1 | 引导第三页 | 第 3 页以手机、私密媒体、透明保护罩 / 保险库、盾牌和闭合锁表达本机隐私,为半屏引导;底部仅展示 Native Ad,并显示可用且不伪装成广告的 Get Started(开始使用) 小按钮;按钮不倒计时、不自动前进。 |
| A12 | R1 | 引导返回、Skip 与完成状态 | 三页均无左上角返回按钮;OB2、OB3 可向右滑回上一页,滑回 OB1 / OB2 后不再自动倒计时,只能点击 Continue 前进。OB1 / OB2 的 Skip 按中台参数进入 OB3 或 Home,缺失或无效时默认 Home;OB3 的 Skip 固定进入 Home。Skip 到 Home 写入 Onboarding 完成但不写入 Language 完成;Skip 到 OB3 暂不写入 Onboarding 完成,直至从 OB3 退出。Get Started 按正常链路进入下一模块或 Home;原生广告失败或无填充不影响退出流程。 |
| A13 | R1 | 语言范围、顺序与两页面一致性 | 首次 Language 页面与 Settings 的 Language 页面均按 Follow system → English → Español → हिन्दी → Português (Brasil) → 简体中文 → العربية → Français → Bahasa Indonesia → Русский → Deutsch → 日本語 → 한국어 → Tiếng Việt → Türkçe → Italiano → ไทย → Polski → 繁體中文 的相同顺序展示;新增的 hi / vi / th / it / zh-TW / pl 均可选择、保存并立即应用,任一页面修改后另一页面显示同一当前选择;新增语言不存在缺失文案、错误回退或影响操作的截断。 |
| A14 | R1 | 跟随系统与默认英语 | 本地无已保存选择时,受支持的系统语言默认选中 Follow system 并应用对应语言;不受支持的系统语言默认选中并应用 English。用户主动选择 Follow system 后,系统语言变化会重新匹配,匹配不到时文案回退 English 且选择状态仍为 Follow system;原生广告不遮挡语言列表,失败时不阻断选择。 |
| A15 | R2 | Home 结构与顺序 | Home 顶部显示 Tidyvo Cleaner 和一行动态扫描小字,没有其他固定副标题或右上角 Settings;存储与 Smart Clean 主卡保留真实总空间、已用空间、可用空间和存储进度,不展示 Healthy 或其他健康状态。尚无成功扫描时不显示 Not scanned、Last scanned 或扫描时间;首次成功扫描后才显示本地化的 Last scanned {time},后续扫描中、扫描失败或权限撤回不清除最近一次成功时间。功能区按 Photos、Videos、Junk Cleaner、Notification Cleaner、Battery info、Storage Widget 顺序展示;首页不展示 New items to review 或 Your cleanup impact。 |
| A16 | R2 | 四个一级 Tab 与功能换位 | Home、Tools、Charging、Settings 按锁定顺序显示,四个入口均可进入对应一级页;点击 Charging 进入页面标题为 Charging Animation 的既有充电动效一级页。底部不存在 Compress 或 To clean 入口;Charging Animation 不在 Tools 重复展示,Tools 内 Compress 可进入现有压缩页面并正常返回 Tools。 |
| A17 | R2 | Settings 一级化与扫描缓存 | Settings 一级页无返回按钮并保留四 Tab;Language、Permissions、Local data 进入二级页面后隐藏底部 Tab,并可返回 Settings。Clear scan cache 只清理扫描临时缓存,清除后仍保留上次有效扫描结果、Last scanned 和新增内容基线,不删除任何用户文件。 |
| A18 | R2 | 删除 To clean 与 Records | App 不再提供 To clean 常驻页面、跨分类待清理队列、Records 入口、Records 页面或历史列表;Smart Clean 二级页和分类三级页均可对当次选择发起删除,但不会形成跨页面待清理清单或历史记录。 |
| A19 | R3 | 首次扫描基线 | 首次成功扫描只建立新增任务基线,不把设备已有内容形成新增任务;既有图片与视频分类能力分别从 Photos 和 Videos 聚合入口进入并展示真实扫描结果,Home 不展示新增待处理模块。 |
| A20 | R3 | 新增内容真实性 | 后续成功扫描发现新增内容时,内部任务的数量、容量和扫描时间与当前授权范围内的真实结果一致;失败、取消或权限失效不更新基线。 |
| A21 | R3 | 任务连续性 | 再次扫描不会清空此前未复核任务;已不存在、已复核或已成功处理的内容会被移除。 |
| A22 | R3 | Widget 真实数据 | Widget 存储摘要和变化由真实系统数据计算,最多展示一个真实 Photos 或 Videos 任务;失效任务和旧数量不会继续展示。 |
| A23 | R3 | Widget 直达 | 点击图片或视频 Widget 任务分别进入 Photos 或 Videos 的正常完整复核列表,不筛选、置顶或标记新增内容;点击存储摘要进入 Home,目标失效时安全回退。 |
| A24 | R3 | 通知直达 | 合法图片或视频目标分别进入 Photos 或 Videos 的正常完整复核列表,不筛选、置顶或标记新增内容,并保留返回路径;非法、失效或无权限目标安全回到 Home。 |
| A25 | R3 | 通知安全边界 | 点击通知不会自动删除媒体、卸载应用或绕过 Android 系统授权。 |
| A26 | R3 | 固定双推荐 | 删除后重新查询确认至少一个目标已真实删除时,清理报告同时展示 Storage Widget 和 Charging 两个入口,不判断两项是否已设置或启用,不展示垃圾、图片、视频或第三个推荐;点击仅进入对应页面,不自动添加 Widget 或启用充电动效。 |
| A27 | R3 | Home 授权引导、自动扫描与主按钮 | 首次进入 Home 且未获得所有文件访问权限时自动展示一次授权引导;Not now 或未授权返回后不在后续进入 Home 时自动重复弹出。未授权时顶部显示权限提示,Smart Clean 主按钮显示 Allow access;Photos 与 Videos 只显示分类图标、名称和实心绿色 Clean,不显示 Permission required、历史项目数、容量或缩略图。点击 Smart Clean、Photos、Videos 或 Junk Cleaner 会继续触发同一授权。首次 Home 引导或 Smart Clean 触发后授权成功时,返回并停留 Home,立即自动开始完整扫描;顶部小字和 Smart Clean 主按钮同步显示 Scanning…,不出现 Scan 中间状态,也不自动进入 Smart Clean 二级页。Photos、Videos 或 Junk Cleaner 触发后授权成功时立即续接原分类扫描。扫描失败或权限中途撤回不更新时间。 |
| A28 | R3 | 顶部释放空间口径 | 完整扫描成功且存在建议删除项后,Home 顶部 N 和 X、Smart Clean 主按钮的 Clean X 容量及 Smart Clean 完成态 X 均基于 Similar、Duplicates、Screenshots、Blurry、Videos、Junk files 六类候选的文件并集去重计算,数值与当前真实文件及大小一致;Smart Clean 完成态不显示“可清理多少项”的总数。各分类卡使用自身候选口径,其数值之和允许因分类交叉大于顶部去重结果;删除后按剩余候选重新计算。 |
| A29 | R3 | Photos 与 Videos 数据卡 | App 不申请独立照片或视频媒体权限。未取得所有文件访问权限时,Photos、Videos 按顺序只显示分类图标、名称和实心绿色 Clean,不显示 Permission required、历史项目数、容量或缩略图;取得权限并完成有效扫描后,改为展示真实 N items to review、最多 4 张本地候选缩略图和实心绿色 Clean X 按钮。X 使用 MB 或 GB,按钮不显示 Up to,不使用估算值、历史值或虚构缩略图。 |
| A30 | R3 | 媒体按钮与安全边界 | 未授权时点击 Photos、Videos 卡片或其 Clean 按钮只触发统一授权,不执行扫描、清理或删除,也不展示历史媒体结果;授权后点击 Clean X 进入对应二级复核页,不直接删除、不绕过选择规则和删除确认。删除后重新查询,首页项目数和容量随剩余候选更新。 |
| A31 | R3 | Smart Clean 扫描中状态 | Home 自动扫描期间,顶部小字和 Smart Clean 主按钮同步显示 Scanning…;点击该按钮进入同一当前 Smart Clean 扫描进度,不重复创建任务。进入 Smart Clean 后,顶部扫描动效持续运行且无 Cancel / Stop;页面实时显示 Scanning、已分析 N 项、目前已发现 X MB/GB,并按 Similar → Duplicates → Screenshots → Blurry → Videos → Junk files 的实际阶段动态更新分析文案。无法判断实际阶段时只显示 Analyzing your files。扫描中不显示 Refresh,不显示可清理项目总数,分类行动按钮不可用;返回 Home 不取消本次扫描,再次进入不会重复创建扫描任务。 |
| A32 | R3 | Smart Clean 完成态、零结果、排序与批量选择 | 1、扫描成功后显示 Scan complete、已分析 N 项和可释放 X MB/GB,并提供可立即重新扫描的 Refresh;不显示可清理项目总数,不存在 Check large files 入口。 2、六张分类卡固定按 Similar、Duplicates、Screenshots、Blurry、Videos、Junk files 排序,不因数量或容量换位;各分类按 R3.2 的默认规则排序并使用稳定兜底,媒体卡展示排序后的前 3 张真实本地缩略图,Videos 带播放标识,Junk files 只展示真实文件类型摘要。 3、新的有效结果中,Similar、Duplicates、Screenshots、Blurry 和 Junk files 的建议删除候选默认选中,Similar 与 Duplicates 的 Best 默认保留;Videos 只默认选中 Large,Medium 与 Small 默认不选。右上角根据当前状态显示 Select all 或 Deselect all,每张非空分类卡支持全选、半选、未选并与详情页逐项选择同步。 4、底部 Clean X 按全部已选文件去重后的真实容量实时更新;无选择时禁用。点击后必须展示包含已选分类、去重项目数、总容量及永久删除警告的当次确认弹窗;取消时停留 Smart Clean 并保留选择,确认前不删除任何文件。 5、有效扫描没有建议删除项时,Home 顶部显示 No cleanup suggestions found 并隐藏 Smart Clean 主按钮,不显示 Clean 0 MB、Scan 或 Scan again;Smart Clean 卡片本身仍可点击进入最近一次空结果页,重新扫描只通过该页的 Refresh 发起。扫描失败且没有可用旧结果时停留 Smart Clean 失败态,显示 Scan incomplete. Try again 和 Retry;点击 Retry 重新发起完整扫描。 |
| A33 | R4 | Home 垃圾清理入口 | Home 常驻展示紧凑 Junk Cleaner 卡片且不新增底部 Tab;卡片只显示图标和名称,不展示估算垃圾量、扫描时间或虚构状态,点击后进入垃圾清理页面。 |
| A34 | R3、R4 | 统一文件授权 | 首次 Home 引导、Permissions 的 All files access 和文件清理入口重复触发均进入同一所有文件授权链路;Android 11 及以上跳转系统所有文件访问页面并在返回后重新校验。未授权时不执行文件扫描、不生成结果、不申请独立照片或视频媒体权限;首次 Home 引导或 Smart Clean 触发后授权成功时返回并停留 Home,立即自动开始完整扫描且不出现 Scan 中间状态;Photos、Videos 或 Junk Cleaner 触发后授权成功时立即续接原分类扫描。 |
| A35 | R4 | 扫描范围真实性 | 扫描结果只包含符合 R4.2 分类和时间规则且当前真实存在的项目,不包含受保护目录、其他 App 私有缓存、Photos / Videos 已覆盖媒体或猜测性的卸载残留。 |
| A36 | R4 | 分类结果与本地复核 | 各分类数量和容量由真实文件汇总;展开后可在本机核对文件名、目录、大小和修改时间,空文件夹不计入预计释放容量,任何扫描清单均不上传。 |
| A37 | R4 | 选择与永久删除确认 | 扫描结果默认无选择;每次发起删除都展示当次确认弹窗,显示当前可验证的分类、项目数和容量,并明确永久删除且不可恢复;取消时不删除任何项目,停留原页面并保留选择。 |
| A38 | R4 | 删除结果真实性 | 删除前重新校验目标,删除后重新查询;成功、部分成功和失败分别显示真实成功项数、失败项数及已验证释放容量。成功项数按已确认不存在的唯一文件或空文件夹目标跨分类去重,同一文件只计 1 项,失败、未选中或仍存在的目标不计入;实际删除为 0 时不显示成功。 |
| A39 | R4 | 权限与系统硬边界 | Android 11 及以上通过系统页面开启或关闭所有文件访问权限;App 不借助 Root、无障碍或其他方式访问其他 App 私有目录,不新增悬浮窗权限,也不伪造 Android 系统页面。Google Play 权限声明、商店说明和隐私政策与图片、视频及垃圾清理的实际用途一致,权限审核未通过时本方案不得发布。 |
| A40 | R4 | 清理报告与推荐 | 垃圾文件真实删除成功后只在本次报告页展示真实删除项目数和释放空间,并固定同时展示 Storage Widget 与 Charging 两个推荐入口;报告页 Done 返回刷新后的 Smart Clean 二级页,离开后不生成 Records、历史列表或累计清理成果。 |
| A41 | R5 | Tools 结构与顺序 | Tools 一级页无返回按钮并保留四 Tab;顶部固定展示全宽 Manage apps 卡片及 Uninstall unused apps to free up space说明,其下两列两行依次为 Compress / Contacts、Private Space / Storage Widget。页面不展示 Charging Animation、Battery info、分组标题、虚构数量、优化评分或预计节省空间。 |
| A42 | R5、R5.2 | 工具页面层级与压缩 | Manage apps、Compress、Contacts 和 Private Space 进入 App 内二级页面后隐藏底部 Tab,并可返回 Tools;Storage Widget 从 Tools 或 Home 进入同一二级页并返回对应来源一级页,Battery info 从 Home 进入并返回 Home。Compress 按 R5.2 完成视频选择、可播放预览、三档压缩、可取消处理和报告链路。 |
| A43 | R5 | 联系人清理 | Tools 本身不申请联系人权限;用户进入 Contacts 且未授权时可申请,也可从 Settings > Permissions 的 Contacts 单项主动申请。仅电话或邮箱一致的联系人进入候选,本次会话可沿用既有撤销能力。扫描页只显示 Scanning contacts… 和比较电话 / 邮箱的单一加载状态,不显示撤销、置灰按钮或虚构分阶段进度,扫描完成后自动进入结果页。结果显示真实重复组数,Scan again 为次级操作;默认不显示撤销,只有存在有效恢复快照时才条件显示。每组点击 Merge 只打开精简预览,选择项只突出姓名及有差异的电话 / 邮箱;用户再次确认 Merge contacts 后才执行合并。成功后进入报告页并展示真实合并前后数量与组数,Done 返回刷新后的结果页且已合并组消失;失败时展示真实原因,不显示成功状态且不创建恢复快照。 |
| A44 | R5、R5.3 | 私密空间完整链路 | Private Space 按 R5.3 完成固定 4 位 PIN 创建、PIN / 系统身份认证解锁、后台自动锁定、无广告加密文件库、系统照片选择器首次 / 再次导入、照片预览、视频播放、相册原文件处理,以及单个 / 批量导出和删除;任一操作不得越过当次确认、必要系统授权或展示虚假成功。 |
| A45 | R5 | Widget 双入口 | Home 与 Tools 的 Storage Widget 均进入同一既有样式预览和添加指引,并通过 Android 系统流程请求添加;返回时回到实际来源一级页。桌面 Widget 的存储变化、任务和跳转符合 R3.3,两个入口均不伪造 Widget 数据。 |
| A46 | R5 | Manage apps 入口与范围 | 点击 Tools 顶部 Manage apps 卡片进入 App 内二级页而非直接打开系统应用列表;页面只展示 Android 当前允许 Tidyvo 看见且可由当前用户发起卸载的非系统应用,排除自身、系统核心、不可卸载和策略保护应用,不声称是完整已安装应用清单。 |
| A47 | R5 | 电池信息字段 | 点击 Home 的 Battery info 进入 App 内页面,并直接读取、展示 Android 系统当前可提供的电量、充电状态、供电方式、系统健康状态、温度和电压,不使用估算值。 |
| A48 | R5 | 电池信息更新与边界 | 进入页面后立即读取一次,页面可见期间系统电池状态变化后对应字段更新;设备不提供的字段显示 Unavailable。Battery info 不新增权限、不在后台持续监听、不上传或保存电池历史,也不宣称省电、修复、降温或健康优化。 |
| A49 | R1–R5 | 数据与操作边界 | Home、Smart Clean、Widget、通知和系统工具入口不上传媒体名称、缩略图、文件 URI、联系人、PIN、垃圾扫描清单、可管理应用清单或应用使用详情;本机垃圾文件名和路径只用于删除前复核,文件删除经过当次确认和必要系统授权,应用卸载逐个经过 Android 系统确认。 |
| A50 | R3 | Similar / Duplicates 汇总与排序 | Similar 三级页顶部显示去重后的真实照片总数及全部相似照片占用容量;排序只提供 Newest、Oldest、Largest 三项并默认 Largest。Duplicates 复用相同页面结构与排序规则。两页排序均不改变 Best、组内顺序或选择状态,缺失时间及相同排序值使用稳定兜底。 |
| A51 | R3 | Similar / Duplicates 单排选择与删除 | Similar 与 Duplicates 每组均只显示一条可左右滑动且不换行的轨道,Best 固定最左并默认保留,其余建议删除项默认选中;用户可逐项、逐组或全页调整选择,批量选择不自动选中 Best。底部实时显示已选数量与容量;点击 Delete 必须确认且只删除当前分类已选文件,使用页面返回操作只同步选择、不删除。 |
| A52 | R3、R4 | 极简清理报告 | 成功、部分成功和全部失败复用同一 Cleanup report 页面,不新增结果页。存在成功项时成功动效只播放一次,并显示真实释放空间和跨分类去重后的 Items deleted;部分成功同时显示未删除项目数,全部失败不显示成功动效、Cleanup complete 或虚假释放空间。报告只提供 Done、不提供 Retry;Done 返回刷新后的 Smart Clean,成功项移除、未删除项保留。成功报告固定展示 Storage Widget 和 Charging,不展示分类明细、历史或累计结果。 |
| A53 | R3 | Screenshots / Blurry 照片网格与删除 | Screenshots 与 Blurry 使用三列照片网格,顶部显示分类全部照片数和总大小,每张照片左下角显示真实文件大小、右上角显示选择状态;排序只提供 Newest、Oldest、Largest 并默认 Largest,不存在 Blurriest 或按模糊程度排序。顶部总量不随选择变化,底部选中数量和容量实时变化;点击 Delete 必须确认且只删除当前分类已选照片,使用页面返回操作只同步选择、不删除。 |
| A54 | R3 | Videos 分组、默认选择与删除 | Videos 使用两列横向缩略图网格,顶部显示全部视频数和三组全部视频总大小;每个缩略图左下角以单一标签显示 时长 · 文件大小,右上角显示选择状态且不展示中央播放按钮。视频固定按 Large ≥ 500 MB、Medium ≥ 100 MB 且 < 500 MB、Small < 100 MB 分组,各组内按文件大小降序;Large 默认选中,Medium 与 Small 默认不选。Home Videos 的 Clean X 统计三组全部容量,页面底部 Delete X 只统计当前选中容量;点击 Delete 必须确认且只删除当前已选视频。 |
| A55 | R2、R3 | Photos 聚合及删除 All Photos / All Videos | Home、Widget 或通知进入 Photos 时只展示按 Similar、Duplicates、Screenshots、Blurry 固定排序的四类聚合卡,不提供 All Photos 全量照片页;Videos 直接进入按大小分组的完整复核列表,不提供 All Videos 独立入口或平行页面。未执行删除时按实际入口返回,执行删除后的报告 Done 统一返回 Smart Clean。 |
| A56 | R3 | 二级与三级删除范围 | Smart Clean 二级页 Clean 只删除二级页当前已选文件并按文件并集去重;任一分类三级页 Delete 只删除当前分类当前已选文件,Smart Clean 其他分类的选择不执行且未受删除影响的选择继续保留。两条链路每次均展示不可跳过的确认弹窗;取消时保留原页选择且不进入报告,确认删除后重新查询真实文件状态并进入报告。 |
| A57 | R5 | Manage apps 未授权状态 | 未开启 Usage access 时,页面展示授权说明和 Allow usage access,列表仍可逐个卸载,但每项只显示真实图标、名称和 Uninstall;页面不显示应用总数、总容量、单个大小、最后使用时间、未使用判断、排序控件或逐项重复的不可用说明。授权页返回后立即重新校验,仍未授权时保持当前状态。 |
| A58 | R5 | Manage apps 已授权数据与排序 | 开启 Usage access 后,页面显示当前可管理应用的真实数量、可读取总容量以及各应用的真实大小和最后使用时间,不显示 Usage access enabled 或 Updated now。默认 Unused first 按最后使用时间由久到近,可切换 Largest 按大小降序;缺失值不伪造并排在有效值之后,相同值按名称稳定排序。 |
| A59 | R5 | 单个卸载与返回反馈 | 点击某行 Uninstall 只唤起该应用的 Android 系统卸载确认。返回后重新查询:目标应用已不存在时移除该行、刷新汇总与排序并提示 [App name] uninstalled,不宣称释放了卸载前显示的容量;目标应用仍存在时保持列表不变,不区分取消或失败,也不展示成功或失败提示。整个链路不进入清理报告、不生成历史或累计结果。 |
| A60 | R5 | 卸载、权限与批量边界 | Manage apps 不提供多选、批量卸载、连续卸载队列或静默卸载,每次只处理一个应用并由用户在 Android 系统界面确认。Usage access 仅用于应用大小和最后使用时间;REQUEST_DELETE_PACKAGES 仅用于发起系统卸载;不申请 QUERY_ALL_PACKAGES,不把 MANAGE_EXTERNAL_STORAGE 用于应用管理,也不使用 Root、无障碍或设备管理能力绕过系统限制。应用名称、图标、容量和使用详情均只在本机处理。 |
| A61 | R5.2 | 视频列表与单选进入 | 进入 Compress 后独立读取当前可访问视频,不依赖 Smart Clean 扫描结果。视频选择页使用两列网格,顶部展示真实视频数和总大小,每个缩略图左下角同时显示真实时长与文件大小;无勾选、已选汇总或中央播放按钮。Newest、Oldest、Largest 三项排序可用且默认 Largest;点击任一视频直接进入该视频设置页,每次只处理一个视频。没有可展示视频时显示 No videos found 和说明文案,不展示虚构数据或压缩按钮。 |
| A62 | R5.2 | 播放预览、档位与估算 | 所选视频可播放、暂停和调整进度,页面展示真实文件名、大小、分辨率和时长。Light、Balanced、Maximum 三档参数与 R5.2 一致,默认 Balanced;切换档位后预计输出即时更新并带估算语义,不冒充实际结果或已释放空间。 |
| A63 | R5.2 | 压缩进度与取消 | 点击 Compress 后只启动当前单视频任务,压缩中显示单一动效、真实百分比、文件名与估算大小,不显示虚构分阶段、速度或剩余时间。点击 Cancel compression 后任务终止、临时输出被删除、原视频不变,并返回原压缩设置页,不进入报告。 |
| A64 | R5.2 | 输出阈值与失败安全 | 压缩后文件小于或等于原文件 95% 时可保存,正好缩小 5% 可通过;不足 5%、失败或输出不可用时不保存结果,临时输出被删除,原视频未被覆盖、替换或修改。失败报告不显示成功动效、smaller 或 freed,显示真实原因、Original video unchanged、Try again 和 Done;Try again 返回当前视频的压缩设置页,Done 返回刷新后的视频列表。 |
| A65 | R5.2 | 成功报告、输出位置与原视频保留 | 有效压缩结果优先保存到原视频目录,原目录不可写时保存到 Movies/Tidyvo Cleaner,重名不覆盖。报告展示真实原文件大小、压缩后大小和差值;原视频默认保留时显示 Compression complete、X MB/GB smaller 与 Original video kept,不显示 freed。直接点击 Done 时保留两个文件,返回刷新后的 Compress 列表,不计已释放容量。 |
| A66 | R5.2 | 删除原视频与实际释放 | 点击 Delete original 后先展示永久删除确认,再按需完成 Android 系统授权。只有重新查询确认原视频不存在时,同一报告页才更新 Original deleted、Deletion verified 和实际 X MB/GB freed,其值等于原文件真实大小减压缩后文件真实大小,同时隐藏 Delete original。确认或系统授权取消、删除失败或原文件仍存在时保留原视频,不显示已释放容量。 |
| A67 | R5.3 | PIN 创建、解锁与修改 | 首次进入可通过两次一致的固定 4 位数字 PIN 创建 Private Space,并看到卸载 App 或清除数据可能永久丢失私密文件的提示;每次输入第 4 位后自动进入下一步或校验,不显示额外确认键。两次不一致时停留确认页、清空第二次输入并原位提示 PINs don’t match. Try again.。已创建后进入固定 4 位 PIN 解锁页;设备存在可用系统身份认证时自动唤起 Android 系统面板,取消后仍可输入 PIN 或点击指纹入口再次唤起,设备没有可用系统身份认证时不显示该入口。普通错误 PIN 清空圆点并原位提示 Incorrect PIN. Try again.;连续 5 次错误后进入 30 秒逐秒递减锁定,PIN 键盘禁用但系统身份认证仍可使用,倒计时结束自动恢复且重启 App 不重置。解锁后通过当前 PIN 或系统身份认证可修改 PIN,不提供云端找回或清空文件重置 PIN。 |
| A68 | R5.3 | 自动锁定、系统操作例外与加密边界 | 未解锁时不显示私密内容;用户按 Home、切换其他 App 或离开 Private Space 后立即锁定,再次进入必须重新解锁。Private Space 主动调起的系统照片选择器和系统删除确认页属于当前操作链路,不触发锁定,返回后直接继续。解锁、文件库、选择、预览、播放、导入、导出和删除页面均不展示广告,且无法被系统截图或显示在最近任务预览;文件保存在 App 私有加密存储,密钥由 Android Keystore 保护,不生成长期明文缓存,也不上传私密数据。 |
| A69 | R5.3 | 空状态、再次导入、预览与播放 | 空文件库显示 Add to Private Space 和 Change PIN,不显示分类筛选;有内容文件库顶部显示 Select,操作区同时保留 Add to Private Space 与 Change PIN,并提供 All / Photos / Videos。照片不显示日期或大小,视频只显示真实时长;两处 Add 均进入同一系统选择导入链路。照片可在 App 内全屏预览,视频可播放、暂停和拖动进度,不生成相册明文副本且不提供分享入口。 |
| A70 | R5.3 | 系统选择、导入与原文件处理 | Add to Private Space 调用 Android 系统照片选择器多选照片和视频,不打开第三方相册 App、不使用 Tidyvo 自建相册页、不设置自定义 20 项上限,也不向系统选择器添加导入全选;实际选择上限和系统页面能力以当前设备为准。返回后先校验可读性和真实可用空间,再显示 Adding to Private Space…、Loading 及 N / M 进度并逐项加密校验;同一媒体不重复生成副本,云端或其他不可读取媒体不进入文件库,原文件不变且未完成副本被清理。正常完成后直接刷新文件库,不进入导入报告页,也不展示部分成功、失败或跳过结果状态。本批存在成功导入项时询问是否删除相册原文件,Keep originals 或取消系统确认均保留原文件,Delete originals 只请求删除已验证导入项。 |
| A71 | R5.3 | 单个、批量与全选 | 导出和删除均支持选中 1 个或多个文件;选择模式支持手动多选和 Select all,全选后可 Deselect all。Select all 只选择进入选择模式时当前筛选结果,选择期间不能切换筛选;取消操作保留文件且不显示成功。 |
| A72 | R5.3 | 原路导出与完成提示 | 单个和多个导出使用 R5.3 同一动态确认模板;确认后显示导出动效、Exporting…、Loading 和真实 N / M 进度。相册原文件仍存在时不生成重复副本;否则优先导回导入时记录的原存储卷、相对目录和文件名,原位置不可用时保存到 Pictures/Tidyvo Cleaner,重名时追加序号且不覆盖。只有重新确认新文件存在且可读取才计为成功,未完成副本被清理且私密加密文件始终保留。完成后停留文件库,不进入报告页,只提示 N items exported,不显示兜底目录。 |
| A73 | R5.3 | 私密文件删除与记录边界 | 单个和多个删除使用 R5.3 同一动态确认模板且只展示一次 App 确认;确认后显示删除动效、Deleting…、Loading 和真实 N / M 进度,只删除选中的私密加密副本,不影响相册原文件或已导出副本。进度结束后直接刷新文件库,已删除文件消失,不进入删除结果页或 Cleanup report;不生成 Records、历史记录或累计释放空间,普通垃圾与缓存清理也不会删除私密空间内容。 |
| A74 | R2 | Settings 结构与外部入口 | Settings 按 GENERAL、DATA、PRIVACY & ABOUT 分组,并依次展示 Language / Permissions、Local data、Privacy Policy / Website / Rate us / Version;App 内不存在 Scan thresholds 入口或页面。Privacy Policy 和 Website 分别通过系统浏览器打开正式配置目标,Rate us 打开 Tidyvo Cleaner 的 Google Play 商店详情,Version 只显示当前 v1.1.0。 |
| A75 | R2 | Permissions 二级页与双入口 | Permissions 二级页隐藏底部 Tab 并可返回 Settings,固定展示 All files access、Notification access、Notifications、Contacts、Usage access 及 R2 对应用途说明。页面打开时不自动申请权限,不提供 Enable all;点击单项或进入对应功能且未授权时,均可触发同一项 Android 权限 / 设置流程。冷启动、Splash、Onboarding 和 Language 不主动申请上述权限;从系统页返回、App 恢复前台或重新进入页面后状态立即刷新。 |
| A76 | R2、R3、R4 | 所有文件系统页底部引导 | 从 Home 授权链路或 Permissions 的 All files access 进入 Android 系统页且权限未开启时,系统页底部展示“左侧 Tidyvo 图标与名称、右侧橙色开关和手指点按动效”的浅色圆角悬浮引导,仅提示用户操作系统真实开关,不遮挡、不代替授权。实现不得新增 SYSTEM_ALERT_WINDOW,不得使用无障碍、Root、设备管理能力或假系统页。 |
修订记录#
以下记录仅用于追溯,按从新到旧排列;存在历史口径时,以本文正文和同日期靠上的最新记录为准。
| 修订日期 | 变更内容 | 影响范围 | 确认方式 |
|---|---|---|---|
| 2026-08-28 | 收口 Home 授权与扫描状态:尚无成功扫描时不显示 Not scanned 或扫描时间;Home / Smart Clean 授权后返回并停留 Home 自动完整扫描,使用 Scanning…;Smart Clean 主按钮只保留 Allow access、Scanning…、Clean X 三种状态;未授权 Photos / Videos 改为 Clean 且不展示权限提示或历史数据;删除 Home 的 Scan / Scan again 状态,零结果隐藏主按钮并通过 Smart Clean 卡片进入空结果页,R3.2 保留 Refresh,失败页提供 Retry | R2、R3、R3.1、R3.2、A15、A27–A32、A34 | 常老大逐项确认并明确要求回写、部署线上;未修改页面图或 Android 代码 |
| 2026-08-28 | 调整 PRD 真源:原排版版移入 99-归档,不再作为需求依据;阅读优化版升级为 v1.1.0 线上与线下唯一在用的正式 PRD 真源。此次只调整文档角色与引用,不改变任何产品规则、验收编号或页面视觉 |
PRD 真源、项目 README、UI 资料说明、原型需求生成脚本、资料站构建与线上 PRD | 常老大明确要求 |
| 2026-08-28 | 调整首次启动链路:Splash 更换 Logo、不保留线上 Logo,保留线上 Slogan,启动页与底部进度条视觉以已确认 UI 图为准;Onboarding 三页使用已确认 3D 主视觉与三组大标题,OB1 / OB2 首次正向进入使用最长 3 秒 Continue 倒计时且支持提前点击或到时自动前进;三页不设左上角返回,OB2 / OB3 支持滑动回看,手动回看 OB1 / OB2 后停止自动倒计时;Skip 由中台自定义参数控制进入 OB3 或 Home,默认 Home;语言列表按全球常用顺序重排且首次页与 Settings 保持一致 | R1、R1.1–R1.4、A01、A09–A14 | 常老大明确确认并要求回写 PRD;未修改 UI、原型、代码或线上资料 |
| 2026-08-27 | 完成整体 PRD 复核后的清理链路收口:系统所有文件页底部悬浮引导改为确定规则;权限支持功能入口与 Settings > Permissions 双入口且首启链路不主动申请;Clear scan cache 只清临时缓存并保留扫描结果;Widget / 通知进入正常完整复核列表,不对新增内容做筛选、置顶或标记;Duplicates 复用 Similar 并默认保留 Best;Videos 固定按 Large ≥ 500 MB、Medium 100–500 MB、Small < 100 MB 分组,Large 默认选中,Home Clean X 统计全部视频、页面 Delete X 只统计实际选择;成功、部分成功和失败统一复用 Cleanup report,只有 Done、无 Retry;Photos / Videos / Junk 按实际入口返回 | R2、R3、R3.1–R3.5、A17、A23–A24、A32、A50–A56、A75–A76 | 常老大逐项确认;仅回写 PRD,不修改 UI、原型、代码或线上资料 |
| 2026-08-27 | 完成工具链路收口:Manage apps 统一使用 Apps available to manage,系统卸载返回后应用仍存在时静默保留;Compress 独立读取可访问视频,输出优先原目录、不可写时保存到 Movies/Tidyvo Cleaner,并保留失败报告;Private Space 调起系统照片选择器或系统删除确认不触发锁定,导入和删除结束后直接刷新文件库且不进入结果页,导出结束只提示 N items exported、不显示兜底目录 | R5、R5.1–R5.3、A43、A59、A61、A65、A68、A70、A72–A73 | 常老大逐项确认;仅回写 PRD,不修改 UI、原型、代码或线上资料 |
| 2026-08-27 | 回写 Onboarding、Settings 与权限引导:三张 Onboarding 保留既有英文文案并统一为深绿 / 薄荷绿精细 3D 主视觉,分别表达存储整理、删除前复核和本机隐私;Settings 删除 Scan thresholds,按 GENERAL / DATA / PRIVACY & ABOUT 重组,Permissions 改为包含 5 项真实系统状态的二级页,并新增 Website 与 Rate us;所有文件访问系统页增加底部操作引导视觉目标,同时明确不得新增悬浮窗 / 无障碍 / Root 或伪造系统页,合规实现验证不通过时必须回到产品确认。本次仅回写 PRD,不修改正式 UI、原型或线上资料站 | R1.3、R2、R3.1、R4.1、A09–A11、A17、A34、A39、A74–A76 | 常老大明确要求全部回写 PRD,先不部署线上 |
| 2026-08-27 | 补齐 Compress 安全与异常状态:删除原视频前增加独立确认状态,取消时保持原视频已保留;确认后仍需按 Android 当前要求完成系统授权并重新查询,不能直接显示已释放;增加压缩失败报告状态,展示真实失败原因、已删除未完成输出及原视频未改变;视频选择页补充无视频空状态 | R5.2、A61、A64、A66、Compress 由 5 张补齐为 7 张页面 / 状态图与交互原型 | 常老大明确确认 |
| 2026-08-27 | 完整收口 Private Space:固定 4 位 PIN 创建 / 解锁 / 修改,支持 Android 系统身份认证和 5 次错误后 30 秒锁定;补齐无广告本机加密文件库、空状态首次导入、有内容状态再次导入、All / Photos / Videos、照片预览和视频播放;Add to Private Space 统一调用 Android 系统照片选择器,不使用 Tidyvo 自建相册页、不设 20 项上限且导入不提供自定义全选;导入成功后询问是否删除相册原文件;导出和删除支持单个、手动多选及全选,复用动态确认文案并展示 Loading 与真实 N / M 进度;导出优先返回原位置,原位置不可用时保存至 Pictures/Tidyvo Cleaner;确认 15 张页面 / 状态图,自建媒体选择页作废且不进入正式交付 | R5、R5.3、A44、A49、A67–A73、Private Space 15 张确认页面 / 状态图与交互原型 | 常老大逐张确认并明确要求回写 |
| 2026-08-27 | 补齐 Compress 完整单视频压缩链路:视频选择页复用 Videos 两列网格但改为单视频进入;选中后可播放预览并选择 Light / Balanced / Maximum 三档;压缩中展示真实进度且允许取消,取消后删除临时输出并返回设置页;结果至少缩小 5% 才保存;成功报告在原视频保留时只显示缩小容量,真实删除原视频后才在同页显示实际释放容量;Done 返回刷新后的 Compress 列表 | R2、R5、R5.2、A42、A61–A66、Compress 5 张核心页面 / 状态图与交互原型 | 常老大明确确认 |
| 2026-08-27 | 保留 Contacts 合并预览页并精简信息:删除 Raw Contacts、加密恢复快照等技术说明,只保留主要联系人选择及必要差异字段;确认合并后进入重新优化的 Merge report,以大数字展示真实合并前后数量和本次合并组数,Done 返回刷新后的 Contacts 结果页,失败复用报告模板并展示真实原因 | R5 Contacts、A43、Contacts 合并预览 / 合并报告 UI 与原型 | 常老大明确确认 |
| 2026-08-27 | 简化 Contacts 扫描结果页:顶部显示真实重复组数和仅完全匹配电话 / 邮箱才进入候选的说明,Scan again 降为次级操作;默认结果不显示撤销,只有成功合并且存在恢复快照时才条件显示 Undo last merge;每组按钮由 Preview and merge 改为 Merge,点击只打开预览弹窗,在弹窗点击 Merge contacts 后才执行合并;正式页面图使用两组完整示例避免底部操作被截断 | R5 Contacts、A43、Contacts 扫描结果 / 合并预览 UI 与原型 | 常老大明确确认 |
| 2026-08-27 | 简化 Contacts 扫描中页:只保留单一加载动效、Scanning contacts… 和比较电话 / 邮箱说明;删除重复顶部状态卡、置灰扫描按钮、扫描中的撤销入口及无真实数据支撑的三阶段进度;扫描完成后自动进入结果页 | R5 Contacts、A43、Contacts 扫描中 UI / 原型 | 常老大明确确认 |
| 2026-08-27 | 重排 Tools 一级页:Manage apps 改为顶部全宽卡片并使用“卸载不再使用的应用以释放空间”说明,下方按 Compress / Contacts、Private Space / Storage Widget 两列两行排列,Storage Widget 同时保留 Home 与 Tools 入口;Manage apps 改为 App 内二级页,补齐 Usage access 未授权与已授权两种展示、真实数据与排序、逐个系统卸载、返回刷新、成功/失败轻提示、不进入报告页、不提供批量或静默卸载,以及权限和本机数据边界 | R5、R5.1、A41–A46、A49、A57–A60、Tools / Manage apps UI 输入 | 常老大明确确认 |
| 2026-08-26 | 简化并明确 Battery info:进入页面后直接读取 Android 系统当前可提供的六项电池信息并在页面可见期间更新;读不到时显示 Unavailable,不使用估算值,也不新增权限、保存历史或宣传优化能力 | R5、A47–A48 | 常老大明确确认 |
| 2026-08-26 | 调整 Smart Clean 删除链路:二级页支持逐项、分类或全选后通过 Clean 删除;分类三级页底部由 Done 改为 Delete,可直接删除当前分类已选项目且不执行二级页其他分类选择;每次删除均强制展示当次确认弹窗,取消时保留原页选择;删除后重新查询真实状态并进入报告,报告页 Done 统一返回刷新后的 Smart Clean 二级页 | R2、R3、R3.2、R3.2.1–R3.2.3、R3.5、R4、A18、A32、A37、A40、A49、A51–A56、相关二级 / 三级页与报告页 UI 交互 | 常老大明确确认 |
| 2026-08-26 | 补齐普通媒体三级页模板:Screenshots 与 Blurry 使用三列照片网格并在缩略图左下角展示文件大小;Videos 使用两列横向网格,左下角将时长和文件大小合并为单一标签且不显示播放按钮;三类排序均只保留 Newest / Oldest / Largest 并默认 Largest,顶部展示分类总量、底部展示实时选中量,Done 只同步选择返回 Smart Clean;同时删除独立 All Photos / All Videos 入口、页面和任务 | R2、R3、R3.1、R3.2、R3.2.2–R3.2.3、A18、A53–A55、Blurry / Videos 三级页 UI 输入 | 常老大明确确认 |
| 2026-08-26 | 补齐 Similar 三级页:顶部显示真实照片数与占用容量,排序锁定为 Newest / Oldest / Largest 且默认 Largest;每个分组只使用单排横向滑动照片轨道,Best 固定最左并默认保留;分组标题单行展示照片数、容量和已选数,底部 Done 只同步选择返回 Smart Clean,不直接删除 | R3、R3.2、R3.2.1、A50–A51、Similar 三级页 UI 输入 | 常老大明确确认 |
| 2026-08-26 | 补齐统一删除与极简报告:只有 Smart Clean 底部 Clean 进入统一确认并执行删除;Items deleted 按删除后确认不存在的唯一目标跨分类去重,垃圾文件按真实文件计项;成功页增加一次性成功动效,只展示真实释放空间与删除项目数,不展示分类明细或历史;推荐改为无条件同时展示 Storage Widget 与 Charging 两个入口,不再推荐清理任务 | R3、R3.5、R4、A26、A38、A40、A52、清理报告页 UI 输入 | 常老大明确确认 |
| 2026-08-26 | Smart Clean 完成态新增批量选择与统一清理:有效结果默认选中全部候选,右上角根据状态显示 Select all / Deselect all,每个分类可独立全选、半选或取消并与详情页逐项选择同步;底部 Clean X 按已选文件去重容量实时更新,未选择时禁用,点击后进入包含分类、项目数、容量和永久删除警告的统一确认页,不直接删除 | R3、R3.2、A32、Smart Clean 二级页 UI 输入 | 常老大明确确认 |
| 2026-08-26 | 明确 Smart Clean 两级默认排序:六张分类卡固定顺序不动态换位;Similar、Duplicates 按组可释放容量降序,Screenshots 按时间从旧到新,Blurry 按模糊程度降序,Videos 按文件大小降序,Junk files 按固定类型顺序且同类容量降序;卡片预览取排序后的前 3 项,并增加稳定排序兜底 | R3.2、A32、Smart Clean 二级页 UI 输入 | 常老大明确确认 |
| 2026-08-26 | 补齐 Smart Clean 二级页完整规则:授权成功后自动进入并开始扫描;扫描中保留顶部动效且不可手动取消,按真实阶段动态显示六类分析文案;完成态只显示已分析项数与可释放容量,不显示可清理项目总数;分类顺序锁定为 Similar、Duplicates、Screenshots、Blurry、Videos、Junk files,删除 Check large files 入口;分类卡展示真实预览及带项目数、容量的行动按钮,Refresh 立即重新扫描;同步统一顶部去重口径并将验收标准扩展为 A01–A49 | R3、R4、R5、A27–A49、Smart Clean 二级页 UI 输入 | 常老大明确确认 |
| 2026-08-26 | 明确所有文件访问权限授权成功后的续接规则:从系统授权页返回并确认已授权后立即自动开始扫描,不等待用户再次点击 Scan;首次 Home 或 Smart Clean 触发时进入 Smart Clean 完整扫描,Photos、Videos、Junk Cleaner 触发时执行对应分类扫描并在完成后继续结果页 | R3、R4、A27、A34 | 常老大明确确认 |
| 2026-08-26 | 文件清理权限统一为所有文件访问权限:首次进入 Home 自动展示一次授权引导;用户暂不授权后不在进入 Home 时自动重复弹出,但点击 Smart Clean、Photos、Videos 或 Junk Cleaner 时继续触发同一授权;不再申请独立照片或视频媒体权限,未授权时不进行文件扫描和清理;授权成功后继续首次 Home 扫描或原点击目标;同步删除 Limited scan 受限扫描路径并补充 Play 审核硬边界 | R2、R3、R4、A27、A29、A30、A34、A39、Home 授权弹窗 UI 输入 | 常老大明确确认 |
| 2026-08-26 | Home 功能区由八个分类入口简化为 Photos、Videos、Junk Cleaner、Notification Cleaner、Battery info、Storage Widget 六项;Photos 与 Videos 改为展示真实待复核项目、最多 4 张本地缩略图及实心 Clean X分类按钮;存储主卡保留总空间、已用空间、可用空间、存储进度和 Last scanned,删除 Healthy 健康状态,Smart Clean 主按钮按扫描状态显示 Scan、Scanning…、Clean X 或 Scan again;Storage Widget 与 Battery info 从 Tools 移至 Home,Tools 调整为两列两行四张卡片;补齐数据口径、无结果状态、点击只进入复核及删除安全边界,验收标准扩展为 A01–A49 |
R2、R3、R4、R5、A15–A49、Home / Tools UI 输入 | 常老大明确确认 |
| 2026-08-25 | 版本由 v1.0.9 调整为 v1.1.0;按完整链路重组为 R1–R5,并合入已确认需求;删除独立“本版不做”模块;新增 6 种语言,总语言数增至 18 种;底部导航调整为 Home、Tools、Charging、Settings 四个 Tab,充电动效页面标题保留 Charging Animation,Compress 移入 Tools;删除 To clean 常驻模块、跨分类队列及 Records 操作记录;Home 新增申请所有文件访问权限的真实垃圾扫描与删除,并在产品名称下方增加真实扫描状态与预计可释放空间;Home 八项功能顺序调整为 Junk Cleaner、Similar、Duplicates、Screenshots、Blurry、Notification Cleaner、All Photos、All Videos,其中 Notification Cleaner 沿用线上一次性清理;Manage apps 和 Battery info 仅放 Tools,Battery info 改为 App 内信息页 |
全文、R1–R5、验收标准及文档结构 | 常老大明确确认 |
| 2026-08-25 | Home 删除 New items to review(新增待处理内容)和 Your cleanup impact(清理成果)模块;存储与 Smart Clean 主卡使用 Last scanned(上次扫描)取代 Recommended cleanup(推荐可清理);删除原 R5 清理结果摘要,并将系统管理与电池信息调整为 R5;验收标准重排为 A01–A42 | R2–R5、验收标准和 Home 展示 | 常老大明确确认 |
| 2026-08-25 | 首次 Language 页面与 Settings 的 Language 页面统一增加 Follow system(跟随系统)选项并同步选择状态;无已保存选择时,系统语言受支持则默认跟随系统,不受支持则默认选中 English;跟随系统模式无法匹配时文案回退 English | R1.4、A13–A14、语言相关 UI | 常老大明确确认 |
| 2026-08-25 | Tools 锁定为两列三行六张卡片,顺序为 Compress / Manage apps、Contacts / Private Space、Storage Widget / Battery info;卡片仅展示图标、名称和一行说明;补齐六项工具的页面层级、返回、权限和数据边界,验收标准扩展为 A01–A45 | R5、A37–A45、Tools UI 输入 | 常老大明确确认 |