# 随工水印相机 一个用于记录施工现场工作情况的水印相机应用,支持拍照、添加水印、提交施工记录等功能。 ## 项目结构 ``` watermarkcamera/ ├── uniapp/ # 前端代码 │ └── WorkCameraf/ # UniApp 项目 │ ├── pages/ # 页面 │ ├── common/ # 公共模块(工具函数、API请求等) │ ├── components/ # 组件 │ └── static/ # 静态资源 ├── server/ # 后端代码 │ └── Zr.Admin.NET/ # .NET 后台管理系统(基于模板) │ └── document/sql server/ # 数据库脚本 └── README.md ``` ## 技术栈 - **前端**: UniApp (Vue 3) - 支持编译为 App、小程序、H5 - **后端**: .NET (基于 Zr.Admin.NET 模板) - **数据库**: SQL Server ## 核心功能 ### 水印相机功能 1. **拍照与定位** - 获取当前GPS位置 - 坐标转换(WGS84 → 腾讯地图坐标系) - 逆地理编码获取详细地址 2. **水印信息** - 拍摄时间 - 地理位置(地址 + 经纬度) - 部门名称 - 施工人员列表 - 项目状态(施工前/施工中/施工后) - 工作内容 - 公司Logo 3. **数据管理** - 保存水印图片到相册 - 提交施工记录到后台 - 本地缓存历史工作内容(快速选择) ## 数据库设计 ### cam_workrecord(施工记录表) | 字段 | 类型 | 说明 | |------|------|------| | Id | int | 主键 | | RecordTime | datetime | 记录时间 | | Address | nvarchar(max) | 地址 | | Longitude | nvarchar(100) | 经度 | | Latitude | nvarchar(100) | 纬度 | | Content | nvarchar(max) | 工作内容 | | Remarks | nvarchar(max) | 备注 | | DeptName | nvarchar(100) | 部门名称 | | StatusName | nvarchar(100) | 状态(施工前/施工中/施工后/无) | | ImageUrl | nvarchar(300) | 图片路径(预览图) | | CreateTime | datetime | 创建时间 | | UpdateTime | datetime | 更新时间 | ### cam_worker(施工人员表) | 字段 | 类型 | 说明 | |------|------|------| | Id | bigint | 主键 | | workrecordId | int | 施工记录ID | | WorkerName | nvarchar(100) | 人员姓名 | | CreateTime | datetime | 创建时间 | | UpdateTime | datetime | 更新时间 | ### cam_workers(施工人员工时表) | 字段 | 类型 | 说明 | |------|------|------| | Id | bigint | 主键 | | workrecordId | int | 施工记录ID | | WorkerName | nvarchar(100) | 人员姓名 | | WorkerDay | int | 工时天数 | | CreateTime | datetime | 创建时间 | ## API 接口 | 接口 | 方法 | 说明 | |------|------|------| | /config | GET | 获取配置(Logo、部门列表、状态列表) | | /addworkrecord | POST | 提交施工记录 | ## 开发说明 ### 前端开发 ```bash cd uniapp/WorkCameraf npm install # 使用 HBuilderX 或 CLI 运行/编译项目 ``` ### 后端说明 后端基于 Zr.Admin.NET 模板创建,业务相关代码主要涉及施工记录管理功能,其他为模板自带的后台管理功能。