110 lines
3.4 KiB
Markdown
110 lines
3.4 KiB
Markdown
# 环境监督系统 (EMS)
|
||
|
||
## 📖 项目简介
|
||
|
||
环境监督系统 (EMS) 是一个全栈的Web应用程序,旨在提供一个全面的平台,用于环境事件的报告、监控、管理和分析。系统支持多角色访问,包括管理员、决策者、网格员、监督员和公众监督员,每个角色都有特定的权限和定制化的用户界面。
|
||
|
||
## ✨ 主要功能
|
||
|
||
- **仪表盘**: 为决策者和管理员提供关键指标和数据的可视化概览。
|
||
- **网格化地图**: 在地图上直观地展示和管理环境监督网格。
|
||
- **任务管理**: 网格员可以接收、处理和汇报环境监督任务。
|
||
- **反馈系统**: 公众监督员和监督员可以提交、查看和管理环境问题反馈。
|
||
- **系统管理**: 管理员可以管理用户信息和查看系统操作日志。
|
||
- **个性化设置**: 所有用户都可以查看个人信息和操作日志。
|
||
- **动态主题**: 系统界面颜色会根据用户角色动态变化,提供更好的用户体验。
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
本项目采用前后端分离的架构。
|
||
|
||
### 后端 (ems-backend)
|
||
|
||
- **框架**: [Spring Boot 3](https://spring.io/projects/spring-boot)
|
||
- **语言**: Java 17
|
||
- **文件存储**: json
|
||
- **API文档**: SpringDoc (Swagger UI)
|
||
- **身份认证**: Spring Security with JWT
|
||
- **构建工具**: Maven
|
||
|
||
### 前端 (ems-frontend)
|
||
|
||
- **框架**: [Vue 3](https://vuejs.org/)
|
||
- **构建工具**: [Vite](https://vitejs.dev/)
|
||
- **语言**: TypeScript
|
||
- **UI 组件库**: [Element Plus](https://element-plus.org/)
|
||
- **状态管理**: [Pinia](https://pinia.vuejs.org/)
|
||
- **路由**: [Vue Router](https://router.vuejs.org/)
|
||
- **HTTP客户端**: Axios
|
||
- **代码风格**: Prettier
|
||
|
||
## 📁 项目结构
|
||
|
||
```
|
||
.
|
||
├── ems-backend/ # 后端 Spring Boot 项目
|
||
│ ├── src/
|
||
│ └── pom.xml
|
||
├── ems-frontend/ # 前端 Vue.js 项目
|
||
│ ├── src/
|
||
│ ├── vite.config.ts
|
||
│ └── package.json
|
||
└── README.md # 项目说明文件
|
||
```
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 环境准备
|
||
|
||
- [JDK 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) 或更高版本
|
||
- [Maven 3.8](https://maven.apache.org/download.cgi) 或更高版本
|
||
- [Node.js 22.x](https://nodejs.org/) 或更高版本
|
||
|
||
### 后端启动
|
||
|
||
1. **进入后端目录**:
|
||
```bash
|
||
cd ems-backend
|
||
```
|
||
|
||
2. **安装依赖**:
|
||
```bash
|
||
mvn install
|
||
```
|
||
|
||
3. **运行项目**:
|
||
```bash
|
||
mvn spring-boot:run
|
||
```
|
||
后端服务将启动在默认端口 (通常是 `8080`)。
|
||
|
||
### 前端启动
|
||
|
||
1. **进入前端目录**:
|
||
```bash
|
||
cd ems-frontend
|
||
```
|
||
|
||
2. **安装依赖**:
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
3. **启动开发服务器**:
|
||
```bash
|
||
npm run dev
|
||
```
|
||
前端应用将启动在 `http://localhost:5173` (或其他Vite指定的端口)。
|
||
|
||
## 👥 用户角色
|
||
|
||
系统预设了以下五种角色,拥有不同的职责和访问权限:
|
||
|
||
1. **ADMIN (管理员)**: 拥有最高权限,可以访问所有功能,包括用户管理和系统设置。
|
||
2. **DECISION_MAKER (决策者)**: 关注宏观数据,主要访问仪表盘和地图。
|
||
3. **GRID_WORKER (网格员)**: 负责执行具体任务,主要使用任务管理和地图功能。
|
||
4. **SUPERVISOR (监督员)**: 负责管理和审查收到的反馈信息。
|
||
5. **PUBLIC_SUPERVISOR (公众监督员)**: 可以提交环境问题的反馈。
|
||
|
||
登录后,系统会根据您的角色,展示不同的菜单和界面主题。
|