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):