# 企业能耗管理平台 (EMS) 本项目基于 Golang 后端 + Vue 3 前端 + Docker 容器化部署架构构建,支持企业级电力监控与数据分析。 ## 项目结构 ``` . ├── backend/ # Golang 后端 (Gin + GORM) ├── frontend/ # Vue 3 前端 (Vite + TypeScript) ├── configs/ # 配置文件 (Nginx 等) ├── data/ # 数据持久化目录 (自动生成) ├── docker-compose.yml # 生产环境容器编排 ├── docker-compose.wsl.yml # WSL 开发环境容器编排 └── README.md # 说明文档 ``` ## 快速开始 ### 1. 环境准备 确保已安装 Docker & Docker Compose。 ### 2. 开发环境启动 (WSL / 本地调试) 适用于开发人员,端口全开放,方便数据库工具直连调试。 ```bash # 启动开发环境服务栈 docker-compose -f docker-compose.wsl.yml up -d --build ``` **访问地址:** * **Web 界面:** [http://localhost](http://localhost) (Nginx) * **后端 API:** [http://localhost:8080](http://localhost:8080) (直连后端,方便调试) * **PostgreSQL:** `localhost:5433` (用户: `ems_user` / 密码: `ems_pass`) * **TDengine:** `localhost:6030` * **Redis:** `localhost:6379` * **EMQX (MQTT):** `localhost:1883` (TCP), Dashboard: `localhost:18083` (admin/public) ### 3. 生产环境部署 (Production) 适用于正式服务器部署,安全性更高,数据库端口仅限内网访问。 ```bash # 启动生产环境服务栈 docker-compose up -d --build ``` **访问地址:** * **Web 界面:** [http://YOUR_SERVER_IP](http://YOUR_SERVER_IP) * **API 接口:** 统一通过 Nginx 转发,例如 `/api/v1/...` * **数据库:** 默认仅监听 `127.0.0.1`,不对外网暴露端口。 ### 4. 本地源码运行 (非 Docker) 如果您想在本地单独运行前后端代码进行调试: #### 后端 (Golang) ```bash cd backend go mod tidy # 确保本地已启动必要的数据库 (Postgres, TDengine, Redis),或修改配置指向 Docker 服务 go run main.go ``` #### 前端 (Vue 3) ```bash cd frontend npm install npm run dev # 开发服务器启动在 http://localhost:5173 ``` ## 技术栈详情 * **核心服务:** Golang (Gin), Vue 3 (TypeScript, Element Plus) * **数据存储:** * **PostgreSQL:** 存储用户、设备、告警规则等元数据 * **TDengine:** 高性能时序数据库,存储电力、传感器历史数据 * **中间件:** * **Redis:** 缓存与即时状态 * **EMQX:** MQTT 消息代理,处理物联网设备接入 * **Nginx:** 反向代理与静态资源服务