fix: 全面修复代码问题并优化架构
修复问题: - 添加缺失的 httpx 依赖到 requirements.txt - 修复前端批量删除参数格式与后端不匹配(数组->对象数组) - 移除 app/api/main.py 中重复创建 app 的冗余代码 - 修复 Plugins.vue v-model 直接修改 store 状态的 Vue 警告 - 修复 README 端口/启动命令文档与实际配置不一致 - 修正 pytest.ini 过时配置 (asyncio_default_fixture_loop_scope) - 修复 WebUI index.html 语言设置为 zh-CN - 修复 .gitignore 错误忽略 tests/ 目录 后端优化: - 修复调度器默认间隔从 5 秒改为 30 分钟,避免无节制验证 - 修复 validate_all_now 在调度器停止时无法执行的 bug - 设置保存后热更新运行中调度器的验证间隔 - 将 update_score 优化为原子单事务 SQL,消除并发竞态 - 导出功能改为真正的流式分批读取(iter_batches),降低大导出内存占用 - ProxyResponse Schema 补齐 response_time_ms 字段 - 日志级别改为从配置动态读取,不再硬编码 INFO - 清理 validator_service 中的冗余 try/finally 代码 插件健壮性: - 修复 ip3366/ip89/kuaidaili/proxylist_download/speedx/yundaili/proxyscrape 的端口范围检查和 IPv6 地址解析问题(改用 rsplit + 1-65535 校验) - 修复 PluginService.list_plugins 并发竞争条件 - 修复 run_all_plugins 去重逻辑与数据库 UNIQUE 约束保持一致 - 修复 proxyscrape 异常时错误跳过 fallback 的 bug 测试: - 新增 7 个插件解析单元测试 - 新增 update_score 自动删除和 iter_batches 流式读取测试 - 全部 74 个测试通过
This commit is contained in:
14
README.md
14
README.md
@@ -14,12 +14,12 @@
|
||||
## 📦 技术栈
|
||||
|
||||
### 后端
|
||||
- **框架**: FastAPI (端口 9949)
|
||||
- **框架**: FastAPI (端口 18080)
|
||||
- **数据库**: SQLite + aiosqlite
|
||||
- **异步**: asyncio
|
||||
|
||||
### 前端
|
||||
- **框架**: Vue 3 + Vite (端口 9948)
|
||||
- **框架**: Vue 3 + Vite (端口 18081)
|
||||
- **UI库**: Element Plus
|
||||
- **状态管理**: Pinia
|
||||
- **图表**: ECharts
|
||||
@@ -53,7 +53,7 @@ start.bat
|
||||
|
||||
**启动后端服务**(终端 1)
|
||||
```bash
|
||||
python api_server.py
|
||||
python main.py
|
||||
```
|
||||
|
||||
**启动前端服务**(终端 2)
|
||||
@@ -71,7 +71,7 @@ stop.bat
|
||||
|
||||
### 4. 访问 WebUI
|
||||
|
||||
打开浏览器访问:**http://localhost:9948**
|
||||
打开浏览器访问:**http://localhost:18081**
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
@@ -202,10 +202,10 @@ POST /api/settings
|
||||
2. **手动测试 API**
|
||||
```bash
|
||||
# 获取统计信息
|
||||
curl http://localhost:9949/api/stats
|
||||
curl http://localhost:18080/api/stats
|
||||
|
||||
# 获取代理列表
|
||||
curl -X POST http://localhost:9949/api/proxies \
|
||||
curl -X POST http://localhost:18080/api/proxies \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"page": 1, "page_size": 20}'
|
||||
```
|
||||
@@ -229,7 +229,7 @@ POST /api/settings
|
||||
## 🔧 常见问题
|
||||
|
||||
### Q: 启动后端口被占用?
|
||||
A: 修改 `config.py` 中的端口号(默认9949)或 `frontend/vite.config.js` 中的端口号(默认9948)
|
||||
A: 修改 `.env` 中的端口号(默认18080)或 `WebUI/vite.config.js` 中的端口号(默认18081)
|
||||
|
||||
### Q: 爬虫无法抓取代理?
|
||||
A: 检查网络连接,确保能访问目标网站,或尝试更换代理源插件
|
||||
|
||||
Reference in New Issue
Block a user