2023-05-22 20:56:42 +08:00
|
|
|
import asyncio
|
|
|
|
|
|
2023-04-02 22:57:36 +08:00
|
|
|
import nonebot
|
|
|
|
|
from fastapi import APIRouter, FastAPI
|
2023-02-26 22:17:26 +08:00
|
|
|
from nonebot.adapters.onebot.v11 import Bot, MessageEvent
|
2023-05-22 20:56:42 +08:00
|
|
|
from nonebot.log import default_filter, default_format
|
2022-06-19 16:44:37 +08:00
|
|
|
from nonebot.matcher import Matcher
|
2023-04-02 22:57:36 +08:00
|
|
|
from nonebot.message import run_preprocessor
|
2022-06-19 16:44:37 +08:00
|
|
|
from nonebot.typing import T_State
|
2022-04-04 20:33:37 +08:00
|
|
|
|
2023-02-26 22:17:26 +08:00
|
|
|
from configs.config import Config as gConfig
|
2023-05-22 20:56:42 +08:00
|
|
|
from services.log import logger, logger_
|
2023-02-26 22:17:26 +08:00
|
|
|
from utils.manager import plugins2settings_manager
|
|
|
|
|
|
2023-05-22 20:56:42 +08:00
|
|
|
from .api.base_info import router as base_info_routes
|
2023-04-02 22:57:36 +08:00
|
|
|
from .api.group import router as group_routes
|
2023-05-22 20:56:42 +08:00
|
|
|
from .api.logs import router as ws_routes
|
|
|
|
|
from .api.logs.log_manager import LOG_STORAGE
|
2023-04-02 22:57:36 +08:00
|
|
|
from .api.plugins import router as plugin_routes
|
|
|
|
|
from .api.request import router as request_routes
|
|
|
|
|
from .api.system import router as system_routes
|
|
|
|
|
|
|
|
|
|
# from .api.g import *
|
|
|
|
|
from .auth import router as auth_router
|
|
|
|
|
|
|
|
|
|
driver = nonebot.get_driver()
|
2022-04-04 20:33:37 +08:00
|
|
|
|
2022-06-19 16:44:37 +08:00
|
|
|
gConfig.add_plugin_config("web-ui", "username", "admin", name="web-ui", help_="前端管理用户名")
|
2022-04-04 20:33:37 +08:00
|
|
|
|
2022-06-19 16:44:37 +08:00
|
|
|
gConfig.add_plugin_config("web-ui", "password", None, name="web-ui", help_="前端管理密码")
|
|
|
|
|
|
|
|
|
|
|
2023-04-02 22:57:36 +08:00
|
|
|
BaseApiRouter = APIRouter(prefix="/zhenxun/api")
|
|
|
|
|
|
|
|
|
|
BaseApiRouter.include_router(auth_router)
|
|
|
|
|
BaseApiRouter.include_router(plugin_routes)
|
|
|
|
|
BaseApiRouter.include_router(group_routes)
|
|
|
|
|
BaseApiRouter.include_router(request_routes)
|
|
|
|
|
BaseApiRouter.include_router(system_routes)
|
2023-05-22 20:56:42 +08:00
|
|
|
BaseApiRouter.include_router(base_info_routes)
|
2023-04-02 22:57:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@driver.on_startup
|
|
|
|
|
def _():
|
2023-05-22 20:56:42 +08:00
|
|
|
|
|
|
|
|
loop = asyncio.get_running_loop()
|
|
|
|
|
|
|
|
|
|
def log_sink(message: str):
|
|
|
|
|
loop.create_task(LOG_STORAGE.add(message.rstrip("\n")))
|
|
|
|
|
|
|
|
|
|
logger_.add(log_sink, colorize=True, filter=default_filter, format=default_format)
|
|
|
|
|
|
2023-04-02 22:57:36 +08:00
|
|
|
app: FastAPI = nonebot.get_app()
|
|
|
|
|
app.include_router(BaseApiRouter)
|
2023-05-22 20:56:42 +08:00
|
|
|
app.include_router(ws_routes)
|
2023-04-02 22:57:36 +08:00
|
|
|
logger.info("<g>API启动成功</g>", "Web UI")
|