diff --git a/zhenxun/builtin_plugins/web_ui/__init__.py b/zhenxun/builtin_plugins/web_ui/__init__.py index 87fa0ded..bbea8708 100644 --- a/zhenxun/builtin_plugins/web_ui/__init__.py +++ b/zhenxun/builtin_plugins/web_ui/__init__.py @@ -1,117 +1,117 @@ -# import asyncio -# import secrets +import asyncio +import secrets -# from fastapi import APIRouter, FastAPI -# import nonebot -# from nonebot.log import default_filter, default_format -# from nonebot.plugin import PluginMetadata +from fastapi import APIRouter, FastAPI +import nonebot +from nonebot.log import default_filter, default_format +from nonebot.plugin import PluginMetadata -# from zhenxun.configs.config import Config as gConfig -# from zhenxun.configs.utils import PluginExtraData, RegisterConfig -# from zhenxun.services.log import logger, logger_ -# from zhenxun.utils.enum import PluginType +from zhenxun.configs.config import Config as gConfig +from zhenxun.configs.utils import PluginExtraData, RegisterConfig +from zhenxun.services.log import logger, logger_ +from zhenxun.utils.enum import PluginType -# from .api.logs import router as ws_log_routes -# from .api.logs.log_manager import LOG_STORAGE -# from .api.tabs.dashboard import router as dashboard_router -# from .api.tabs.database import router as database_router -# from .api.tabs.main import router as main_router -# from .api.tabs.main import ws_router as status_routes -# from .api.tabs.manage import router as manage_router -# from .api.tabs.manage.chat import ws_router as chat_routes -# from .api.tabs.plugin_manage import router as plugin_router -# from .api.tabs.plugin_manage.store import router as store_router -# from .api.tabs.system import router as system_router -# from .auth import router as auth_router -# from .public import init_public +from .api.logs import router as ws_log_routes +from .api.logs.log_manager import LOG_STORAGE +from .api.tabs.dashboard import router as dashboard_router +from .api.tabs.database import router as database_router +from .api.tabs.main import router as main_router +from .api.tabs.main import ws_router as status_routes +from .api.tabs.manage import router as manage_router +from .api.tabs.manage.chat import ws_router as chat_routes +from .api.tabs.plugin_manage import router as plugin_router +from .api.tabs.plugin_manage.store import router as store_router +from .api.tabs.system import router as system_router +from .auth import router as auth_router +from .public import init_public -# __plugin_meta__ = PluginMetadata( -# name="WebUi", -# description="WebUi API", -# usage=""" -# """.strip(), -# extra=PluginExtraData( -# author="HibiKier", -# version="0.1", -# plugin_type=PluginType.HIDDEN, -# configs=[ -# RegisterConfig( -# module="web-ui", -# key="username", -# value="admin", -# help="前端管理用户名", -# type=str, -# default_value="admin", -# ), -# RegisterConfig( -# module="web-ui", -# key="password", -# value=None, -# help="前端管理密码", -# type=str, -# default_value=None, -# ), -# RegisterConfig( -# module="web-ui", -# key="secret", -# value=secrets.token_urlsafe(32), -# help="JWT密钥", -# type=str, -# default_value=None, -# ), -# ], -# ).dict(), -# ) +__plugin_meta__ = PluginMetadata( + name="WebUi", + description="WebUi API", + usage=""" + """.strip(), + extra=PluginExtraData( + author="HibiKier", + version="0.1", + plugin_type=PluginType.HIDDEN, + configs=[ + RegisterConfig( + module="web-ui", + key="username", + value="admin", + help="前端管理用户名", + type=str, + default_value="admin", + ), + RegisterConfig( + module="web-ui", + key="password", + value=None, + help="前端管理密码", + type=str, + default_value=None, + ), + RegisterConfig( + module="web-ui", + key="secret", + value=secrets.token_urlsafe(32), + help="JWT密钥", + type=str, + default_value=None, + ), + ], + ).dict(), +) -# driver = nonebot.get_driver() +driver = nonebot.get_driver() -# gConfig.set_name("web-ui", "web-ui") +gConfig.set_name("web-ui", "web-ui") -# BaseApiRouter = APIRouter(prefix="/zhenxun/api") +BaseApiRouter = APIRouter(prefix="/zhenxun/api") -# BaseApiRouter.include_router(auth_router) -# BaseApiRouter.include_router(store_router) -# BaseApiRouter.include_router(dashboard_router) -# BaseApiRouter.include_router(main_router) -# BaseApiRouter.include_router(manage_router) -# BaseApiRouter.include_router(database_router) -# BaseApiRouter.include_router(plugin_router) -# BaseApiRouter.include_router(system_router) +BaseApiRouter.include_router(auth_router) +BaseApiRouter.include_router(store_router) +BaseApiRouter.include_router(dashboard_router) +BaseApiRouter.include_router(main_router) +BaseApiRouter.include_router(manage_router) +BaseApiRouter.include_router(database_router) +BaseApiRouter.include_router(plugin_router) +BaseApiRouter.include_router(system_router) -# WsApiRouter = APIRouter(prefix="/zhenxun/socket") +WsApiRouter = APIRouter(prefix="/zhenxun/socket") -# WsApiRouter.include_router(ws_log_routes) -# WsApiRouter.include_router(status_routes) -# WsApiRouter.include_router(chat_routes) +WsApiRouter.include_router(ws_log_routes) +WsApiRouter.include_router(status_routes) +WsApiRouter.include_router(chat_routes) -# @driver.on_startup -# async def _(): -# try: +@driver.on_startup +async def _(): + try: -# async def log_sink(message: str): -# loop = None -# if not loop: -# try: -# loop = asyncio.get_running_loop() -# except Exception as e: -# logger.warning("Web Ui log_sink", e=e) -# if not loop: -# loop = asyncio.new_event_loop() -# loop.create_task(LOG_STORAGE.add(message.rstrip("\n"))) + async def log_sink(message: str): + loop = None + if not loop: + try: + loop = asyncio.get_running_loop() + except Exception as e: + logger.warning("Web Ui log_sink", e=e) + if not loop: + loop = asyncio.new_event_loop() + loop.create_task(LOG_STORAGE.add(message.rstrip("\n"))) # noqa: RUF006 -# logger_.add( -# log_sink, colorize=True, filter=default_filter, format=default_format -# ) + logger_.add( + log_sink, colorize=True, filter=default_filter, format=default_format + ) -# app: FastAPI = nonebot.get_app() -# app.include_router(BaseApiRouter) -# app.include_router(WsApiRouter) -# await init_public(app) -# logger.info("API启动成功", "Web UI") -# except Exception as e: -# logger.error("API启动失败", "Web UI", e=e) + app: FastAPI = nonebot.get_app() + app.include_router(BaseApiRouter) + app.include_router(WsApiRouter) + await init_public(app) + logger.info("API启动成功", "Web UI") + except Exception as e: + logger.error("API启动失败", "Web UI", e=e)