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
+13 -22
View File
@@ -22,16 +22,7 @@ endblock %} {% block content %}
type="radio"
name="mode"
value="keyword"
{%
if
mode=""
="keyword"
or
not
mode
%}checked{%
endif
%}
{% if mode == "keyword" or not mode %}checked{% endif %}
/>
关键词
</label>
@@ -40,13 +31,7 @@ endblock %} {% block content %}
type="radio"
name="mode"
value="semantic"
{%
if
mode=""
="semantic"
%}checked{%
endif
%}
{% if mode == "semantic" %}checked{% endif %}
/>
语义搜索
</label>
@@ -142,11 +127,17 @@ endblock %} {% block content %}
<span
class="summary-badge summary-{{ paper.summary_status.status if paper.summary_status else 'none' }}"
>
{% if not paper.summary_status or paper.summary_status.status ==
'pending' %} 未总结 {% elif paper.summary_status.status ==
'processing' %} 🔄 总结中 {% elif paper.summary_status.status in
('failed', 'permanent_failure') %} ❌ 总结失败 {% elif
paper.summary_status.status == 'done' %} ✅ 已总结 {% endif %}
{# djlint:off #}
{% if not paper.summary_status or paper.summary_status.status == 'pending' %}
未总结
{% elif paper.summary_status.status == 'processing' %}
🔄 总结中
{% elif paper.summary_status.status in ('failed', 'permanent_failure') %}
❌ 总结失败
{% elif paper.summary_status.status == 'done' %}
✅ 已总结
{% endif %}
{# djlint:on #}
</span>
<a href="/paper/{{ paper.arxiv_id }}" class="btn-detail">详情 →</a>
</div>