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. 模板调试工具
|
#### 5. 模板调试工具
|
||||||
|
|
||||||
PDF 调试模板命令 Docker 下:
|
PDF 调试模板命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# docker
|
||||||
docker exec -it astrbot python data/plugins/astrbot_plugin_qq_group_daily_analysis/scripts/mock_pdf_gen.py
|
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 模板调试:
|
Image 模板调试:
|
||||||
|
|||||||
+28
-4
@@ -92,6 +92,9 @@ class MockConfigManager:
|
|||||||
def get_enable_user_card(self):
|
def get_enable_user_card(self):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def get_t2i_max_concurrent(self):
|
||||||
|
return 2
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def playwright_available(self):
|
def playwright_available(self):
|
||||||
return True
|
return True
|
||||||
@@ -100,9 +103,9 @@ class MockConfigManager:
|
|||||||
return ""
|
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 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():
|
async def main():
|
||||||
print("Initializing ReportGenerator...")
|
print("Initializing ReportGenerator...")
|
||||||
config_manager = MockConfigManager()
|
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
|
# 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
|
# 1. Mock Analysis Result using Entities
|
||||||
stats = GroupStatistics(
|
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...")
|
print("Generating PDF Report...")
|
||||||
group_id = "test_group_mock"
|
group_id = "test_group_mock"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user