🐛 优化菜单API及模型结构,修复WebUi插件列表Api

This commit is contained in:
HibiKier 2024-12-24 17:34:17 +08:00
parent 12916e79bb
commit fa31efaf2d
5 changed files with 14 additions and 8 deletions

View File

@ -44,7 +44,7 @@ body {
}
.main {
height: 448px;
height: 444px;
width: 335px;
padding: 0 30px;
position: relative;

View File

@ -6,7 +6,7 @@ from zhenxun.services.log import logger
from ...base_model import Result
from ...utils import authentication
from .data_source import menu_manage
from .model import MenuItem
from .model import MenuData
router = APIRouter(prefix="/menu")
@ -14,11 +14,11 @@ router = APIRouter(prefix="/menu")
@router.get(
"/get_menus",
dependencies=[authentication()],
response_model=Result[list[MenuItem]],
response_model=Result[list[MenuData]],
response_class=JSONResponse,
deprecated="获取菜单列表", # type: ignore
)
async def _() -> Result[list[MenuItem]]:
async def _() -> Result[list[MenuData]]:
try:
return Result.ok(menu_manage.get_menus(), "拿到菜单了哦!")
except Exception as e:

View File

@ -3,7 +3,7 @@ import ujson as json
from zhenxun.configs.path_config import DATA_PATH
from zhenxun.services.log import logger
from .model import MenuItem
from .model import MenuData, MenuItem
class MenuManage:
@ -52,7 +52,7 @@ class MenuManage:
self.save()
def get_menus(self):
return self.menu
return MenuData(menus=self.menu)
def save(self):
self.file.parent.mkdir(parents=True, exist_ok=True)

View File

@ -12,3 +12,10 @@ class MenuItem(BaseModel):
"""图标"""
default: bool = False
"""默认选中"""
class MenuData(BaseModel):
bot_type: str = "zhenxun"
"""bot类型"""
menus: list[MenuItem]
"""菜单列表"""

View File

@ -5,11 +5,10 @@ from fastapi import Query
from zhenxun.configs.config import Config
from zhenxun.configs.utils import ConfigGroup
from zhenxun.models.plugin_info import PluginInfo
from zhenxun.models.plugin_info import PluginInfo as DbPluginInfo
from zhenxun.utils.enum import BlockType, PluginType
from .model import PluginConfig, PluginDetail, UpdatePlugin
from .model import PluginConfig, PluginDetail, PluginInfo, UpdatePlugin
class ApiDataSource: