用户目标
- 只讨论 TagLauncher 本轮“免费版 + Pro 解锁”新增/改动的产品内 UI。
- 范围限定为:
- 设置页 Data / Theme 区域里的 Pro 状态区。
- Pro 功能入口的轻量标识。
- 免费用户触发 Pro 功能时的提示弹窗。
- Pro 主题卡片在免费预览态与已解锁态的视觉差异。
- 不讨论营销页,不改代码。
已完成事项
- 读取并遵守项目入口规则、
CODE_GOVERNANCE.md、研发前置讨论规则、会话记忆规则。
- 读取 PRD《2026-06-25-PRD-免费版与Pro解锁》相关条目。
- 审阅现有设置页与主题卡片实现:
src/Apptag/PreferencesView.swift
src/Apptag/AppGridTheme.swift
- 查看现有设置页截图,确认当前 macOS App 风格与信息密度。
关键决策
- 不建议新增独立 Pro 页签,也不建议做营销式大卡。
- 低风险方案是在 Theme 和 Data 两个已有上下文里复用同一套 Pro 状态组件。
- 不建议使用重锁图标或“V 锁”作为主标识。
- 更合适的是轻量
Pro 文本胶囊;仅在必要处配小图标,不全局铺锁。
- 免费用户触发 Pro 功能时,优先做“轻弹窗 + 可返回”,而不是硬阻断或直接跳支付。
- Pro 主题卡片应区分三态:
- 免费未解锁:可见
Pro 轻标识。
- 免费预览中:显示临时态与倒计时,不伪装成已购买。
- 已解锁:回归普通可选主题样式,不持续强化“付费”身份。
- 多语种容错优先级高于装饰性。
- 不把
Pro 拼进主题标题同一行。
- 价格、权益、恢复购买入口不塞进单行。
文件变更
- 无业务代码变更。
- 新增本条会话记录:
.codex-sessionhistory/2026-06-26-Pro界面方案.md
未决问题
- 后续实现阶段需要确认 Pro 价格字符串的最终展示位置与长度策略。
- 若后续产品希望把 Pro 状态区做成单一入口,需在“Theme 顶部完整卡片”与“Data 内联紧凑行”之间再收敛一次版位。
后续建议
- 实现时先落 Theme / Data 两处的静态状态与卡片样式,再接购买状态机和弹窗。
- QA 重点覆盖:
- 免费 / Pro / 老用户自动 Pro / 购买中 / 恢复失败。
- 长文案语言。
- macOS 深浅外观下的对比度与按钮层级。