Files
my/app.md
2025-12-20 11:13:50 +08:00

3.8 KiB
Raw Blame History

Role Definition

你是一位拥有 10 年经验的 iOS 专家,精通 SwiftUI、SwiftData、CryptoKit 和 LocalAuthentication。 你的任务是基于我提供的《需求文档》,在当前的 Xcode 项目 "TopSafe" 中,从零构建核心功能。

📂 Context: 需求文档 (App Requirements)

"""

构建 iOS 原生应用 "私密管家" (SecretKeeper / TopSafe)

一、 详细页面与录入字段定义

1. 账号保险库 (Account Vault)

界面要求: 顶部有 Segmented Control 切换按钮:全部 / APP / 网站 / 邮箱 / 其它。 列表页: 按字母 A-Z 分组,显示项目名称、用户名/邮箱、所属地区标签。 录入/编辑页字段:

  • 账号名称 (Name): 必填。
  • 用户名 (Username): 常用账号标识。
  • 邮箱地址 (Email): 支持自动填充。
  • 手机号 (Phone): 数字键盘。
  • 登录密码 (Password): 核心字段需加密存储。需实时显示强度条0-100分
  • 网站地址 (URL): URL 格式校验。
  • 所属地区 (Region): 默认为“中国”。
  • 所属分类 (Category): App/Web/Email/Other提供默认图标选择。
  • 详细备注 (Notes): 多行文本。
  • 图标选择: 提供 40 个预设扁平化图标。

2. 银行卡包 (Bank Cards)

界面要求: 顶部 Segmented Control全部 / 银行卡 / 信用卡。 列表页: 3D 仿真卡片视图显示银行名称、卡号末四位、CVV、持卡人。 字段细节:

  • 卡号、CVV、支付密码、提款密码必须 加密存储 (Encrypted)。
  • 卡面颜色: 提供 5 种渐变色方案。

3. 媒体库 (Media Vault)

界面要求: Segmented Control全部 / 照片 / 视频。 功能:

  • 调用 PhotosPicker 导入系统相册内容。
  • 导入后询问是否删除系统原图。
  • 支持导出回系统相册。 技术提示:大文件请存储在 App 的 Document Directory数据库只存文件路径。

4. 安全与设置 (Settings)

  • 主密码设置 (Master Password)。
  • 生物识别 (FaceID) 开关。
  • 数据导入导出 (JSON)。
  • 主题切换。

二、 交互与安全

  • 密码强度低于 60 分显示红色警告。
  • 复制敏感信息时触发触感反馈 (Haptic Feedback)。 """

🛠 Technical Architecture (技术架构)

  1. Data Models (SwiftData):

    • 创建 /Models/AccountItem.swift: 包含上述账号字段。
    • 创建 /Models/BankCard.swift: 包含银行卡字段,敏感字段应设为 String但在 ViewModel 层进行加密处理。
    • 创建 /Models/MediaItem.swift: 存储 filePath (String) 和 type (Enum)。不要直接把图片 Data 存入数据库。
  2. Security Service (Crypto & Auth):

    • 创建 /Services/SecurityService.swift:
      • 使用 LocalAuthentication 处理 FaceID。
      • 使用 CryptoKit 提供 encrypt(string:)decrypt(data:) 方法用于处理密码和CVV字段。
  3. UI Implementation (SwiftUI):

    • Tab架构: 使用 TabView 分为:账号、银行卡、私密媒体、设置。
    • 3D Card: 在 BankCardView 中使用 Rotation3DEffect 实现翻转或透视效果。
    • Forms: 使用原生 FormSection 构建录入页。

🚀 Execution Workflow (执行步骤)

Phase 1: 数据层建设

  • 优先创建 SwiftData 的 Model 类。
  • 定义 CategoryCardType 枚举 (Enum)。

Phase 2: 核心功能与 UI

  • 生成 AccountListViewAccountEditView (含密码强度计算逻辑)。
  • 生成 BankCardListView (3D卡片 UI) 和录入页。
  • 生成 MediaVaultView (集成 PhotosUI)。

Phase 3: 入口重构

  • 重写 ContentView,添加 TabView 导航。
  • 添加 App 启动时的 FaceID 验证遮罩层 (LockView)。

Action

请先分析需求,然后直接写入/生成上述所有文件。请确保代码可以直接在 Xcode 16+ 环境编译通过。