--- id: local-data-layer name: 本地数据持久化层 area: data status: done --- ## 概述 基于 Expo SQLite 的本地数据库层,管理标记点、物品记录和照片路径三张核心表。所有写操作使用事务保证原子性,供上层功能模块调用。 ## 任务卡 ### 📋 SQLite 初始化与 Schema 建表 - status: done - complexity: M - files: apps/property-survey/src/db/database.ts, apps/property-survey/src/db/schema.ts - acceptance: App 启动时自动执行 CREATE TABLE IF NOT EXISTS,建立 markers / items / photos 三张表,重复启动不报错,字段与设计文档一致 ### 📋 标记点 CRUD 操作 - status: done - complexity: M - files: apps/property-survey/src/db/markers.ts - depends: local-data-layer - acceptance: 提供 insertMarker / getMarkersByFloor / updateMarker / deleteMarker 四个函数,deleteMarker 级联删除关联 items 和 photos,所有函数返回类型安全的 Promise ### 📋 物品记录 CRUD 操作 - status: done - complexity: M - files: apps/property-survey/src/db/items.ts - depends: local-data-layer - acceptance: 提供 insertItem / getItemsByMarker / updateItem / deleteItem 四个函数,支持批量查询(传入 marker_id 数组),返回带关联照片数量的扩展类型 ### 📋 照片路径 CRUD 操作 - status: done - complexity: S - files: apps/property-survey/src/db/photos.ts - depends: local-data-layer - acceptance: 提供 insertPhoto / getPhotosByItem / deletePhoto / reorderPhotos 四个函数,deletePhoto 同步删除设备文件系统中的对应图片文件