refactor!: 模块化拆分 src 结构,新增批量同步服务、查询解析器及前端分页/高级检索功能

- src/ 按 clients/services/api 分层,Config 提升至 crate 根
- 新增 batch_sync.rs(双源并行收割)、query_parser.rs(多平台检索式转换)
- build.rs 自动触发前端 npm install & build
- SearchPanel 支持分页/排序/每页条数/高级检索构建器,前端加入搜索缓存
- 新增 SyncPanel 替换 SettingsPanel;新增 live_search 集成测试
This commit is contained in:
fmq
2026-06-09 10:29:24 +08:00
parent 307a1c0cee
commit e13fa2ad40
27 changed files with 4115 additions and 207 deletions
+21 -11
View File
@@ -16,11 +16,12 @@ graph TD
subgraph Backend ["Rust Axum 后端 (Port 8000)"]
Router[Axum 路由与中间件]
Handlers[业务处理器 handlers.rs]
Parser[解析器 parser.rs]
Downloader[下载器 download.rs]
Translator[翻译器 translation.rs]
Qiniu[七牛云客户端 qiniu.rs]
Handlers[业务处理器 api/handlers.rs]
Sync[同步器 services/batch_sync.rs]
Parser[解析器 services/parser.rs]
Downloader[下载器 services/download.rs]
Translator[翻译器 services/translation.rs]
Qiniu[七牛云客户端 clients/qiniu.rs]
DB[("SQLite / astro_research.db")]
end
@@ -37,9 +38,14 @@ graph TD
Router --> Handlers
Handlers -->|查询/保存元数据| DB
Handlers -->|文献下载| Downloader
Handlers -->|结构化清洗| Parser
Handlers -->|LLM学术翻译| Translator
Handlers -->|文献下载/解析/翻译| Handlers
Handlers -->|批量操作| Sync
Sync -->|元数据同步| ADS
Sync -->|元数据同步| arXiv
Sync -->|批量文件下载| Downloader
Sync -->|批量正文解析| Parser
Sync -->|写库记录| DB
Downloader -->|代理请求| ADS
Downloader -->|直连或 ar5iv| arXiv
@@ -214,14 +220,18 @@ sequenceDiagram
## 3. 核心模块说明
- **[src/download.rs](../src/download.rs)**:
- **[src/api/handlers.rs](../src/api/handlers.rs)**:
- 处理 Axum API 路由分发与业务逻辑,包括统一检索、笔记管理、划词高亮及翻译。
- **[src/services/batch_sync.rs](../src/services/batch_sync.rs)**:
- 核心后台大批量文献元数据采集 (`MetaSync`) 与文献物理资源批量处理 (`AssetSync`) 的业务同步引擎。
- **[src/services/download.rs](../src/services/download.rs)**:
- 包含浏览器头伪装与请求延迟控制。
- 处理 ADS Link Gateway 路由重定向追踪与 `validate.perfdrive.com` 防护解码绕过。
- 实现官方 `arxiv.org/html` 优先及 `ar5iv` 兜底,自动去除版本号后缀。
- **[src/parser.rs](../src/parser.rs)**:
- **[src/services/parser.rs](../src/services/parser.rs)**:
- 实现 HTML 语法树向 GFM Markdown 的逆向转换,使用占位符保护机制防止 MathJax/LaTeX 公式被误解析。
- 统一相对图表链接,并集成 MinerU PDF 解析。
- **[src/translation.rs](../src/translation.rs)**:
- **[src/services/translation.rs](../src/services/translation.rs)**:
- 利用本地千万字级别的天文学双语词典对原文进行分词匹配,注入系统提示词让 LLM 实现学术级精细翻译。
- **[dashboard/src/components/CitationGalaxyCanvas.tsx](../dashboard/src/components/CitationGalaxyCanvas.tsx)**:
- 基于原生 HTML5 Canvas 开发的轻量级、高性能力导向图星系物理引擎,用于文献引文网络拓扑结构的可视化渲染。