# 闸口数据管理小程序 基于 UniApp + Vue 3 + TypeScript 开发的微信小程序,用于水利、交通等场景的闸口监测管理。 ## 功能特性 ### 核心功能 - ✅ **闸口数据上传**:支持图片上传、测流值记录、GPS定位 - ✅ **历史数据查询**:数据列表展示、筛选查看、详情预览 - ✅ **闸口站点管理**:多个站点切换、站点信息展示 ### 技术实现 - 🚀 **图片上传**:使用微信小程序 `wx.chooseImage` API,支持最多3张图片 - 📍 **精准定位**:使用 `gcj02` 坐标系,支持高精度定位 - 📊 **数据管理**:Pinia 状态管理,响应式数据更新 - 🎨 **UI 组件**:UnoCSS 原子化样式 + uview-plus UI 组件 ## 项目结构 ``` src/ ├── @api/ # API 接口定义 ├── @layout/ # 布局组件 ├── components/ # 通用组件 ├── common/ # 常量和工具函数 ├── hooks/ # 组合式函数 ├── pages/ # 页面文件 │ ├── index/ # 首页(闸口选择) │ └── gate/ # 闸口相关页面 │ ├── list.vue # 闸口站点列表 │ ├── upload.vue # 数据上传 │ ├── history.vue # 历史数据 │ └── detail.vue # 数据详情 ├── stores/ # 状态管理 ├── types/ # TypeScript 类型定义 │ ├── dto/ # 数据传输对象 │ └── vo/ # 值对象 └── utils/ # 工具函数 ``` ## 页面说明 ### 1. 首页 (`pages/index/index.vue`) - 闸口站点卡片展示 - 快捷操作按钮 - 支持站点选择和跳转 ### 2. 数据上传 (`pages/gate/upload.vue`) - **当前闸口信息**:显示选中站点,支持切换 - **图片上传**:最多3张,支持预览和删除 - **测流数据**:数字输入,单位 m³/s - **定位信息**:自动获取当前位置,支持重新定位 - **备注信息**:可选文字描述,最多200字 - **数据验证**:确保必填项完整后提交 ### 3. (`pages/gate/history.vue`) - **筛选功能**:按闸口、时间筛选 - **统计信息**:总记录数、今日记录数 - **数据列表**:展示记录摘要,支持下拉刷新 - **图片预览**:缩略图展示,支持点击预览 ### 4. 数据详情 (`pages/gate/detail.vue`) - **完整信息展示**:站点、时间、测流值、定位 - **图片查看**:全屏预览,支持滑动切换 - **地图定位**:点击位置信息打开微信内置地图 ### 5. 闸口选择 (`pages/gate/list.vue`) - **站点列表**:显示所有可用站点 - **搜索功能**:按名称、地点搜索 - **选中状态**:清晰标识当前选中站点 ## 数据模型 ### 闸口站点 ```typescript interface GateStation { id: string name: string location: string coordinates: { latitude: number longitude: number } description: string status: 'active' | 'inactive' | 'maintenance' } ``` ### 数据记录 ```typescript interface GateDataRecordVO { id: string stationId: string stationName: string flowValue: number images: string[] location: Coordinates remark?: string createTime: string status: 'pending' | 'approved' | 'rejected' } ``` ## 开发指南 ### 运行项目 ```bash # 安装依赖 pnpm install # 微信小程序开发 pnpm run dev:mp-weixin ``` ### 技术栈 - **框架**:UniApp 3.x + Vue 3 - **语言**:TypeScript - **构建**:Vite - **状态管理**:Pinia - **样式**:UnoCSS + SCSS - **UI 组件**:uview-plus - **图标**:Tabler Icons (UnoCSS) ## 注意事项 ### 权限管理 - 位置权限:首次使用时需要用户授权 - 相机权限:图片上传时需要用户授权 ### 数据存储 - 当前使用假数据进行演示 - 实际项目中需要配置后端API接口 ### 性能优化 - 图片支持压缩上传 - 列表数据分页加载 - 定位信息适当缓存 ## 扩展功能建议 1. **数据导出**:支持Excel导出 2. **数据可视化**:集成图表展示流量变化趋势 3. **离线模式**:支持离线数据存储和同步 4. **消息推送**:异常情况告警通知 5. **权限管理**:多角色用户权限控制 ## License MIT License