From 135c6d83bf9a269d16d92a935f482a8e626d1d0a Mon Sep 17 00:00:00 2001
From: HibiKier <775757368@qq.com>
Date: Tue, 15 Jul 2025 20:16:23 +0800
Subject: [PATCH] =?UTF-8?q?:art:=20=E8=B0=83=E6=95=B4=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E5=B8=AE=E5=8A=A9=E5=AE=BD=E5=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../builtin_plugins/admin/admin_help/__init__.py | 5 +++++
.../builtin_plugins/admin/admin_help/html_help.py | 5 +++--
zhenxun/builtin_plugins/shop/_data_source.py | 13 +++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/zhenxun/builtin_plugins/admin/admin_help/__init__.py b/zhenxun/builtin_plugins/admin/admin_help/__init__.py
index 094facbe..33f94fa4 100644
--- a/zhenxun/builtin_plugins/admin/admin_help/__init__.py
+++ b/zhenxun/builtin_plugins/admin/admin_help/__init__.py
@@ -25,6 +25,11 @@ __plugin_meta__ = PluginMetadata(
version="0.1",
plugin_type=PluginType.ADMIN,
admin_level=1,
+ introduction="""这是 群主/群管理 的帮助列表,里面记录了群组内开关功能的
+ 方法帮助以及群管特权方法,建议首次时在群组中发送 '管理员帮助' 查看""",
+ precautions=[
+ "只有群主/群管理 才能使用哦,群主拥有6级权限,管理员拥有5级权限!"
+ ],
configs=[
RegisterConfig(
key="type",
diff --git a/zhenxun/builtin_plugins/admin/admin_help/html_help.py b/zhenxun/builtin_plugins/admin/admin_help/html_help.py
index 76141d9b..6fecf1dd 100644
--- a/zhenxun/builtin_plugins/admin/admin_help/html_help.py
+++ b/zhenxun/builtin_plugins/admin/admin_help/html_help.py
@@ -16,7 +16,8 @@ async def get_task() -> dict[str, str] | None:
"name": "被动技能",
"description": "控制群组中的被动技能状态",
"usage": "通过 开启/关闭群被动 来控制群被动
"
- + " 示例:开启/关闭群被动早晚安
----------
"
+ + " 示例:开启/关闭群被动早晚安
示例:开启/关闭全部群被动"
+ + "
----------
"
+ "
".join([task.name for task in task_list]),
}
return None
@@ -47,7 +48,7 @@ async def build_html_help():
}
},
pages={
- "viewport": {"width": 1024, "height": 1024},
+ "viewport": {"width": 824, "height": 10},
"base_url": f"file://{TEMPLATE_PATH}",
},
wait=2,
diff --git a/zhenxun/builtin_plugins/shop/_data_source.py b/zhenxun/builtin_plugins/shop/_data_source.py
index 682bd85e..29a7b458 100644
--- a/zhenxun/builtin_plugins/shop/_data_source.py
+++ b/zhenxun/builtin_plugins/shop/_data_source.py
@@ -344,6 +344,16 @@ class ShopManage:
if goods_name.isdigit():
try:
user = await UserConsole.get_user(user_id=session.user.id)
+ goods_list = await GoodsInfo.filter(uuid__in=user.props.keys()).all()
+ goods_by_uuid = {item.uuid: item for item in goods_list}
+ props_str = str(user.props)
+ user.props = {
+ uuid: count
+ for uuid, count in user.props.items()
+ if count > 0 and goods_by_uuid.get(uuid)
+ }
+ if props_str != str(user.props):
+ await user.save(update_fields=["props"])
uuid = list(user.props.keys())[int(goods_name)]
goods_info = await GoodsInfo.get_or_none(uuid=uuid)
except IndexError:
@@ -501,11 +511,14 @@ class ShopManage:
goods_list = await GoodsInfo.filter(uuid__in=user.props.keys()).all()
goods_by_uuid = {item.uuid: item for item in goods_list}
+ props_str = str(user.props)
user.props = {
uuid: count
for uuid, count in user.props.items()
if count > 0 and goods_by_uuid.get(uuid)
}
+ if props_str != str(user.props):
+ await user.save(update_fields=["props"])
table_rows = []
for i, prop_uuid in enumerate(user.props):