From 01a3143d040da8b5b57dcba119217f68228b2c48 Mon Sep 17 00:00:00 2001 From: CMHopeSunshine <277073121@qq.com> Date: Tue, 25 Oct 2022 21:04:32 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20`Web=20UI`=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E4=BF=A1=E6=81=AF=E5=90=8E=E6=B8=85=E9=99=A4?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=BA=86=E7=9A=84=E5=B8=AE=E5=8A=A9=E5=9B=BE?= =?UTF-8?q?=EF=BC=8C`=E6=9B=B4=E6=96=B0|=E9=87=8D=E5=90=AF`=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=94=BE=E5=88=B0=E9=A6=96=E9=A1=B5=E4=B8=AD=E4=BB=A5?= =?UTF-8?q?=E9=98=B2=E7=A7=BB=E5=8A=A8=E7=AB=AF=E7=9C=8B=E4=B8=8D=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LittlePaimon/web/api/plugin.py | 5 ++++- LittlePaimon/web/pages/home_page.py | 20 +++++++++++++++++--- LittlePaimon/web/pages/main.py | 18 +----------------- 3 files changed, 22 insertions(+), 21 deletions(-) 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',