## 用户目标 - 作为 TagLauncher 的 UI 设计师 2,基于 `Docs/X-01产品文档/2026-06-25-PRD-免费版与Pro解锁.md` 与现有 macOS App 风格,提出另一套同样可落地但风格上略有取舍的产品内 UI 方案。 - 本轮只讨论产品内 UI,不改代码,不讨论营销页。 - 重点覆盖: - 设置页 Data / Theme 区域里的 Pro 状态区 - Pro 功能入口的轻量标识 - 免费用户触发 Pro 功能时的提示弹窗 - Pro 主题卡片在免费预览态与已解锁态的视觉差异 ## 已完成事项 - 读取并遵守: - `~/.codex/rules/pre-implementation-discussion.md` - `~/.codex/rules/session-memory.md` - 项目入口 `AGENTS.md` - 项目本地 `CODE_GOVERNANCE.md` - 指定技能 `design-taste-frontend` - 阅读 PRD: - `Docs/X-01产品文档/2026-06-25-PRD-免费版与Pro解锁.md` - 阅读现有设置页与主题相关实现: - `src/Apptag/PreferencesView.swift` - `src/Apptag/AppGridTheme.swift` - `src/Apptag/EditModeViews.swift` - 查看现有设置页截图与视觉证据,确认当前 UI 基调是原生 macOS 偏好设置风格,而非营销式权益卡。 ## 关键决策 - 本轮推荐的备选方向是“原生设置条 + 就地提示”,不是“权益大卡 + 全局锁态”。 - 方案采用“一主一辅”结构: - `Data` 顶部放唯一的完整 Pro 状态区,承载权益摘要、价格、解锁与恢复购买。 - `Theme` 顶部放紧凑镜像状态条,只解释主题相关规则和入口,不重复完整权益列表。 - 更低风险的最简方案仍然存在: - 只在 `Data` 顶部放 Pro 状态区,`Theme` 只保留一句说明。 - 本轮不作为主推,因为主题侧理解成本会更高。 - 不建议使用“V 锁”或 icon-only 锁标作为长期标识。 - 长期标识应统一为小型 `Pro` 文本胶囊。 - 真正的锁图标只保留在被拦截当下的弹窗标题或局部说明里。 - 主题卡片不应做灰化、模糊、黑纱遮罩。 - 免费用户可预览的 Pro 主题应保持完整色彩,只通过 `Pro` 胶囊、计时 chip、选中态差异来表达状态。 - 主题点击的首次体验不应直接弹付费窗。 - Pro 主题首击进入 5 分钟预览,预览条中再给“解锁 Pro”入口。 - 导入导出、备注额度满、排序保存等无预览场景才使用轻量弹窗。 - 付费提示不走“错误/告警”视觉语言。 - Settings 内使用白底原生 sheet 风格。 - App Grid 内使用现有深色提醒泡泡家族,但内容更轻。 ## 文件变更 - 新增会话记录: - `.codex-sessionhistory/2026-06-26-Pro界面方案-01.md` ## 未决问题 - 产品仍需最终冻结: - `Theme` 是否保留镜像状态条,还是只做 `Data` 单区。 - 若后续实现排序 Pro 门禁,现有“拖拽即保存”链路是否要先补一个明确“保存排序”动作,仍需产品和研发一起定。 ## 后续建议 - 若进入实现,先冻结一个统一的 `Pro entitlement` 只读状态模型,再分别落到: - `Data` 完整状态区 - `Theme` 镜像状态条 - 统一 Pro 胶囊组件 - 统一 Pro 轻量弹窗内容模型 - QA 先锁以下矩阵: - 免费 / Pro / 老付费自动 Pro / 处理中 / 取消 / 失败 / 无可恢复购买 - 29 语种按钮长度与说明换行 - 深浅主题与高对比度 - 主题预览计时、结束回退、解锁后状态切换