🐛 修改webui导入路径

This commit is contained in:
HibiKier 2024-12-18 20:42:53 +08:00
parent ccf043d670
commit 9e92ad6baa
16 changed files with 71 additions and 75 deletions

View File

@ -105,6 +105,7 @@ ignore = [
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
"TID252", # relative-imports
]
[tool.ruff.lint.isort]

View File

@ -1,10 +1,10 @@
import aiofiles
import nonebot
import ujson as json
from nonebot import get_loaded_plugins
from nonebot.drivers import Driver
from nonebot.plugin import Plugin, PluginMetadata
from ruamel.yaml import YAML
import ujson as json
from zhenxun.configs.path_config import DATA_PATH
from zhenxun.configs.utils import PluginExtraData, PluginSetting
@ -120,7 +120,7 @@ async def _():
if module_list := await PluginInfo.all().values("id", "module_path"):
module2id = {m["module_path"]: m["id"] for m in module_list}
for plugin in get_loaded_plugins():
load_plugin.append(plugin.module_name)
load_plugin.append(plugin.name)
await _handle_setting(plugin, plugin_list, limit_list, task_list)
create_list = []
update_list = []
@ -198,8 +198,8 @@ async def _():
10,
)
await data_migration()
await PluginInfo.filter(module_path__in=load_plugin).update(load_status=True)
await PluginInfo.filter(module_path__not_in=load_plugin).update(load_status=False)
await PluginInfo.filter(module__in=load_plugin).update(load_status=True)
await PluginInfo.filter(module__not_in=load_plugin).update(load_status=False)
manager.init()
if limit_list:
for limit in limit_list:

View File

@ -1,13 +1,12 @@
import asyncio
from collections.abc import Callable
import inspect
import time
from collections.abc import Callable
from types import MappingProxyType
from typing import Any, Literal
from nonebot.adapters import Bot, Event
from nonebot_plugin_alconna import UniMessage, UniMsg
from nonebot_plugin_session import EventSession
from nonebot_plugin_uninfo import Uninfo
from pydantic import BaseModel, create_model
@ -52,8 +51,8 @@ class Goods(BaseModel):
"""单次使用最大次数"""
model: Any = None
"""model"""
session: EventSession | None = None
"""EventSession"""
session: Uninfo | None = None
"""Uninfo"""
class ShopParam(BaseModel):
@ -75,8 +74,8 @@ class ShopParam(BaseModel):
"""是否发送使用成功信息"""
max_num_limit: int = 1
"""单次使用最大次数"""
session: EventSession | None = None
"""EventSession"""
session: Uninfo | None = None
"""Uninfo"""
message: UniMsg
"""UniMessage"""
@ -143,7 +142,7 @@ class ShopManage:
cls,
bot: Bot,
event: Event,
session: EventSession,
session: Uninfo,
message: UniMsg,
goods: Goods,
num: int,
@ -158,14 +157,19 @@ class ShopManage:
num: 数量
text: 其他信息
"""
group_id = None
if session.group:
group_id = (
session.group.parent.id if session.group.parent else session.group.id
)
_kwargs = goods.params
model = goods.model(
**{
"goods_name": goods.name,
"bot": bot,
"event": event,
"user_id": session.id1,
"group_id": session.id3 or session.id2,
"user_id": session.user.id,
"group_id": group_id,
"num": num,
"text": text,
"session": session,
@ -176,8 +180,8 @@ class ShopManage:
**_kwargs,
"_bot": bot,
"event": event,
"user_id": session.id1,
"group_id": session.id3 or session.id2,
"user_id": session.user.id,
"group_id": group_id,
"num": num,
"text": text,
"goods_name": goods.name,
@ -189,7 +193,7 @@ class ShopManage:
cls,
args: MappingProxyType,
param: ShopParam,
session: EventSession,
session: Uninfo,
**kwargs,
) -> list[Any]:
"""解析参数
@ -253,7 +257,7 @@ class ShopManage:
cls,
goods: Goods,
param: ShopParam,
session: EventSession,
session: Uninfo,
**kwargs,
) -> str | UniMessage | None:
"""运行道具函数
@ -285,7 +289,7 @@ class ShopManage:
cls,
bot: Bot,
event: Event,
session: EventSession,
session: Uninfo,
message: UniMsg,
goods_name: str,
num: int,
@ -307,7 +311,7 @@ class ShopManage:
"""
if goods_name.isdigit():
try:
user = await UserConsole.get_user(user_id=session.id1) # type: ignore
user = await UserConsole.get_user(user_id=session.user.id)
uuid = list(user.props.keys())[int(goods_name)]
goods_info = await GoodsInfo.get_or_none(uuid=uuid)
except IndexError:

View File

@ -2,11 +2,12 @@ from decimal import Decimal
import nonebot
from nonebot.drivers import Driver
from nonebot_plugin_session import EventSession
from nonebot_plugin_uninfo import Uninfo
from zhenxun.models.sign_user import SignUser
from zhenxun.models.user_console import UserConsole
from zhenxun.utils.decorator.shop import shop_register
from zhenxun.utils.platform import PlatformUtils
driver: Driver = nonebot.get_driver()
@ -38,15 +39,15 @@ driver: Driver = nonebot.get_driver()
"好感度双倍加持卡Ⅲ_prob": 0.3,
}, # type: ignore
)
async def _(session: EventSession, user_id: int, prob: float):
if session.id1:
user_console = await UserConsole.get_user(session.id1, session.platform)
user, _ = await SignUser.get_or_create(
user_id=user_id,
defaults={"platform": session.platform, "user_console": user_console},
)
user.add_probability = Decimal(prob)
await user.save(update_fields=["add_probability"])
async def _(session: Uninfo, user_id: int, prob: float):
platform = PlatformUtils.get_platform(session)
user_console = await UserConsole.get_user(session.user.id, platform)
user, _ = await SignUser.get_or_create(
user_id=user_id,
defaults={"platform": platform, "user_console": user_console},
)
user.add_probability = Decimal(prob)
await user.save(update_fields=["add_probability"])
@shop_register(

View File

@ -1,23 +1,19 @@
from datetime import datetime, timedelta
import nonebot
from fastapi import APIRouter
from fastapi.responses import JSONResponse
import nonebot
from nonebot import require
from nonebot.config import Config
from tortoise.expressions import RawSQL
from tortoise.functions import Count
from zhenxun.builtin_plugins.web_ui.base_model import (
BaseResultModel,
QueryModel,
Result,
)
from zhenxun.builtin_plugins.web_ui.utils import authentication
from zhenxun.models.bot_connect_log import BotConnectLog
from zhenxun.models.chat_history import ChatHistory
from zhenxun.models.statistics import Statistics
from ....base_model import BaseResultModel, QueryModel, Result
from ....utils import authentication
from .data_source import BotManage
from .model import AllChatAndCallCount, BotInfo, ChatCallMonthCount, QueryChatCallCount

View File

@ -1,15 +1,15 @@
from datetime import datetime, timedelta
import time
from datetime import datetime, timedelta
import nonebot
from nonebot.adapters import Bot
from nonebot.drivers import Driver
from zhenxun.builtin_plugins.web_ui.api.tabs.main.data_source import bot_live
from zhenxun.models.chat_history import ChatHistory
from zhenxun.models.statistics import Statistics
from zhenxun.utils.platform import PlatformUtils
from ..main.data_source import bot_live
from .model import BotInfo
driver: Driver = nonebot.get_driver()

View File

@ -1,20 +1,16 @@
import nonebot
from fastapi import APIRouter, Request
from fastapi.responses import JSONResponse
import nonebot
from nonebot.drivers import Driver
from tortoise import Tortoise
from tortoise.exceptions import OperationalError
from zhenxun.builtin_plugins.web_ui.base_model import (
BaseResultModel,
QueryModel,
Result,
)
from zhenxun.builtin_plugins.web_ui.utils import authentication
from zhenxun.configs.config import BotConfig
from zhenxun.models.plugin_info import PluginInfo
from zhenxun.models.task_info import TaskInfo
from ....base_model import BaseResultModel, QueryModel, Result
from ....utils import authentication
from .models.model import Column, SqlModel, SqlText
from .models.sql_log import SqlLog

View File

@ -1,20 +1,17 @@
import asyncio
import contextlib
import time
from datetime import datetime, timedelta
from pathlib import Path
import time
import nonebot
from fastapi import APIRouter
from fastapi.responses import JSONResponse
import nonebot
from nonebot.config import Config
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
from tortoise.functions import Count
from websockets.exceptions import ConnectionClosedError, ConnectionClosedOK
from zhenxun.builtin_plugins.web_ui.base_model import Result
from zhenxun.builtin_plugins.web_ui.config import AVA_URL, GROUP_AVA_URL, QueryDateType
from zhenxun.builtin_plugins.web_ui.utils import authentication, get_system_status
from zhenxun.models.bot_connect_log import BotConnectLog
from zhenxun.models.chat_history import ChatHistory
from zhenxun.models.group_console import GroupConsole
@ -23,6 +20,9 @@ from zhenxun.models.statistics import Statistics
from zhenxun.services.log import logger
from zhenxun.utils.platform import PlatformUtils
from ....base_model import Result
from ....config import AVA_URL, GROUP_AVA_URL, QueryDateType
from ....utils import authentication, get_system_status
from .data_source import bot_live
from .model import (
ActiveGroup,

View File

@ -1,12 +1,9 @@
import nonebot
from fastapi import APIRouter
from fastapi.responses import JSONResponse
import nonebot
from nonebot.adapters.onebot.v11 import ActionFailed
from tortoise.functions import Count
from zhenxun.builtin_plugins.web_ui.base_model import Result
from zhenxun.builtin_plugins.web_ui.config import AVA_URL, GROUP_AVA_URL
from zhenxun.builtin_plugins.web_ui.utils import authentication
from zhenxun.configs.config import BotConfig
from zhenxun.models.ban_console import BanConsole
from zhenxun.models.chat_history import ChatHistory
@ -20,6 +17,9 @@ from zhenxun.utils.enum import RequestHandleType, RequestType
from zhenxun.utils.exception import NotFoundError
from zhenxun.utils.platform import PlatformUtils
from ....base_model import Result
from ....config import AVA_URL, GROUP_AVA_URL
from ....utils import authentication
from .model import (
ClearRequest,
DeleteFriend,

View File

@ -1,15 +1,15 @@
from fastapi import APIRouter
import nonebot
from fastapi import APIRouter
from nonebot import on_message
from nonebot.adapters.onebot.v11 import MessageEvent
from nonebot_plugin_alconna import At, Hyper, Image, Text, UniMsg
from nonebot_plugin_session import EventSession
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
from zhenxun.builtin_plugins.web_ui.config import AVA_URL
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.utils.depends import UserName
from ....config import AVA_URL
from .model import Message, MessageItem
driver = nonebot.get_driver()

View File

@ -4,13 +4,13 @@ import cattrs
from fastapi import APIRouter, Query
from fastapi.responses import JSONResponse
from zhenxun.builtin_plugins.web_ui.base_model import Result
from zhenxun.builtin_plugins.web_ui.utils import authentication
from zhenxun.configs.config import Config
from zhenxun.models.plugin_info import PluginInfo as DbPluginInfo
from zhenxun.services.log import logger
from zhenxun.utils.enum import BlockType, PluginType
from ....base_model import Result
from ....utils import authentication
from .model import (
PluginConfig,
PluginCount,

View File

@ -2,10 +2,10 @@ from fastapi import APIRouter
from fastapi.responses import JSONResponse
from nonebot import require
from zhenxun.builtin_plugins.web_ui.base_model import Result
from zhenxun.builtin_plugins.web_ui.utils import authentication
from zhenxun.models.plugin_info import PluginInfo
from ....base_model import Result
from ....utils import authentication
from .model import PluginIr
router = APIRouter(prefix="/store")

View File

@ -1,15 +1,15 @@
import os
from pathlib import Path
import shutil
from pathlib import Path
import aiofiles
from fastapi import APIRouter
from fastapi.responses import JSONResponse
from zhenxun.builtin_plugins.web_ui.base_model import Result, SystemFolderSize
from zhenxun.builtin_plugins.web_ui.utils import authentication, get_system_disk
from zhenxun.utils._build_image import BuildImage
from ....base_model import Result, SystemFolderSize
from ....utils import authentication, get_system_disk
from .model import AddFile, DeleteFile, DirFile, RenameFile, SaveFile
router = APIRouter(prefix="/system")

View File

@ -1,20 +1,21 @@
from datetime import timedelta
import json
from datetime import timedelta
import aiofiles
import nonebot
from fastapi import APIRouter, Depends
from fastapi.security import OAuth2PasswordRequestForm
import nonebot
from zhenxun.builtin_plugins.web_ui.base_model import Result
from zhenxun.builtin_plugins.web_ui.utils import (
from zhenxun.configs.config import Config
from ....base_model import Result
from ....utils import (
ACCESS_TOKEN_EXPIRE_MINUTES,
create_token,
get_user,
token_data,
token_file,
)
from zhenxun.configs.config import Config
app = nonebot.get_app()

View File

@ -2,9 +2,9 @@ from fastapi import APIRouter, FastAPI
from fastapi.responses import FileResponse
from fastapi.staticfiles import StaticFiles
from zhenxun.builtin_plugins.web_ui.config import PUBLIC_PATH
from zhenxun.services.log import logger
from ..config import PUBLIC_PATH
from .data_source import COMMAND_NAME, update_webui_assets
router = APIRouter()

View File

@ -1,18 +1,15 @@
from pathlib import Path
import shutil
import zipfile
from pathlib import Path
from nonebot.utils import run_sync
from zhenxun.builtin_plugins.web_ui.config import (
PUBLIC_PATH,
TMP_PATH,
WEBUI_DIST_GITHUB_URL,
)
from zhenxun.services.log import logger
from zhenxun.utils.github_utils import GithubUtils
from zhenxun.utils.http_utils import AsyncHttpx
from ..config import PUBLIC_PATH, TMP_PATH, WEBUI_DIST_GITHUB_URL
COMMAND_NAME = "WebUI资源管理"