Files
ChuXun 745a933f1f 1
2026-01-29 23:57:51 +08:00

111 lines
3.5 KiB
Markdown
Raw Permalink 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.
# 环境监督系统 (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 (公众监督员)**: 可以提交环境问题的反馈。
登录后,系统会根据您的角色,展示不同的菜单和界面主题。