# 附录A｜Android页面与状态规格

> 28页沿用既有编号；新增页面为建议实施项。路由为设计名称，不代表已实现代码。A-007包含登录和注册两个明确状态；A-009包含申请和密码重设状态。

| 页面ID | 名称 | 优先级 | 设计路由 |
| --- | --- | --- | --- |
| A-001 | 启动页 | P0 | splash |
| A-002 | 引导：写下心事 | P0 | onboarding/write |
| A-003 | 引导：遇见回应 | P0 | onboarding/receive |
| A-004 | 引导：温暖相遇 | P0 | onboarding/connect |
| A-005 | 语言选择 | P0 | settings/language |
| A-006 | 登录方式选择 | P0 | auth/methods |
| A-007 | 邮箱账号：登录与注册 | P0 | auth/email |
| A-008 | 邮箱验证 | P0 | auth/email/verify |
| A-009 | 找回密码 | P0 | auth/password-reset |
| A-010 | 本机号码一键登录 | P0 | auth/one-tap |
| A-011 | 游客登录 | P0 | auth/guest |
| A-012 | 海洋首页 | P0 | ocean/home |
| A-013 | 写漂流瓶 | P0 | bottles/compose |
| A-014 | 投递结果 | P0 | bottles/submission-result |
| A-015 | 捡到漂流瓶 | P0 | pickups/claim |
| A-016 | 阅读漂流瓶 | P0 | pickups/detail |
| A-017 | 回复漂流瓶 | P0 | pickups/reply |
| A-018 | 消息中心 | P0 | messages/inbox |
| A-019 | 私信聊天 | P0 | messages/conversation |
| A-020 | 陌生人资料 | P0 | users/profile |
| A-021 | 系统通知 | P0 | notifications/list |
| A-022 | 海边广场 | P1 | plaza/feed |
| A-023 | 个人中心 | P0 | profile/me |
| A-024 | 我的漂流瓶 | P0 | bottles/mine |
| A-025 | 成就徽章 | P1 | growth/achievements |
| A-026 | 主题装扮 | P1/P2 | growth/themes |
| A-027 | 设置 | P0 | settings/home |
| A-028 | 关于Driftly | P0 | settings/about |

## A-001 启动页

**目的：** 初始化品牌、配置、语言与会话，不遮挡错误处理。

**组件与操作：** 品牌标识、加载反馈、语言快捷入口、初始化失败重试。

**异常与边界：** 配置超时；已登录但会话失效；可选/必要更新；无网络冷启动。

**验收：** 已引导且有有效会话进入首页；无效会话进入认证；不重复显示三屏引导。

**归属与阶段：** driftly-android；P0；设计路由`splash`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/01_splash.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-002 引导：写下心事

**目的：** 解释使用账号发瓶、捡瓶、回信和认识新朋友的玩法。

**组件与操作：** 人物与漂流瓶插画、标题、说明、下一步、跳过、页码。

**异常与边界：** 大字体和长文案；返回应用保持进度；RTL顺序。

**验收：** 下一步到03，跳过到05；文案说明使用账号昵称与头像交流，不要求在引导页填写联系方式。

**归属与阶段：** driftly-android；P0；设计路由`onboarding/write`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/02_onboarding_write.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-003 引导：遇见回应

**目的：** 解释拾取、阅读、回信和安全筛选。

**组件与操作：** 海洋场景、玩法简图、下一步、上一步、跳过。

**异常与边界：** 动画关闭/减少动态效果；小屏文字可滚动。

**验收：** 不声称保证收到真人即时回复；下一步04，返回02。

**归属与阶段：** driftly-android；P0；设计路由`onboarding/receive`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/03_onboarding_receive.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-004 引导：温暖相遇

**目的：** 介绍双方同意交流、举报与拉黑。

**组件与操作：** 安全说明、开始体验、上一步、协议入口。

**异常与边界：** 协议加载失败；用户拒绝进入；外链返回。

**验收：** 完成后保存引导标记进入05；安全功能不是后续付费权益。

**归属与阶段：** driftly-android；P0；设计路由`onboarding/connect`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/04_onboarding_connect.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-005 语言选择

**目的：** 选择受支持语言或跟随系统。

**组件与操作：** 语言自名称、搜索（语言多时）、跟随系统、选中状态、保存/继续。

**异常与边界：** 设备多个locale；无法识别；手动语言撤销支持；切换后重建界面。

**验收：** 手动优先；无匹配zh-CN；随系统模式实时反映系统变更；阿语RTL。

**归属与阶段：** driftly-android；P0；设计路由`settings/language`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/05_language.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-006 登录方式选择

**目的：** 游客优先进入或自行选择登录身份。

**组件与操作：** 突出主按钮“游客进入”；下方邮箱、Google、Apple、X以一排四个小型纯图标入口居中排列，不显示登录文字；主按钮、分隔说明和图标组整体下移至页面下部，靠近绑定提示，压缩图标与提示间的大块留白；上方海洋插图向下延展至主按钮附近，以短渐变连接操作区，避免插图与按钮间的大块空白；真实Android触控区域至少48dp，各入口提供对应登录方式的无障碍名称；语言、协议同意；自愿绑定提示。

**异常与边界：** 已有会话、密钥生成/证明失败、渠道不可用、用户取消、重复点击。

**验收：** 有效会话恢复原账号；无会话点击才认证，游客到11，其他方式按真实能力进入；不显示运营商默认按钮。

**归属与阶段：** driftly-android；P0；设计路由`auth/methods`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/06_login_methods.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-007 邮箱账号：登录与注册

**目的：** 同一功能页有登录/注册状态，不误认为已验证账号。

**组件与操作：** 邮箱、密码可见开关、注册状态确认密码/规则、模式切换、忘记密码。

**异常与边界：** 格式错、弱密码、重复邮箱、登录失败、限流、验证码待完成。

**验收：** 登录成功到12；注册进入08；忘记密码09；错误不泄露其它APP账户是否存在。

**归属与阶段：** driftly-android；P0；设计路由`auth/email`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/07_email_account.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-008 邮箱验证

**目的：** 验证邮箱持有权。

**组件与操作：** 脱敏邮箱、验证码输入、重发倒计时、修改邮箱、提交。

**异常与边界：** 验证码错/过期/已使用；次数上限；邮件未送达；页面恢复。

**验收：** 倒计时以服务端窗口为准；只能消费一次；多设备并发仅一次成功。

**归属与阶段：** driftly-android；P0；设计路由`auth/email/verify`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/08_email_verify.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-009 找回密码

**目的：** 安全恢复当前APP邮箱账号。

**组件与操作：** 邮箱输入、安全说明、发送邮件；令牌验证后新密码与确认。

**异常与边界：** 未知邮箱一致响应；token过期/重放；新密码不合规则。

**验收：** 有效重设后相关旧会话按策略撤销；不改变其他APP密码。

**归属与阶段：** driftly-android；P0；设计路由`auth/password-reset`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/09_password_reset.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-010 本机号码一键登录

**目的：** 已支持运营商的本机认证。

**组件与操作：** 脱敏号码（供应商提供时）、服务条款、明确同意、登录、其他方式。

**异常与边界：** 无SIM、非支持网络/国家、SDK失败、用户取消、票据过期。

**验收：** 后端核验号码归属票据；不能直接相信客户端传来的手机号；失败回06。

**归属与阶段：** driftly-android；P0；设计路由`auth/one-tap`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/10_one_tap.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-011 游客登录

**目的：** 创建或恢复真实持久游客账号，使用全部已开放功能。

**组件与操作：** 完整体验说明、扔瓶/捡瓶/回信/聊天入口说明、主动进入首页、其他登录方式、自愿绑定提示。

**异常与边界：** 重复/并发请求、挑战过期、响应丢失、密钥失效/丢失、账号限制、软件/非Play兼容。

**验收：** 私钥证明后进入12；恢复保持user_id；未绑定不限制发瓶/回信/私聊；绑定保留全部数据，无法证明归属不按设备ID找回。

**归属与阶段：** driftly-android；P0；设计路由`auth/guest`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/11_guest.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-012 海洋首页

**目的：** 所有有效应用内账号的扔瓶、捡瓶、消息与个人入口。

**组件与操作：** 海洋插画、配额/状态、扔瓶/捡瓶主按钮、消息提醒、底部导航。

**异常与边界：** 无候选、额度耗尽、审核/地区限制、功能暂停、离线缓存。

**验收：** 游客与绑定用户按相同业务规则操作，不因游客跳转登录；主按钮和底栏不裁切、不显示虚构在线人数。

**归属与阶段：** driftly-android；P0；设计路由`ocean/home`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/12_ocean_home.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-013 写漂流瓶

**目的：** 文字创建与草稿，媒体类型后续开放。

**组件与操作：** 当前账号昵称/头像、多行编辑、字数、内容语言、标签、预览、提交、草稿离开确认。

**异常与边界：** 空白、长度超限、敏感提示、网络中断、重复点击、账号受限。

**验收：** 同幂等键不重复扣额/创建；未经审核内容不能展示“已投递成功”。

**归属与阶段：** driftly-android；P0；设计路由`bottles/compose`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/13_compose.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-014 投递结果

**目的：** 呈现真实审核/投递状态。

**组件与操作：** 状态标题、说明、查看瓶子、再写一封、返回首页。

**异常与边界：** pending_review、active、rejected、failed；轮询失效；APP切后台。

**验收：** 不同状态不同文案；从通知进入仍重新查询当前状态；不保留过时成功。

**归属与阶段：** driftly-android；P0；设计路由`bottles/submission-result`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/14_sent.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-015 捡到漂流瓶

**目的：** 获取并打开一个有效领取。

**组件与操作：** 拾取反馈、打开/稍后、无候选提示、重试、额度。

**异常与边界：** 领取超时、并发输给另一用户、作者删除、额度/地区受限。

**验收：** 一槽仅一个有效领取；打开进入16；不可无限重试消耗共享资源。

**归属与阶段：** driftly-android；P0；设计路由`pickups/claim`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/15_pick.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-016 阅读漂流瓶

**目的：** 阅读已获权限内容。

**组件与操作：** 内容卡、语言/翻译入口（启用时）、作者昵称、头像与资料入口、回信/收藏/举报/放回。

**异常与边界：** 被撤回、过期、媒体不可读、对方受限、权限撤销。

**验收：** 重复阅读不重复扣额；收藏不绕过删除；回信17；精准位置不展示。

**归属与阶段：** driftly-android；P0；设计路由`pickups/detail`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/16_read.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-017 回复漂流瓶

**目的：** 提交一条初始回信并等对方同意。

**组件与操作：** 引用摘要、当前账号昵称/头像、文本输入、计数、提交、审核/等待接受提示。

**异常与边界：** 领取无效、已回信、被拉黑、审核未过、重试。

**验收：** 接受前不能连续私聊；收到accepted不误显示为对方已读。

**归属与阶段：** driftly-android；P0；设计路由`pickups/reply`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/17_reply.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-018 消息中心

**目的：** 聚合请求、会话和站内通知。

**组件与操作：** 消息请求分组、对方昵称/头像、会话列表、未读、系统入口、静音/关闭操作。

**异常与边界：** 空列表、分页、未读缓存重算、连接断开、受限会话。

**验收：** 请求先进入29接受流程；普通会话19；系统21；切账户清理前人数据。

**归属与阶段：** driftly-android；P0；设计路由`messages/inbox`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/18_messages.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-019 私信聊天

**目的：** 按权威顺序安全交流。

**组件与操作：** 对方昵称/头像与资料入口、消息气泡、输入框、发送状态、时间、已读偏好、更多举报/拉黑/关闭。

**异常与边界：** 待审、拒绝、断线、重复/乱序、会话关闭、撤回、多设备同步。

**验收：** client_message_id幂等；published_seq排序；事件缺口补拉；非成员不可见。

**归属与阶段：** driftly-android；P0；设计路由`messages/conversation`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/19_chat.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-020 陌生人资料

**目的：** 展示用户资料，提供关系与安全控制。

**组件与操作：** 昵称、头像、简介、允许公开兴趣、关注（P1）、举报/拉黑。

**异常与边界：** 用户已注销、拉黑、资料审核中、禁止发现。

**验收：** 不显示邮箱/手机号/IP；私聊入口遵守会话同意，不可任意搭讪。

**归属与阶段：** driftly-android；P0；设计路由`users/profile`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/20_user_profile.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-021 系统通知

**目的：** 业务与治理通知可追踪。

**组件与操作：** 通知分类、时间、已读、详情、对应跳转。

**异常与边界：** 被删除目标、处罚状态变更、推送重复、深链过期。

**验收：** 点击重新鉴权；通知使用用户语言；处理结果不泄露举报人。

**归属与阶段：** driftly-android；P0；设计路由`notifications/list`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/21_notifications.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-022 海边广场

**目的：** P1公开内容发现。

**组件与操作：** 推荐/关注、话题、内容卡、点赞评论收藏、发布入口。

**异常与边界：** 未开放、无内容、离线、内容下架、分页重复、地区限制。

**验收：** 隐私和拉黑贯穿feed；不制造虚假用户互动；未开放不出现死导航。

**归属与阶段：** driftly-android；P1；设计路由`plaza/feed`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/22_plaza.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-023 个人中心

**目的：** 展示当前账号资料与真实数据，提供自愿绑定和个人功能。

**组件与操作：** 昵称头像、未绑定状态、真实统计、我的瓶子/收藏/徽章/主题、语言、账号与安全及“去绑定”。

**异常与边界：** 资料待审、统计延迟、游客/已绑定状态、账号受限、绑定冲突。

**验收：** 游客功能不加锁；绑定便于找回，保留user_id/数据；已绑定显示真实状态，示例统计不当上线数据。

**归属与阶段：** driftly-android；P0；设计路由`profile/me`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/23_my_profile.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-024 我的漂流瓶

**目的：** 发出/收到/草稿及生命周期。

**组件与操作：** 标签筛选、状态、时间、摘要、草稿编辑、删除确认。

**异常与边界：** 空状态、待审/拒绝/过期、删除中、已失去收藏访问。

**验收：** 详情检查权限；本地草稿与已提交内容分清；撤回说明影响。

**归属与阶段：** driftly-android；P0；设计路由`bottles/mine`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/24_my_bottles.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-025 成就徽章

**目的：** P1展示真实获得的基础成就。

**组件与操作：** 已获/未获、条件、详情、领取状态。

**异常与边界：** 事件处理中、条件未满足、重复领取、功能关闭。

**验收：** 只用有效且未被风控撤销的业务事件；客户端不能自发奖励。

**归属与阶段：** driftly-android；P1；设计路由`growth/achievements`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/25_achievements.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-026 主题装扮

**目的：** P1免费主题，P2付费扩展。

**组件与操作：** 瓶子/背景列表、预览、应用、资源下载、权益标识。

**异常与边界：** 资源加载错、未购买/过期权益、下载失败、低存储。

**验收：** 服务端验证权益；失败保留可用默认主题；不能把付费主题伪称安全特权。

**归属与阶段：** driftly-android；P1/P2；设计路由`growth/themes`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/26_themes.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-027 设置

**目的：** 提供偏好、账号安全、绑定、凭据与用户权利入口。

**组件与操作：** 资料、账号与安全（邮箱/Google/Apple/X）、语言、通知、隐私、黑名单、导出注销、关于、退出。

**异常与边界：** 未绑定、密钥丢失/撤销、账号受限/注销、证明依赖或供应商不可用。

**验收：** 绑定自愿且保留数据；游客可导出注销；普通退出撤销会话清缓存并保留本机密钥，重新进入需要主动操作。

**归属与阶段：** driftly-android；P0；设计路由`settings/home`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/27_settings.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## A-028 关于Driftly

**目的：** 品牌与版本可信信息。

**组件与操作：** 版本、协议/隐私、社区守则、安全、反馈、开源许可。

**异常与边界：** 链接失败、旧政策、无新版本、应用退役。

**验收：** 真实品牌/主体；不出现假评分/人数；其他品牌法律页面不串用。

**归属与阶段：** driftly-android；P0；设计路由`settings/about`。

参考图：[历史视觉基线](../03_设计与历史依据/28页参考图/28_about.png)。原图文案、功能与数据可能是占位，实际以本报告为准。

## 必须补充的页面或独立交互状态

| ID | 页面/状态 | 阶段 | 规格与验收 |
| --- | --- | --- | --- |
| A-029 | 消息请求详情与接受 | P0 | 显示经审核初始回信；接受/拒绝/举报/拉黑；接受原子建立会话；重复接受幂等。 |
| A-030 | 账号绑定与解绑 | P0 | 邮箱/Google/Apple/X、自愿绑定；当前私钥+新身份+操作授权；保留原user_id/全部数据；冲突不合并；不解绑最后恢复身份。 |
| A-031 | 修改密码与近期验证 | P0 | 验证已有身份后改密码；提示会话撤销范围；绝不显示原密码。 |
| A-032 | 设备与会话管理 | P0 | 脱敏会话/凭据、撤销/换钥；旧/新所有权验证；撤销关闭关联WS；丢钥需已绑定身份恢复，不显示技术秘密。 |
| A-033 | 注销申请与状态 | P0 | 游客和绑定用户均可；新私钥挑战和正文绑定单次授权；本APP影响、进度及法定保留；撤销全部凭据。 |
| A-034 | 数据导出申请 | P0 | 游客可通过私钥近期操作授权申请，不强制绑定；范围、等待、短时下载；不泄露他人或举报者隐私。 |
| A-035 | 隐私与消息偏好 | P0 | 发现、消息请求、已读、宽泛地区可见；所有选项真实服务端执行。 |
| A-036 | 通知偏好与权限 | P0 | 系统权限说明、消息/运营分类、静默时段；拒绝权限后APP仍可正常核心操作。 |
| A-037 | 黑名单管理 | P0 | 分页、解除确认；解除只恢复资格，不自动重新关注或恢复关闭会话。 |
| A-038 | 举报提交 | P0 | 内容引用、类型、必要补充、提交回执；证据不伪造，防重复刷举报。 |
| A-039 | 举报进度与反馈 | P0 | 处理状态、可公开结果、支持；不泄露审核员私人信息或其他举报人。 |
| A-040 | 处罚说明与申诉 | P0 | 限制内容、期限、可公开原因、申诉/补充、复核结果；受限状态仍可访问。 |
| A-041 | 年龄与地区可用性 | P0 | 按批准政策中立提示/必要年龄门槛；不诱导填可用年龄；拒绝仍有隐私支持入口。 |
| A-042 | 图片瓶创作与预览 | P1 | 系统照片选择、裁切/说明/上传、失败重试；后端检查MIME/EXIF和审核状态。 |
| A-043 | 语音瓶录制与预览 | P1 | 麦克风按需授权、录制/停止/试听、时长、重录/提交；来电/后台中断保持安全状态。 |
| A-044 | 媒体/通知权限解释 | P0/P1 | 按实际功能请求，拒绝可回退；P0不提前请求未开放录音功能。 |
| A-045 | 动态发布 | P1 | 正文、图片、话题、预览、草稿、审核；未通过不进入公共feed。 |
| A-046 | 动态详情与评论 | P1 | 评论分页/两级回复、举报/删除、点赞；拉黑与内容下架即时回收权限。 |
| A-047 | 话题探索与搜索 | P1 | 查询、热门与空结果；搜索只覆盖公开且同应用可见内容。 |
| A-048 | 我的收藏 | P0 | 基础引用列表、取消收藏、内容不可用占位；P1再加分类搜索。 |
| A-049 | 订阅权益与恢复 | P2 | 商品/价格/周期/取消/恢复/退款说明；权益以后端校验与渠道确认落库为准。 |
| A-050 | 客服与FAQ | P0 | 可公开FAQ、反馈类型、联系方式、工单回执；禁止把客服描述为24小时即时救援。 |
| A-051 | 更新、维护与应用退役 | P0 | 可选/强制升级、维护、退役通知；保留账户权利入口与用户数据安全说明。 |

## 全页面通用要求

每页必须检查：加载、空、错误、离线、登录过期、功能关闭、应用暂停、无权限、RTL、字体放大、系统键盘、进程回收和返回导航。页面状态使用UIState int；业务状态和全部有限选择控件value使用附录B.7的int字典，从1编号，0不作为默认选项；未选使用可空/省略，界面继续显示中文label。登录、语言模式、语言、瓶子类型、主题、通知/已读开关、筛选与排序、多选都遵守同一规则，动态目录记录仍按ID引用。纯背景是装饰素材，所有功能标签和点击区域是真实Compose组件。原图没有的异常页面不允许用Toast一概代替。发瓶、阅读、回信、消息列表、聊天与用户资料页统一显示当前账号昵称、头像及资料入口；资料审核生效后同步更新。

游客与绑定用户共享全部已开放功能和普通业务权限。账号安全的恢复提示不强制绑定；当前图06/11/23/27已按本轮确认编辑。详细认证与安全验收见[附录H](H_游客登录与密钥安全协议.md)。
