You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.2 KiB
4.2 KiB
闸口数据管理小程序
基于 UniApp + Vue 3 + TypeScript 开发的微信小程序,用于水利、交通等场景的闸口监测管理。
功能特性
核心功能
- ✅ 闸口数据上传:支持图片上传、测流值记录、GPS定位
- ✅ 历史数据查询:数据列表展示、筛选查看、详情预览
- ✅ 闸口站点管理:多个站点切换、站点信息展示
技术实现
- 🚀 图片上传:使用微信小程序
wx.chooseImageAPI,支持最多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)
- 站点列表:显示所有可用站点
- 搜索功能:按名称、地点搜索
- 选中状态:清晰标识当前选中站点
数据模型
闸口站点
interface GateStation {
id: string
name: string
location: string
coordinates: {
latitude: number
longitude: number
}
description: string
status: 'active' | 'inactive' | 'maintenance'
}
数据记录
interface GateDataRecordVO {
id: string
stationId: string
stationName: string
flowValue: number
images: string[]
location: Coordinates
remark?: string
createTime: string
status: 'pending' | 'approved' | 'rejected'
}
开发指南
运行项目
# 安装依赖
pnpm install
# 微信小程序开发
pnpm run dev:mp-weixin
技术栈
- 框架:UniApp 3.x + Vue 3
- 语言:TypeScript
- 构建:Vite
- 状态管理:Pinia
- 样式:UnoCSS + SCSS
- UI 组件:uview-plus
- 图标:Tabler Icons (UnoCSS)
注意事项
权限管理
- 位置权限:首次使用时需要用户授权
- 相机权限:图片上传时需要用户授权
数据存储
- 当前使用假数据进行演示
- 实际项目中需要配置后端API接口
性能优化
- 图片支持压缩上传
- 列表数据分页加载
- 定位信息适当缓存
扩展功能建议
- 数据导出:支持Excel导出
- 数据可视化:集成图表展示流量变化趋势
- 离线模式:支持离线数据存储和同步
- 消息推送:异常情况告警通知
- 权限管理:多角色用户权限控制
License
MIT License