3.4 KiB
3.4 KiB
构建 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 的密码,显示红色警告图标。
- 触感反馈: 点击“复制”按钮时,触发震动反馈。