mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 13:38:43 +00:00
fix(ReportGenerator): 降低头像分辨率至 40px 以解决渲染器内存溢出(OOM)问题
This commit is contained in:
@@ -69,8 +69,17 @@ class ReportDispatcher:
|
||||
image_url = None
|
||||
html_content = None
|
||||
try:
|
||||
# 定义头像获取回调,请求小尺寸头像以优化性能
|
||||
async def avatar_getter(user_id: str):
|
||||
if not platform_id:
|
||||
return None
|
||||
adapter = self.message_sender.bot_manager.get_adapter(platform_id)
|
||||
if adapter and hasattr(adapter, "get_user_avatar_url"):
|
||||
return await adapter.get_user_avatar_url(user_id, size=40)
|
||||
return None
|
||||
|
||||
image_url, html_content = await self.report_generator.generate_image_report(
|
||||
analysis_result, group_id, self._html_render_func
|
||||
analysis_result, group_id, self._html_render_func, avatar_getter=avatar_getter
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"[{trace_id}] Failed to generate image report: {e}")
|
||||
|
||||
@@ -479,9 +479,9 @@ class ReportGenerator(IReportGenerator):
|
||||
if (
|
||||
user_id.isdigit() and 5 <= len(user_id) <= 12
|
||||
): # 简单判断是否可能是数字 ID
|
||||
# 对于数字 ID,使用通用的头像服务作为后备
|
||||
# 对于数字 ID,使用通用的头像服务作为后备 (使用小尺寸 spec=40)
|
||||
avatar_url = (
|
||||
f"https://q4.qlogo.cn/headimg_dl?dst_uin={user_id}&spec=100"
|
||||
f"https://q4.qlogo.cn/headimg_dl?dst_uin={user_id}&spec=40"
|
||||
)
|
||||
else:
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user