# 构建 iOS 原生应用 "私密管家" (SecretKeeper) ## 具体功能模块实现细节: **任务:** 请根据以下详细的功能描述和字段定义,开发一个名为“超级保险库”的原生 iOS 应用。 ### 一、 详细页面与录入字段定义 #### 1. 账号保险库 (Account Vault) **界面要求:** 顶部有 Segmented Control 切换按钮:**全部 / APP/ 网站/邮箱/其它**。 **列表页:** 按字母 A-Z 分组,显示项目名称、用户名/邮箱、所属地区标签。 **录入/编辑页字段:** - 账号名称 **(Name):** 必填。 - **用户名 (Username):** 常用账号标识。 - **邮箱地址 (Email):** 支持自动填充。 - **手机号 (Phone):** 数字键盘。 - **登录密码 (Password):** **核心字段**,需加密存储。需实时显示强度条(0-100分)。 - **网站地址 (URL):** URL 格式校验。 - **所属地区 (Region):** 默认为“中国”。 - **所属分类 (Category):** 从预设分类(APP、网站、邮箱、其它)中选择,分类头像可选择默认的图标。 - **详细备注 (Notes):** 多行文本,记录补充信息。 - 每个账号提供头像的选择功能,app默认提供40个扁平化彩色图标让用户选择 - 账号列表页顶部有 Segmented Control 切换按钮进行分类的筛选 #### 2. 银行卡包 (Bank Cards) **列表页:** 3D 仿真卡片视图,显示银行名称、卡号末四位、CVV码和持卡人。 **界面要求:** 顶部有 Segmented Control 切换按钮: **“全部” / “银行卡” / “信用卡”** 。 **录入/编辑页字段:** - **卡片类型:** Segmented Control - 储蓄卡 / 信用卡。 - **银行名称 (Bank Name):** TextField - 必填。 - **银行卡号 (Card Number):** TextField - 数字键盘,格式化显示(4位一空格),​**加密存储**。 - **持卡人 (Card Holder):** TextField - 自动大写。 - **有效期 (Expiry Date):** TextField - 格式 MM/YY。 - **安全码 (CVV):** SecureField - 3位数字,​**加密存储**。 - **支付密码 (Pay Password):** SecureField - 6位数字,用于在线支付,​**加密存储**。 - **提款密码 (Withdraw Password):** SecureField - ATM 密码,​**加密存储**。 - **卡面颜色:** Color Picker - 提供预设的 5 种渐变色方案。 #### 3. 媒体库 (Media Vault) **界面要求:** 顶部有 Segmented Control 切换按钮:​ **“全部” / “照片” / “视频”** ​。 **录入逻辑:** - **数据源:** 调用 PhotosPicker。 - 功能要求 **:** 提供在系统相册中导入功能,导入成功后根据用户需要删除系统相册中的相同内容 - 导出 **:** 提供导出到系统相册的功能 #### 4. 安全与设置 (Settings) - **主密码设置:** 首次启动强制设置6位数字密码,派生加密根密钥。 - **生物识别开关:** 开启后,App 进入后台自动加锁,唤起时优先使用 FaceID。 - **iCloud 同步:** 进提供给内购用户,此功能预留。 - **数据重置:** 一键清空数据库及沙盒文件。 - 暗黑/明亮/自动跟随系统主题选择。 - 数据导入导出:提供本地/远程加密json文件的导入导出 --- ### 二、 交互逻辑要求 - **安全审计:** 列表页对于强度分低于 60 的密码,显示红色警告图标。 - **触感反馈:** 点击“复制”按钮时,触发震动反馈。