react-phone-apps/.blueprint/modules/photo-capture.md
lanrtop cea2a5d208 feat: 表单保存优化、照片保存相册及布局性能改进
- 物品表单底部新增冻结保存按钮,保存成功显示 Toast 提示
- 照片全屏预览时支持一键保存到本地相册(expo-media-library ~16.0.0)
- 左侧标记点列表侧栏宽度从 120 调整为 160
- FoldableLayout 改用 LayoutAnimation 替代 JS 线程宽度动画,修复 Android 地图渲染空白及卡顿问题
- 修复 ImagePicker 废弃 API MediaTypeOptions.Images → MediaType.Images

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 00:12:42 +09:00

1.2 KiB
Raw Blame History

id name area status
photo-capture 照片采集与管理 rn-app done

概述

调用设备摄像头或相册为物品条目添加多张照片,照片压缩后存储到 App 专属目录,路径写入 SQLite photos 表。

任务卡

🔵 摄像头调用与图片压缩

  • status: done
  • complexity: M
  • files: apps/property-survey/src/features/photo/usePhotoCapture.ts
  • depends: local-data-layer
  • acceptance: 使用 expo-image-picker 提供「拍照」和「从相册选择」两种入口;拍摄/选择后自动压缩至最大宽度 1080px、JPEG quality 0.75;将压缩后的文件复制到 expo-file-system 的 App 专属目录;调用 insertPhoto 写入数据库;全流程有权限检查,拒绝权限时给出提示

🔵 照片网格预览与删除

  • status: done
  • complexity: M
  • files: apps/property-survey/src/features/photo/PhotoGrid.tsx, apps/property-survey/src/features/photo/PhotoPicker.tsx
  • depends: photo-capture
  • acceptance: 以 3 列网格展示已添加的照片缩略图;点击照片全屏预览(支持左右滑动切换);长按照片显示「删除」确认弹窗,删除时同步调用 deletePhoto含文件系统删除末尾显示「+」按钮触发 PhotoPicker 添加更多