
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
第 78 篇收束第 16 天:隐私能力不仅要有成功路径,还要有失败态。保险箱、系统导出、防窥、分享这些能力都和系统权限、用户确认、设备支持有关。只写成功路径的 Demo 很容易看起来漂亮,但用户一旦取消授权或设备不支持,就会卡住。 双镜记忆相机在多个位置处理失败态:认证结果映射成可读文案,敏感操作前要求再次本地认证,导出到系统相册时处理空文件、取消保存和保存失败,防窥能力把权限

第 77 篇讲 DLP Anti Peep。相册和保险箱属于高隐私内容,除了进入前认证,还要考虑用户正在浏览照片时是否被旁人窥屏。HarmonyOS 的 DLP Anti Peep 能力可以监听系统防窥状态,并在检测到风险时设置遮罩层。 双镜记忆相机把防窥能力放在相册详情页里:进入详情时启动防窥监听,页面隐藏时停止;检测到 HIDE 状态时更新遮罩状态,并调用 setAntiP

第 76 篇讲保险箱详情页。私密照片解锁后不能只显示一个列表,用户还需要像普通相册一样查看前后镜头、滑动浏览、恢复公开相册、导出到系统相册或再次锁定。区别在于这些动作都必须在保险箱上下文里完成。 这一篇从详情查看器、选中记录、私密帧列表、恢复/导出按钮和锁定按钮五个角度拆代码。重点是理解:保险箱复用了普通相册的数据和预览能力,但它在入口、状态和操作上加了更严格的边界。 本篇目标

第 75 篇聚焦本地认证。保险箱不是把照片换个列表存放就结束,它必须在用户查看私密内容前确认身份。HarmonyOS 提供 UserAuthenticationKit,项目用它实现人脸、指纹和 PIN 的组合认证,并通过信任等级降级提高设备兼容性。 这一篇会从权限申请、随机挑战、认证实例、信任等级降级、解锁状态五个层次拆代码。重点不是记住每个枚举,而是理解一个“可用的保险箱解锁

第 74 篇进入第 16 天,开始系统拆保险箱。很多项目会把“私密相册”做成一个单独列表,但双镜记忆相机选择了更稳的做法:所有照片仍然是同一种 GalleryMoment,只是通过 visibility 字段分成公开记录和私密记录。这样数据模型统一,页面呈现分层。 统一模型的好处是所有照片都能复用地点、时间、AI 文案、云同步和前后镜头路径;分层字段的好处是普通相册、地图、保险

第 74 篇进入第 16 天,开始系统拆保险箱。很多项目会把“私密相册”做成一个单独列表,但双镜记忆相机选择了更稳的做法:所有照片仍然是同一种 GalleryMoment,只是通过 visibility 字段分成公开记录和私密记录。这样数据模型统一,页面呈现分层。 统一模型的好处是所有照片都能复用地点、时间、AI 文案、云同步和前后镜头路径;分层字段的好处是普通相册、地图、保险

第 73 篇把分享和隐私放在一起看。近场分享越自然,越需要明确边界:公开相册里的照片可以快速分享,但保险箱照片不能因为设备碰一碰或隔空抓取就默认暴露。双镜记忆相机通过 visibility、保险箱解锁状态和页面上下文共同控制这条边界。 这一篇不会只说“要保护隐私”,而是回到项目代码看数据模型如何区分 public/private,照片如何移入和恢复,保险箱 UI 如何要求身份认

第 73 篇把分享和隐私放在一起看。近场分享越自然,越需要明确边界:公开相册里的照片可以快速分享,但保险箱照片不能因为设备碰一碰或隔空抓取就默认暴露。双镜记忆相机通过 visibility、保险箱解锁状态和页面上下文共同控制这条边界。 这一篇不会只说“要保护隐私”,而是回到项目代码看数据模型如何区分 public/private,照片如何移入和恢复,保险箱 UI 如何要求身份认

第 72 篇讲分享降级。真实设备环境很复杂:有的设备支持碰一碰但不支持隔空抓取,有的系统防护能力未开启,有的分享面板可能被用户取消。一个训练营项目想写得像完整作品,不能只展示“成功路径”,还要让能力不可用时有可继续操作的出口。 双镜记忆相机的降级策略比较清晰:ShareKit 注册失败不会阻塞相册;近场分享没有内容时主动拒绝;系统分享作为通用出口保留在详情页和视频管理页;分享过

第 71 篇专门拆 SharedData。前一篇我们知道近场回调最终会调用 buildSharedData,但在真实项目里,构造分享数据不只是把文件路径塞进去。双镜照片有前后两张图,有标题、地点、时间、缩略图和媒体类型,系统分享面板需要这些信息才能展示出正确的预览。 这一篇从 LocalShareItem 这个中间结构开始,讲清楚项目为什么要先建立自己的分享项模型,再转换成 S








