重构: 迁移后端代码到 app 目录,前端移动到 WebUI,添加完整测试套件

主要变更:
- 后端代码从根目录迁移到 app/ 目录
- 前端代码从 frontend/ 重命名为 WebUI/
- 更新所有导入路径以适配新结构
- 提取公共 API 响应函数到 app/api/common.py
- 精简验证器服务代码
- 更新启动脚本和文档

测试:
- 新增完整测试套件 (tests/)
- 单元测试: 模型、仓库层
- 集成测试: 覆盖所有 22+ API 端点
- E2E 测试: 4个完整工作流场景
- 添加 pytest 配置和测试运行脚本
This commit is contained in:
祀梦
2026-04-04 13:32:36 +08:00
parent df3cc87f88
commit 38bd66128b
109 changed files with 2017 additions and 548 deletions

View File

@@ -36,7 +36,7 @@ pip install -r requirements.txt
### 2. 安装前端依赖
```bash
cd frontend
cd WebUI
npm install
```
@@ -58,7 +58,7 @@ python api_server.py
**启动前端服务**(终端 2
```bash
cd frontend
cd WebUI
npm run dev
```
@@ -77,32 +77,35 @@ stop.bat
```
ProxyPool/
├── api_server.py # FastAPI 后端服务器
├── config.py # 配置文件
├── main.py # 项目入口
├── requirements.txt # Python 依赖
├── .env.example # 环境变量示例
├── script/ # 启动脚本
│ ├── start.bat # Windows 启动脚本
└── stop.bat # Windows 停止脚本
├── app/ # 后端代码
│ ├── api/ # FastAPI 路由
│ ├── main.py # 应用工厂
│ │ ├── routes/ # API 路由
│ │ ├── deps.py # 依赖注入
│ │ └── ...
│ ├── core/ # 核心模块
│ │ ├── config.py # 配置管理
│ │ ├── db.py # 数据库连接
│ │ ├── log.py # 日志配置
│ │ ├── plugin_system/ # 插件系统
│ │ └── tasks/ # 任务队列
│ ├── models/ # 数据模型
│ ├── repositories/ # 数据访问层
│ ├── services/ # 业务逻辑层
│ └── plugins/ # 代理源插件
│ ├── fate0.py # Fate0 代理源
│ ├── ip3366.py # IP3366 代理源
│ ├── ip89.py # IP89 代理源
│ ├── kuaidaili.py # 快代理源
│ ├── yundaili.py # 云代理源
│ ├── speedx.py # SpeedX 代理源
│ └── proxylist_download.py # ProxyList 代理源
├── core/ # 核心模块
│ ├── crawler.py # 爬虫基类
│ ├── validator.py # 代理验证器
│ ├── sqlite.py # 数据库管理
│ ├── plugin_manager.py # 插件管理器
│ └── log.py # 日志配置
├── plugins/ # 代理源插件
│ ├── fate0.py # Fate0 代理源
│ ├── ip3366.py # IP3366 代理源
│ ├── ip89.py # IP89 代理源
│ ├── kuaidaili.py # 快代理源
│ ├── yundaili.py # 云代理源
│ ├── speedx.py # SpeedX 代理源
│ └── proxylist_download.py # ProxyList 代理源
├── frontend/ # Vue3 前端
├── WebUI/ # Vue3 前端
│ ├── src/
│ │ ├── api/ # API 封装
│ │ ├── stores/ # Pinia 状态管理
@@ -113,6 +116,10 @@ ProxyPool/
│ ├── index.html
│ └── package.json
├── script/ # 启动脚本
│ ├── start.bat # Windows 启动脚本
│ └── stop.bat # Windows 停止脚本
└── db/ # 数据存储目录
└── proxies.sqlite # SQLite 数据库
```