✨ feat(core): 更新群组信息、Markdown 样式与 Pydantic 兼容层

- 【group】添加更新所有群组信息指令,并同步群组控制台数据
- 【markdown】支持合并 Markdown 的 CSS 来源
- 【pydantic-compat】提供 model_validate 兼容函数
This commit is contained in:
webjoin111
2025-10-20 14:41:59 +08:00
parent 4b8013d2d6
commit ae07e5f329
4 changed files with 108 additions and 3 deletions
+8 -3
View File
@@ -192,11 +192,15 @@ class MarkdownData(ContainerComponent):
yield from find_components_recursive(self.elements)
async def get_extra_css(self, context: Any) -> str:
css_parts = []
if self.component_css:
css_parts.append(self.component_css)
if self.css_path:
css_file = Path(self.css_path)
if css_file.is_file():
async with aiofiles.open(css_file, encoding="utf-8") as f:
return await f.read()
css_parts.append(await f.read())
else:
logger.warning(f"Markdown自定义CSS文件不存在: {self.css_path}")
else:
@@ -206,5 +210,6 @@ class MarkdownData(ContainerComponent):
)
if css_path and css_path.exists():
async with aiofiles.open(css_path, encoding="utf-8") as f:
return await f.read()
return ""
css_parts.append(await f.read())
return "\n".join(css_parts)