Skip to content

Commit 616d160

Browse files
committed
fix(ATRI): 将镜像地址配置注入到子模板渲染上下文中,解决子模板中变量未定义导致的问题
1 parent 09b4d18 commit 616d160

5 files changed

Lines changed: 40 additions & 25 deletions

File tree

scripts/debug_render.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,17 +125,17 @@ def get_profile_mapping_config(self) -> str:
125125
def get_html_base_url(self) -> str:
126126
return ""
127127

128-
def get_t2i_font_source(self) -> str:
129-
return "Overseas"
128+
def get_t2i_atri_font_mirror(self) -> str:
129+
return "https://tc.ciallo.ccwu.cc"
130130

131131
def get_t2i_google_fonts_mirror(self) -> str:
132132
return "https://fonts.googleapis.com"
133133

134134
def get_t2i_gstatic_mirror(self) -> str:
135135
return "https://fonts.gstatic.com"
136136

137-
def get_t2i_atri_font_mirror(self) -> str:
138-
return "https://tc.ciallo.ccwu.cc"
137+
def get_t2i_font_source(self) -> str:
138+
return "Overseas"
139139

140140
def get_t2i_rendering_strategies(self) -> list:
141141
return []
@@ -325,6 +325,13 @@ def set(self, key, value, expire=None):
325325
"image_template.html", **render_payload
326326
)
327327

328+
# 复用最终 HTML 中所有内联头像资源,并注入复用样式
329+
final_html = generator._reuse_avatars_in_final_html(
330+
final_html,
331+
render_payload.get("avatar_reuse_registry", {}),
332+
render_payload.get("avatar_reuse_aliases", {}),
333+
)
334+
328335
# 6. Save to file
329336
output_path = Path(output_file)
330337
output_path.write_text(final_html, encoding="utf-8")

src/infrastructure/reporting/generators.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -730,8 +730,16 @@ async def _prepare_render_data(
730730
}
731731
)
732732

733+
# 通用模板上下文,包含可能被子模板引用的全局配置
734+
common_context = {
735+
"t2i_font_source": self.config_manager.get_t2i_font_source(),
736+
"t2i_google_fonts_mirror": self.config_manager.get_t2i_google_fonts_mirror(),
737+
"t2i_gstatic_mirror": self.config_manager.get_t2i_gstatic_mirror(),
738+
"t2i_atri_font_mirror": self.config_manager.get_t2i_atri_font_mirror(),
739+
}
740+
733741
topics_html = self.html_templates.render_template(
734-
"topic_item.html", topics=topics_list
742+
"topic_item.html", topics=topics_list, **common_context
735743
)
736744
logger.info(f"话题HTML生成完成,长度: {len(topics_html)}")
737745

@@ -766,7 +774,7 @@ async def _prepare_render_data(
766774
titles_list.append(title_data)
767775

768776
titles_html = self.html_templates.render_template(
769-
"user_title_item.html", titles=titles_list
777+
"user_title_item.html", titles=titles_list, **common_context
770778
)
771779
logger.info(f"用户称号HTML生成完成,长度: {len(titles_html)}")
772780

@@ -813,7 +821,7 @@ async def _prepare_render_data(
813821
)
814822

815823
quotes_html = self.html_templates.render_template(
816-
"quote_item.html", quotes=quotes_list
824+
"quote_item.html", quotes=quotes_list, **common_context
817825
)
818826
logger.info(f"金句HTML生成完成,长度: {len(quotes_html)}")
819827

@@ -822,7 +830,7 @@ async def _prepare_render_data(
822830
activity_viz.hourly_activity
823831
)
824832
hourly_chart_html = self.html_templates.render_template(
825-
chart_template, chart_data=chart_data
833+
chart_template, chart_data=chart_data, **common_context
826834
)
827835
logger.info(f"活跃度图表HTML生成完成,长度: {len(hourly_chart_html)}")
828836

@@ -853,7 +861,7 @@ async def _prepare_render_data(
853861
review_data = chat_quality_review
854862

855863
chat_quality_html = self.html_templates.render_template(
856-
"chat_quality_item.html", **review_data
864+
"chat_quality_item.html", **review_data, **common_context
857865
)
858866
logger.info(f"聊天质量锐评HTML生成完成,长度: {len(chat_quality_html)}")
859867

src/infrastructure/reporting/templates/ATRI/quote_item.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
{% set quote_emojis = [
2-
'{{ t2i_atri_font_mirror }}/file/1775132814629_1774881270686_爱心.gif',
3-
'{{ t2i_atri_font_mirror }}/file/1775132815504_1774881268554_可爱.gif',
4-
'{{ t2i_atri_font_mirror }}/file/1775132809943_1774881264350_睡觉.gif',
5-
'{{ t2i_atri_font_mirror }}/file/1775175892953_1774881267664_舔屏幕.gif'
1+
{% set quote_emojis = [
2+
t2i_atri_font_mirror ~ '/file/1775132814629_1774881270686_爱心.gif',
3+
t2i_atri_font_mirror ~ '/file/1775132815504_1774881268554_可爱.gif',
4+
t2i_atri_font_mirror ~ '/file/1775132809943_1774881264350_睡觉.gif',
5+
t2i_atri_font_mirror ~ '/file/1775175892953_1774881267664_舔屏幕.gif'
66
] %}
77
{% for quote in quotes %}
88
<div class="quote-wrapper">

src/infrastructure/reporting/templates/ATRI/topic_item.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
{% set topic_emojis = [
2-
'{{ t2i_atri_font_mirror }}/file/1775132804506_1774881263342_观察.gif',
3-
'{{ t2i_atri_font_mirror }}/file/1775132805081_1774881262835_疑惑.gif',
4-
'{{ t2i_atri_font_mirror }}/file/1775132815504_1774881268554_可爱.gif',
5-
'{{ t2i_atri_font_mirror }}/file/1775132817115_1774881269400_可爱-1.gif',
6-
'{{ t2i_atri_font_mirror }}/file/1775132805485_1774881263748_可爱-3.gif'
1+
{% set topic_emojis = [
2+
t2i_atri_font_mirror ~ '/file/1775132804506_1774881263342_观察.gif',
3+
t2i_atri_font_mirror ~ '/file/1775132805081_1774881262835_疑惑.gif',
4+
t2i_atri_font_mirror ~ '/file/1775132815504_1774881268554_可爱.gif',
5+
t2i_atri_font_mirror ~ '/file/1775132817115_1774881269400_可爱-1.gif',
6+
t2i_atri_font_mirror ~ '/file/1775132805485_1774881263748_可爱-3.gif'
77
] %}
88
{% set topic_rank_colors = [
99
{'bg': 'linear-gradient(135deg, #a9d8ff 0%, #8fc5ff 48%, #8aaeff 100%)', 'text': '#ffffff', 'shadow': 'rgba(126, 177,

src/infrastructure/reporting/templates/ATRI/user_title_item.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
{% set title_emojis = [
2-
'{{ t2i_atri_font_mirror }}/file/1775132813334_1774881267181_得意.gif',
3-
'{{ t2i_atri_font_mirror }}/file/1775132808652_1774881267385_得意-1.gif',
4-
'{{ t2i_atri_font_mirror }}/file/1775132804506_1774881263342_观察.gif',
5-
'{{ t2i_atri_font_mirror }}/file/1775132811492_1774881264336_不要.gif'
1+
{% set title_emojis = [
2+
t2i_atri_font_mirror ~ '/file/1775132813334_1774881267181_得意.gif',
3+
t2i_atri_font_mirror ~ '/file/1775132808652_1774881267385_得意-1.gif',
4+
t2i_atri_font_mirror ~ '/file/1775132804506_1774881263342_观察.gif',
5+
t2i_atri_font_mirror ~ '/file/1775132811492_1774881264336_不要.gif'
66
] %}
77
{% set title_badge_colors = [
88
{'bg': 'linear-gradient(135deg, #ffcadf 0%, #ffc1cc 45%, #ffd9b8 100%)', 'text': '#b85c7b', 'shadow': 'rgba(255, 177, 203, 0.28)', 'border': 'rgba(255, 184, 210, 0.72)'},

0 commit comments

Comments
 (0)