Files
yunrui_asset/README.md
T

180 lines
4.2 KiB
Markdown
Raw 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.
# IDC设备管理系统
一个基于React+Node.js+MySQL的IDC设备管理系统,用于管理IDC机房中的设备、机柜和机房信息。
## 功能特点
### 后端功能
- 机房管理(增删改查)
- 机柜管理(增删改查)
- 设备管理(增删改查)
- 功率统计与管理
- 设备状态监控
### 前端功能
- 仪表盘:设备、机柜、机房统计信息
- 设备管理:设备列表、搜索、筛选、添加、编辑、删除
- 机柜管理:机柜列表、搜索、筛选、添加、编辑、删除
- 机房管理:机房列表、搜索、筛选、添加、编辑、删除
## 技术栈
### 前端
- React 18
- Ant Design 5
- Vite 4
- React Router 6
- Axios
### 后端
- Node.js
- Express.js
- Sequelize
- MySQL
## 项目结构
```
idc-device-management/
├── backend/ # 后端代码
│ ├── models/ # 数据库模型
│ │ ├── Room.js # 机房模型
│ │ ├── Rack.js # 机柜模型
│ │ └── Device.js # 设备模型
│ ├── routes/ # API路由
│ │ ├── rooms.js # 机房路由
│ │ ├── racks.js # 机柜路由
│ │ └── devices.js # 设备路由
│ ├── server.js # 服务器主文件
│ └── package.json # 后端依赖
├── frontend/ # 前端代码
│ ├── src/ # 前端源码
│ │ ├── pages/ # 页面组件
│ │ │ ├── Dashboard.jsx # 仪表盘
│ │ │ ├── DeviceManagement.jsx # 设备管理
│ │ │ ├── RackManagement.jsx # 机柜管理
│ │ │ └── RoomManagement.jsx # 机房管理
│ │ ├── App.jsx # 应用主组件
│ │ ├── main.jsx # 应用入口
│ │ └── index.css # 全局样式
│ ├── index.html # HTML模板
│ ├── vite.config.js # Vite配置
│ └── package.json # 前端依赖
└── package.json # 项目依赖
```
## 安装与运行
### 1. 安装依赖
```bash
# 安装所有依赖
npm run install:all
```
### 2. 配置数据库
1. 创建MySQL数据库:
```sql
CREATE DATABASE idc_management;
```
2. 修改后端数据库连接配置(backend/server.js):
```javascript
const sequelize = new Sequelize({
dialect: 'mysql',
host: 'localhost',
port: 3306,
username: 'root', // 修改为你的MySQL用户名
password: 'password', // 修改为你的MySQL密码
database: 'idc_management'
});
```
### 3. 启动服务
```bash
# 同时启动前后端服务
npm start
# 或分别启动
npm run start:backend # 启动后端服务(端口:3001
npm run start:frontend # 启动前端服务(端口:3000
```
### 4. 访问系统
前端地址:http://localhost:3000
后端API地址:http://localhost:3001
## API接口
### 机房管理
- GET /api/rooms - 获取所有机房
- GET /api/rooms/:roomId - 获取单个机房
- POST /api/rooms - 创建机房
- PUT /api/rooms/:roomId - 更新机房
- DELETE /api/rooms/:roomId - 删除机房
### 机柜管理
- GET /api/racks - 获取所有机柜
- GET /api/racks/:rackId - 获取单个机柜
- POST /api/racks - 创建机柜
- PUT /api/racks/:rackId - 更新机柜
- DELETE /api/racks/:rackId - 删除机柜
### 设备管理
- GET /api/devices - 获取所有设备
- GET /api/devices/:deviceId - 获取单个设备
- POST /api/devices - 创建设备
- PUT /api/devices/:deviceId - 更新设备
- DELETE /api/devices/:deviceId - 删除设备
## 开发说明
### 后端开发
1. 进入后端目录:
```bash
cd backend
```
2. 安装依赖:
```bash
npm install
```
3. 启动开发服务器:
```bash
npm run dev
```
### 前端开发
1. 进入前端目录:
```bash
cd frontend
```
2. 安装依赖:
```bash
npm install
```
3. 启动开发服务器:
```bash
npm run dev
```
## 注意事项
1. 确保MySQL服务已经启动
2. 首次运行需要创建数据库
3. 设备创建时会自动更新机柜的当前功率
4. 设备更新或删除时会自动调整机柜的当前功率
5. 机柜删除前需要确保没有关联的设备
6. 机房删除前需要确保没有关联的机柜
## License
MIT