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='