edit | blame | history | raw

用户目标

  • 作为 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 语种按钮长度与说明换行
  • 深浅主题与高对比度
  • 主题预览计时、结束回退、解锁后状态切换