diff --git a/LittlePaimon/web/api/plugin.py b/LittlePaimon/web/api/plugin.py index 00ade8b..7613c7e 100644 --- a/LittlePaimon/web/api/plugin.py +++ b/LittlePaimon/web/api/plugin.py @@ -5,7 +5,7 @@ from fastapi.responses import JSONResponse from fastapi import APIRouter from LittlePaimon.database.models import PluginPermission -from LittlePaimon.manager.plugin_manager import plugin_manager +from LittlePaimon.manager.plugin_manager import plugin_manager, cache_help from LittlePaimon.manager.plugin_manager.model import PluginInfo, Config from .utils import authentication @@ -30,6 +30,7 @@ async def get_plugins(): async def set_plugin_status(data: dict): module_name = data.get('plugin') status = data.get('status') + cache_help.clear() await PluginPermission.filter(name=module_name).update(status=status) return {'status': 0, 'msg': f'成功设置{module_name}插件状态为{status}'} @@ -73,6 +74,7 @@ async def set_plugin_bans(data: dict): status=False) else: await PluginPermission.filter(name=name, session_type='user', session_id=int(ban)).update(status=False) + cache_help.clear() return { 'status': 0, 'msg': '插件权限设置成功' @@ -83,6 +85,7 @@ async def set_plugin_bans(data: dict): async def set_plugin_detail(plugin_info: PluginInfo): plugin_manager.data[plugin_info.module_name] = plugin_info plugin_manager.save() + cache_help.clear() return { 'status': 0, 'msg': '插件信息设置成功' diff --git a/LittlePaimon/web/pages/home_page.py b/LittlePaimon/web/pages/home_page.py index 1115c98..c2b71b1 100644 --- a/LittlePaimon/web/pages/home_page.py +++ b/LittlePaimon/web/pages/home_page.py @@ -1,4 +1,4 @@ -from amis import Page, PageSchema, Html, Property, Service +from amis import Page, PageSchema, Html, Property, Service, Flex, ActionType, LevelEnum, Divider from LittlePaimon import __version__ logo = Html(html=f''' @@ -16,9 +16,23 @@ logo = Html(html=f''' target="_blank">文档
-
''') +operation_button = Flex(justify='center', items=[ + ActionType.Ajax( + label='更新', + api='/LittlePaimon/api/bot_update', + confirmText='该操作将会对Bot进行检查并尝试更新,请在更新完成后重启Bot使更新生效', + level=LevelEnum.info + ), + ActionType.Ajax( + label='重启', + api='/LittlePaimon/api/bot_restart', + confirmText='该操作将会使Bot重启,在完成重启之前,该页面也将无法访问(也可能会弹出报错,可无视),请耐心等待重启', + level=LevelEnum.danger + ) +]) + status = Service( api='/LittlePaimon/api/status', body=Property( @@ -86,5 +100,5 @@ status = Service( # page_detail = Page(title='主页', # initApi='/LittlePaimon/api/status', # body=[text, log_button]) -page_detail = Page(title='', body=[logo, status]) +page_detail = Page(title='', body=[logo, operation_button, Divider(), status]) page = PageSchema(url='/home', label='首页', icon='fa fa-home', isDefaultPage=True, schema=page_detail) diff --git a/LittlePaimon/web/pages/main.py b/LittlePaimon/web/pages/main.py index 01bb7cb..a545c0b 100644 --- a/LittlePaimon/web/pages/main.py +++ b/LittlePaimon/web/pages/main.py @@ -18,25 +18,9 @@ from .config_manage import page as config_page # ] # ) -action_button = DropDownButton( - label='操作', - trigger='hover', - buttons=[ - ActionType.Ajax( - label='更新', - api='/LittlePaimon/api/bot_update', - confirmText='该操作将会对Bot进行检查并尝试更新,请在更新完成后重启Bot使更新生效', - ), - ActionType.Ajax( - label='重启', - api='/LittlePaimon/api/bot_restart', - confirmText='该操作将会使Bot重启,在完成重启之前,该页面也将无法访问,请耐心等待重启', - ) - ] -) github_logo = Tpl(className='w-full', tpl='
') -header = Flex(className='w-full', justify='flex-end', alignItems='flex-end', items=[action_button, github_logo]) +header = Flex(className='w-full', justify='flex-end', alignItems='flex-end', items=[github_logo]) admin_app = App(brandName='LittlePaimon',