Files
CapacityReport/README.md
T

116 lines
4.7 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.
# CapacityReport · 容量报表处理系统
CapacityReport 用于处理每周的网络容量报表数据:从本地上传或 FTP/SFTP 远程目录获取 Excel/CSV/ZIP 数据,按字段映射清洗、入库到 MySQL,再执行业务 SQL 生成 4G/5G 容量结果表,并通过容量看板做高负荷小区分析。
## 技术栈
- 后端:Python + FastAPI + Uvicorn
- 前端:Vue 3 + TypeScript + Vite + Naive UI
- 桌面端:Tauri 2(Rust)+ Python sidecar
- 数据库:MySQL 8.0+
- 数据处理:Pandas + OpenPyXL;图表:ECharts;SQL 编辑器:Monaco Editor
## 功能模块
系统左侧导航分为 6 个模块:
| 模块 | 作用 |
| --- | --- |
| 数据处理 | 本地上传或远程下载数据,清洗后入库并执行报表 SQL |
| 容量看板 | 4G/5G 高负荷小区分析大屏(汇总、图表、问题清单、单小区详情) |
| 处理历史 | 查看历史任务、处理日志,浏览/下载历史原始数据 |
| 数据管理 | 浏览、编辑、导入导出数据库表,在线执行 SQL |
| 脚本编辑 | 在线编辑并执行容量报表 SQL / CellData SQL |
| 系统设置 | 数据库、远程数据源、字段映射、自动调度等配置 |
## 初次运行
- 默认登录账号:用户名 `root`,密码 `Capacity`(登录后可在「系统设置 → 修改密码」中修改)。
- 系统需要配套使用:
- **一个 FTP/SFTP 数据源**:存放每周容量报表数据,在「系统设置 → 远程数据源」中配置,可手动下载或开启自动调度。
- **一个 MySQL 8.0+ 数据库**:作为数据仓库,在「系统设置 → 数据库」中配置连接信息。
- 启动后访问 `http://localhost:9081`。
- 也可以直接在「数据处理」页拖拽上传数据文件,无需远程数据源。
详细的 Web 端操作方法与注意事项见 [使用说明 USAGE.md](USAGE.md)。
## 运行与编译
所有运行 / 编译都统一为 `scripts/` 下的 Python 脚本,直接用系统 Python 运行即可。脚本会自动创建 `.venv` 并安装依赖、自动安装前端依赖;缺少 Node.js / Rust / Docker 时会给出安装引导。
环境要求:
- Python 3.10+(加入 PATH)
- Node.js 18+
- MySQL 8.0+
- Rust 工具链(仅编译 Tauri 桌面版时需要)
- Docker(仅编译镜像时需要)
| 命令 | 用途 |
| --- | --- |
| `python scripts/dev.py` | 开发模式:后端自动重载 + 前端热更新 |
| `python scripts/run.py` | 本地运行:构建前端(如缺失)并启动服务 |
| `python scripts/dev_tauri.py` | Tauri 桌面端测试运行 |
| `python scripts/build_server.py` | 编译 Server 便携版 |
| `python scripts/build_tauri.py` | 编译 Tauri 桌面版 |
| `python scripts/build_docker.py` | 编译 / 更新 Docker 镜像 |
| `python scripts/clean.py` | 清理缓存与编译产物 |
### 本地运行
```bash
python scripts/run.py # 默认 0.0.0.0:9081
python scripts/run.py --port 8080
```
### 开发模式
```bash
python scripts/dev.py
```
后端 `http://127.0.0.1:9081`(自动重载),前端 `http://127.0.0.1:5174`(Vite 热更新)。
### 编译发布版
```bash
python scripts/build_server.py # Server 便携版(dist/server/)
python scripts/build_tauri.py # Tauri 桌面版(dist/desktop/)
python scripts/build_docker.py # Docker 镜像 + 离线包(dist/docker/)
```
桌面版需在目标系统本机构建(Windows 包在 Windows、Linux 包在 Linux、macOS 包在 macOS);Windows 安装包内置 WebView2 离线安装器。Docker 离线包部署:
```bash
docker load -i dist/docker/capacity-report-app-latest.tar
docker compose -f dist/docker/docker-compose.yml up -d
```
### Docker 编排(应用 + MySQL + sftpgo)
整套系统(应用、MySQL、sftpgo 文件服务)可用 `packaging/docker-compose.yml` 一键构建运行:
```bash
cd frontend && npm ci && npm run build && cd ../packaging
docker compose build && docker compose up -d
```
完整的编排说明(在线构建、内网离线部署、默认账号、上传数据、数据卷、运维命令)见 [packaging/README.md](packaging/README.md)。
## 文档
- [使用说明 USAGE.md](USAGE.md):Web 端各功能的操作方法与注意事项。
- [开发文档 DEVELOPMENT.md](DEVELOPMENT.md):技术栈、目录结构与「功能 ↔ 代码」对照。
开发文档锚点:
- [技术栈与主要库](DEVELOPMENT.md#技术栈与主要库)
- [目录结构](DEVELOPMENT.md#目录结构)
- [功能与代码对照](DEVELOPMENT.md#功能与代码对照)
- [数据处理](DEVELOPMENT.md#数据处理)
- [容量看板](DEVELOPMENT.md#容量看板)
- [处理历史](DEVELOPMENT.md#处理历史)
- [数据管理](DEVELOPMENT.md#数据管理)
- [脚本编辑](DEVELOPMENT.md#脚本编辑)
- [系统设置](DEVELOPMENT.md#系统设置)