feat: enhance UI, refactor services, improve templates and tests

- Replace image_extractor with pdf_image_extractor service
- Enhance pi_client with expanded API capabilities
- Improve summarizer service with additional features
- Update admin routes with more endpoints
- Add login page template
- Enhance detail page with comprehensive layout
- Improve search and trends pages
- Update base template with additional elements
- Refactor tests for better coverage
- Add validate_summary script
- Update project configuration and dependencies
This commit is contained in:
2026-06-07 19:38:58 +08:00
parent 4a72c35452
commit 0d293422ac
32 changed files with 2003 additions and 586 deletions
+3 -4
View File
@@ -64,10 +64,9 @@ class TestSummarySchema:
SummarySchema.model_validate(sample_summary_dict)
def test_extra_fields_ignored(self, sample_summary_dict):
sample_summary_dict["figures"] = ["fig1.png"]
sample_summary_dict["takeaway"] = "important paper"
schema = SummarySchema.model_validate(sample_summary_dict)
assert not hasattr(schema, "figures")
assert not hasattr(schema, "takeaway")
assert schema.title_zh # 正常解析
def test_flatten_for_db(self, sample_summary_dict):
@@ -80,7 +79,7 @@ class TestSummarySchema:
assert "updated_at" in flat
# JSON 字段可解析
assert isinstance(json.loads(flat["prerequisites_json"]), dict)
assert isinstance(json.loads(flat["method_steps_json"]), list)
assert isinstance(flat["figures_json"], str) # figures 序列化为 JSON
# ═══════════════════════════════════════════════════════════════════════
@@ -99,7 +98,7 @@ class TestQualityAssessment:
sample_summary_dict["motivation"]["goal"] = ""
sample_summary_dict["motivation"]["gap"] = ""
sample_summary_dict["method"]["overview"] = ""
sample_summary_dict["results"]["main_findings"] = []
sample_summary_dict["results"]["main_findings"] = ""
schema = SummarySchema.model_validate(sample_summary_dict)
assert assess_quality(schema) == "degraded"