From 3db3d63cc928b7bed07ad8571edc539d72b3e749 Mon Sep 17 00:00:00 2001 From: Rumio <32546670+webjoin111@users.noreply.github.com> Date: Thu, 19 Feb 2026 19:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20style(shop):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E9=81=93=E5=85=B7=E4=BB=93=E5=BA=93=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E4=B8=8E=E6=A0=B7=E5=BC=8F=20(#2100)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: webjoin111 <455457521@qq.com> --- zhenxun/builtin_plugins/shop/_data_source.py | 10 ++++++++-- zhenxun/ui/__init__.py | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/zhenxun/builtin_plugins/shop/_data_source.py b/zhenxun/builtin_plugins/shop/_data_source.py index 70cda841..d4716e9a 100644 --- a/zhenxun/builtin_plugins/shop/_data_source.py +++ b/zhenxun/builtin_plugins/shop/_data_source.py @@ -534,12 +534,16 @@ class ShopManage: icon = None if prop.icon: icon_path = ICON_PATH / prop.icon - icon = icon_path if icon_path.exists() else None + icon = ( + ImageCell(src=icon_path.absolute().as_uri(), width=45, height=45) + if icon_path.exists() + else None + ) table_rows.append( [ icon, - i, + TextCell(content=str(i)), prop.goods_name, user.props[prop_uuid], prop.goods_description, @@ -553,6 +557,8 @@ class ShopManage: table = ui.table(f"{name}的道具仓库", "通过 使用道具[ID/名称] 令道具生效") table.set_headers(column_name).add_rows(table_rows) + table.set_column_widths([70, 80, 150, 80, "auto"]) + table.set_column_alignments(["center", "center", "left", "center", "left"]) return await ui.render(table) @classmethod diff --git a/zhenxun/ui/__init__.py b/zhenxun/ui/__init__.py index 343cdeac..914978bc 100644 --- a/zhenxun/ui/__init__.py +++ b/zhenxun/ui/__init__.py @@ -22,6 +22,7 @@ from .models.components import ( from .models.core import ( CardData, DetailsData, + ImageCell, LayoutData, ListData, MarkdownData, @@ -29,6 +30,7 @@ from .models.core import ( RenderableComponent, TableData, TemplateComponent, + TextCell, TextData, ) from .registry import component, create @@ -420,7 +422,9 @@ async def render_full_result( __all__ = [ "DetailsData", + "ImageCell", "ListData", + "TextCell", "alert", "avatar", "avatar_group",