From 25957f421d790b3fbcfc4535389d3cfbeab8c009 Mon Sep 17 00:00:00 2001 From: HibiKier <775757368@qq.com> Date: Sat, 19 Apr 2025 21:45:11 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=85=B3=E9=97=AD=E6=97=B6=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/plugin_switch/_data_source.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py b/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py index 697f8a93..0f8409cf 100644 --- a/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py +++ b/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py @@ -4,7 +4,8 @@ from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH from zhenxun.models.group_console import GroupConsole from zhenxun.models.plugin_info import PluginInfo from zhenxun.models.task_info import TaskInfo -from zhenxun.utils.enum import BlockType, PluginType +from zhenxun.services.cache import Cache +from zhenxun.utils.enum import BlockType, CacheType, PluginType from zhenxun.utils.exception import GroupInfoNotFound from zhenxun.utils.image_utils import BuildImage, ImageTemplate, RowStyle @@ -220,6 +221,8 @@ class PluginManage: await PluginInfo.filter(plugin_type=PluginType.NORMAL).update( status=status, block_type=None if status else BlockType.ALL ) + cache = Cache[PluginInfo](CacheType.PLUGINS) + await cache.reload() return f"成功将所有功能全局状态修改为: {'开启' if status else '关闭'}" @classmethod @@ -271,7 +274,9 @@ class PluginManage: 参数: module: 模块名 """ - await PluginInfo.filter(module=module).update(status=False) + if plugin := await PluginInfo.get_plugin(module=module): + plugin.status = False + await plugin.save(update_fields=["status"]) @classmethod async def unblock(cls, module: str): @@ -280,7 +285,9 @@ class PluginManage: 参数: module: 模块名 """ - await PluginInfo.filter(module=module).update(status=True) + if plugin := await PluginInfo.get_plugin(module=module): + plugin.status = True + await plugin.save(update_fields=["status"]) @classmethod async def block_group_plugin(cls, plugin_name: str, group_id: str) -> str: