react-phone-apps/.blueprint/modules/floor-map.md
lanrtop 4e1d92264d feat: 初始化 Property Survey 应用基础架构
- 添加 monorepo 结构 (apps/property-survey, packages/types)
- 配置 Expo + React Native + Android 构建链
- 实现本地数据层 (SQLite/better-sqlite3)
- 添加 Blueprint 项目蓝图系统
- 配置 ESLint + Prettier
- 添加共享类型定义
2026-04-09 13:04:36 +09:00

41 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: floor-map
name: 楼层地图与标记点管理
area: rn-app
status: done
---
## 概述
以 SVG/Image 占位图为底图支持长按添加标记点、点击标记点进入编辑的交互逻辑。标记点坐标以相对比例0~1存储替换真实楼层图时无需修改数据。
## 任务卡
### 📋 平面图占位容器与坐标系
- status: done
- complexity: M
- files: apps/property-survey/src/features/map/FloorMap.tsx
- depends: survey-app-shell
- acceptance: 渲染一个带灰色背景的矩形占位区域作为平面图,使用 onLayout 获取实际像素尺寸并转换相对坐标0~1容器宽高比固定为 4:3适配折叠/展开两种宽度
### 📋 长按手势添加标记点
- status: done
- complexity: M
- files: apps/property-survey/src/features/map/useMarkerGesture.ts
- depends: floor-map
- acceptance: 在平面图区域长按 500ms 后触发,将触点位置转换为相对坐标并调用 insertMarker 写入数据库,新标记点立即在地图上显示,不误触短按事件
### 📋 标记点图标组件
- status: done
- complexity: M
- files: apps/property-survey/src/features/map/MapMarker.tsx
- depends: floor-map
- acceptance: 在平面图上按相对坐标绝对定位渲染图钉图标,已有物品的标记点显示蓝色图钉 + 物品数量角标,空标记点显示灰色图钉,点击触发 onPress 回调
### 📋 当前楼层标记点数据加载
- status: done
- complexity: S
- files: apps/property-survey/src/features/map/MarkerList.tsx
- depends: floor-map
- acceptance: 楼层切换时调用 getMarkersByFloor 重新查询,渲染该楼层所有 MapMarker删除标记点时弹出确认对话框含级联删除提示