mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 13:38:43 +00:00
fix(scrapbook): pdf 版本排版调整
This commit is contained in:
@@ -307,10 +307,13 @@ src/infrastructure/reporting/templates/your_theme_name/
|
||||
|
||||
#### 5. 模板调试工具
|
||||
|
||||
PDF 调试模板命令 Docker 下:
|
||||
PDF 调试模板命令:
|
||||
|
||||
```bash
|
||||
# docker
|
||||
docker exec -it astrbot python data/plugins/astrbot_plugin_qq_group_daily_analysis/scripts/mock_pdf_gen.py
|
||||
# uv
|
||||
uv run --with playwright --with diskcache data\plugins\astrbot_plugin_qq_group_daily_analysis\scripts\mock_pdf_gen.py
|
||||
```
|
||||
|
||||
Image 模板调试:
|
||||
|
||||
+28
-4
@@ -92,6 +92,9 @@ class MockConfigManager:
|
||||
def get_enable_user_card(self):
|
||||
return True
|
||||
|
||||
def get_t2i_max_concurrent(self):
|
||||
return 2
|
||||
|
||||
@property
|
||||
def playwright_available(self):
|
||||
return True
|
||||
@@ -100,9 +103,9 @@ class MockConfigManager:
|
||||
return ""
|
||||
|
||||
|
||||
async def mock_get_user_avatar(user_id: str) -> str:
|
||||
async def mock_get_user_avatar(avatar_id: str, avatar_url_getter=None) -> str:
|
||||
# Return a known avatar URL for testing
|
||||
return f"https://q4.qlogo.cn/headimg_dl?dst_uin={user_id}&spec=640"
|
||||
return f"https://q4.qlogo.cn/headimg_dl?dst_uin={avatar_id}&spec=640"
|
||||
|
||||
|
||||
# ==========================================
|
||||
@@ -111,10 +114,11 @@ async def mock_get_user_avatar(user_id: str) -> str:
|
||||
async def main():
|
||||
print("Initializing ReportGenerator...")
|
||||
config_manager = MockConfigManager()
|
||||
generator = ReportGenerator(config_manager)
|
||||
data_dir = Path(current_dir) / "data"
|
||||
generator = ReportGenerator(config_manager, data_dir)
|
||||
|
||||
# Override avatar fetching to avoid real network calls during testing
|
||||
generator._get_user_avatar_data = mock_get_user_avatar
|
||||
generator._get_user_avatar = mock_get_user_avatar
|
||||
|
||||
# 1. Mock Analysis Result using Entities
|
||||
stats = GroupStatistics(
|
||||
@@ -236,6 +240,26 @@ async def main():
|
||||
),
|
||||
}
|
||||
|
||||
class MockDimension:
|
||||
def __init__(self, name, percentage, comment, color):
|
||||
self.name = name
|
||||
self.percentage = percentage
|
||||
self.comment = comment
|
||||
self.color = color
|
||||
|
||||
class MockChatQualityReview:
|
||||
def __init__(self):
|
||||
self.title = "今日群聊质量分析"
|
||||
self.subtitle = "基于AI的深度神经网络评估"
|
||||
self.dimensions = [
|
||||
MockDimension("讨论活跃度", 85, "大家讨论非常热烈", "#FF5722"),
|
||||
MockDimension("知识共享度", 70, "分享了很多有用的技术信息", "#4CAF50"),
|
||||
MockDimension("情感温度", 92, "群内氛围非常融洽", "#E91E63")
|
||||
]
|
||||
self.summary = "整体聊天的质量很高,技术讨论和日常闲聊达到了完美的平衡。"
|
||||
|
||||
analysis_result["chat_quality_review"] = MockChatQualityReview()
|
||||
|
||||
print("Generating PDF Report...")
|
||||
group_id = "test_group_mock"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user