mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
🐛 修改webui导入路径 (#1783)
* 🐛 修改webui导入路径 * 🚨 auto fix by pre-commit hooks --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
a15303a891
commit
a8e4d29031
@ -105,6 +105,7 @@ ignore = [
|
|||||||
"RUF001", # ambiguous-unicode-character-string
|
"RUF001", # ambiguous-unicode-character-string
|
||||||
"RUF002", # ambiguous-unicode-character-docstring
|
"RUF002", # ambiguous-unicode-character-docstring
|
||||||
"RUF003", # ambiguous-unicode-character-comment
|
"RUF003", # ambiguous-unicode-character-comment
|
||||||
|
"TID252", # relative-imports
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.ruff.lint.isort]
|
[tool.ruff.lint.isort]
|
||||||
|
|||||||
@ -120,7 +120,7 @@ async def _():
|
|||||||
if module_list := await PluginInfo.all().values("id", "module_path"):
|
if module_list := await PluginInfo.all().values("id", "module_path"):
|
||||||
module2id = {m["module_path"]: m["id"] for m in module_list}
|
module2id = {m["module_path"]: m["id"] for m in module_list}
|
||||||
for plugin in get_loaded_plugins():
|
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)
|
await _handle_setting(plugin, plugin_list, limit_list, task_list)
|
||||||
create_list = []
|
create_list = []
|
||||||
update_list = []
|
update_list = []
|
||||||
@ -198,8 +198,8 @@ async def _():
|
|||||||
10,
|
10,
|
||||||
)
|
)
|
||||||
await data_migration()
|
await data_migration()
|
||||||
await PluginInfo.filter(module_path__in=load_plugin).update(load_status=True)
|
await PluginInfo.filter(module__in=load_plugin).update(load_status=True)
|
||||||
await PluginInfo.filter(module_path__not_in=load_plugin).update(load_status=False)
|
await PluginInfo.filter(module__not_in=load_plugin).update(load_status=False)
|
||||||
manager.init()
|
manager.init()
|
||||||
if limit_list:
|
if limit_list:
|
||||||
for limit in limit_list:
|
for limit in limit_list:
|
||||||
|
|||||||
@ -7,7 +7,6 @@ from typing import Any, Literal
|
|||||||
|
|
||||||
from nonebot.adapters import Bot, Event
|
from nonebot.adapters import Bot, Event
|
||||||
from nonebot_plugin_alconna import UniMessage, UniMsg
|
from nonebot_plugin_alconna import UniMessage, UniMsg
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
from pydantic import BaseModel, create_model
|
from pydantic import BaseModel, create_model
|
||||||
|
|
||||||
@ -52,8 +51,8 @@ class Goods(BaseModel):
|
|||||||
"""单次使用最大次数"""
|
"""单次使用最大次数"""
|
||||||
model: Any = None
|
model: Any = None
|
||||||
"""model"""
|
"""model"""
|
||||||
session: EventSession | None = None
|
session: Uninfo | None = None
|
||||||
"""EventSession"""
|
"""Uninfo"""
|
||||||
|
|
||||||
|
|
||||||
class ShopParam(BaseModel):
|
class ShopParam(BaseModel):
|
||||||
@ -75,8 +74,8 @@ class ShopParam(BaseModel):
|
|||||||
"""是否发送使用成功信息"""
|
"""是否发送使用成功信息"""
|
||||||
max_num_limit: int = 1
|
max_num_limit: int = 1
|
||||||
"""单次使用最大次数"""
|
"""单次使用最大次数"""
|
||||||
session: EventSession | None = None
|
session: Uninfo | None = None
|
||||||
"""EventSession"""
|
"""Uninfo"""
|
||||||
message: UniMsg
|
message: UniMsg
|
||||||
"""UniMessage"""
|
"""UniMessage"""
|
||||||
|
|
||||||
@ -143,7 +142,7 @@ class ShopManage:
|
|||||||
cls,
|
cls,
|
||||||
bot: Bot,
|
bot: Bot,
|
||||||
event: Event,
|
event: Event,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
message: UniMsg,
|
message: UniMsg,
|
||||||
goods: Goods,
|
goods: Goods,
|
||||||
num: int,
|
num: int,
|
||||||
@ -158,14 +157,19 @@ class ShopManage:
|
|||||||
num: 数量
|
num: 数量
|
||||||
text: 其他信息
|
text: 其他信息
|
||||||
"""
|
"""
|
||||||
|
group_id = None
|
||||||
|
if session.group:
|
||||||
|
group_id = (
|
||||||
|
session.group.parent.id if session.group.parent else session.group.id
|
||||||
|
)
|
||||||
_kwargs = goods.params
|
_kwargs = goods.params
|
||||||
model = goods.model(
|
model = goods.model(
|
||||||
**{
|
**{
|
||||||
"goods_name": goods.name,
|
"goods_name": goods.name,
|
||||||
"bot": bot,
|
"bot": bot,
|
||||||
"event": event,
|
"event": event,
|
||||||
"user_id": session.id1,
|
"user_id": session.user.id,
|
||||||
"group_id": session.id3 or session.id2,
|
"group_id": group_id,
|
||||||
"num": num,
|
"num": num,
|
||||||
"text": text,
|
"text": text,
|
||||||
"session": session,
|
"session": session,
|
||||||
@ -176,8 +180,8 @@ class ShopManage:
|
|||||||
**_kwargs,
|
**_kwargs,
|
||||||
"_bot": bot,
|
"_bot": bot,
|
||||||
"event": event,
|
"event": event,
|
||||||
"user_id": session.id1,
|
"user_id": session.user.id,
|
||||||
"group_id": session.id3 or session.id2,
|
"group_id": group_id,
|
||||||
"num": num,
|
"num": num,
|
||||||
"text": text,
|
"text": text,
|
||||||
"goods_name": goods.name,
|
"goods_name": goods.name,
|
||||||
@ -189,7 +193,7 @@ class ShopManage:
|
|||||||
cls,
|
cls,
|
||||||
args: MappingProxyType,
|
args: MappingProxyType,
|
||||||
param: ShopParam,
|
param: ShopParam,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> list[Any]:
|
) -> list[Any]:
|
||||||
"""解析参数
|
"""解析参数
|
||||||
@ -253,7 +257,7 @@ class ShopManage:
|
|||||||
cls,
|
cls,
|
||||||
goods: Goods,
|
goods: Goods,
|
||||||
param: ShopParam,
|
param: ShopParam,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> str | UniMessage | None:
|
) -> str | UniMessage | None:
|
||||||
"""运行道具函数
|
"""运行道具函数
|
||||||
@ -285,7 +289,7 @@ class ShopManage:
|
|||||||
cls,
|
cls,
|
||||||
bot: Bot,
|
bot: Bot,
|
||||||
event: Event,
|
event: Event,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
message: UniMsg,
|
message: UniMsg,
|
||||||
goods_name: str,
|
goods_name: str,
|
||||||
num: int,
|
num: int,
|
||||||
@ -307,7 +311,7 @@ class ShopManage:
|
|||||||
"""
|
"""
|
||||||
if goods_name.isdigit():
|
if goods_name.isdigit():
|
||||||
try:
|
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)]
|
uuid = list(user.props.keys())[int(goods_name)]
|
||||||
goods_info = await GoodsInfo.get_or_none(uuid=uuid)
|
goods_info = await GoodsInfo.get_or_none(uuid=uuid)
|
||||||
except IndexError:
|
except IndexError:
|
||||||
|
|||||||
@ -2,11 +2,12 @@ from decimal import Decimal
|
|||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot.drivers import Driver
|
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.sign_user import SignUser
|
||||||
from zhenxun.models.user_console import UserConsole
|
from zhenxun.models.user_console import UserConsole
|
||||||
from zhenxun.utils.decorator.shop import shop_register
|
from zhenxun.utils.decorator.shop import shop_register
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
driver: Driver = nonebot.get_driver()
|
driver: Driver = nonebot.get_driver()
|
||||||
|
|
||||||
@ -38,15 +39,15 @@ driver: Driver = nonebot.get_driver()
|
|||||||
"好感度双倍加持卡Ⅲ_prob": 0.3,
|
"好感度双倍加持卡Ⅲ_prob": 0.3,
|
||||||
}, # type: ignore
|
}, # type: ignore
|
||||||
)
|
)
|
||||||
async def _(session: EventSession, user_id: int, prob: float):
|
async def _(session: Uninfo, user_id: int, prob: float):
|
||||||
if session.id1:
|
platform = PlatformUtils.get_platform(session)
|
||||||
user_console = await UserConsole.get_user(session.id1, session.platform)
|
user_console = await UserConsole.get_user(session.user.id, platform)
|
||||||
user, _ = await SignUser.get_or_create(
|
user, _ = await SignUser.get_or_create(
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
defaults={"platform": session.platform, "user_console": user_console},
|
defaults={"platform": platform, "user_console": user_console},
|
||||||
)
|
)
|
||||||
user.add_probability = Decimal(prob)
|
user.add_probability = Decimal(prob)
|
||||||
await user.save(update_fields=["add_probability"])
|
await user.save(update_fields=["add_probability"])
|
||||||
|
|
||||||
|
|
||||||
@shop_register(
|
@shop_register(
|
||||||
|
|||||||
@ -8,16 +8,12 @@ from nonebot.config import Config
|
|||||||
from tortoise.expressions import RawSQL
|
from tortoise.expressions import RawSQL
|
||||||
from tortoise.functions import Count
|
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.bot_connect_log import BotConnectLog
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
from zhenxun.models.statistics import Statistics
|
from zhenxun.models.statistics import Statistics
|
||||||
|
|
||||||
|
from ....base_model import BaseResultModel, QueryModel, Result
|
||||||
|
from ....utils import authentication
|
||||||
from .data_source import BotManage
|
from .data_source import BotManage
|
||||||
from .model import AllChatAndCallCount, BotInfo, ChatCallMonthCount, QueryChatCallCount
|
from .model import AllChatAndCallCount, BotInfo, ChatCallMonthCount, QueryChatCallCount
|
||||||
|
|
||||||
|
|||||||
@ -5,11 +5,11 @@ import nonebot
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.drivers import Driver
|
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.chat_history import ChatHistory
|
||||||
from zhenxun.models.statistics import Statistics
|
from zhenxun.models.statistics import Statistics
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
|
from ..main.data_source import bot_live
|
||||||
from .model import BotInfo
|
from .model import BotInfo
|
||||||
|
|
||||||
driver: Driver = nonebot.get_driver()
|
driver: Driver = nonebot.get_driver()
|
||||||
|
|||||||
@ -5,16 +5,12 @@ from nonebot.drivers import Driver
|
|||||||
from tortoise import Tortoise
|
from tortoise import Tortoise
|
||||||
from tortoise.exceptions import OperationalError
|
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.configs.config import BotConfig
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.models.task_info import TaskInfo
|
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.model import Column, SqlModel, SqlText
|
||||||
from .models.sql_log import SqlLog
|
from .models.sql_log import SqlLog
|
||||||
|
|
||||||
|
|||||||
@ -12,9 +12,6 @@ from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
|
|||||||
from tortoise.functions import Count
|
from tortoise.functions import Count
|
||||||
from websockets.exceptions import ConnectionClosedError, ConnectionClosedOK
|
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.bot_connect_log import BotConnectLog
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
from zhenxun.models.group_console import GroupConsole
|
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.services.log import logger
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
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 .data_source import bot_live
|
||||||
from .model import (
|
from .model import (
|
||||||
ActiveGroup,
|
ActiveGroup,
|
||||||
|
|||||||
@ -4,9 +4,6 @@ import nonebot
|
|||||||
from nonebot.adapters.onebot.v11 import ActionFailed
|
from nonebot.adapters.onebot.v11 import ActionFailed
|
||||||
from tortoise.functions import Count
|
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.configs.config import BotConfig
|
||||||
from zhenxun.models.ban_console import BanConsole
|
from zhenxun.models.ban_console import BanConsole
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
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.exception import NotFoundError
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
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 (
|
from .model import (
|
||||||
ClearRequest,
|
ClearRequest,
|
||||||
DeleteFriend,
|
DeleteFriend,
|
||||||
|
|||||||
@ -6,10 +6,10 @@ from nonebot_plugin_alconna import At, Hyper, Image, Text, UniMsg
|
|||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
|
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.models.group_member_info import GroupInfoUser
|
||||||
from zhenxun.utils.depends import UserName
|
from zhenxun.utils.depends import UserName
|
||||||
|
|
||||||
|
from ....config import AVA_URL
|
||||||
from .model import Message, MessageItem
|
from .model import Message, MessageItem
|
||||||
|
|
||||||
driver = nonebot.get_driver()
|
driver = nonebot.get_driver()
|
||||||
|
|||||||
@ -4,13 +4,13 @@ import cattrs
|
|||||||
from fastapi import APIRouter, Query
|
from fastapi import APIRouter, Query
|
||||||
from fastapi.responses import JSONResponse
|
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.configs.config import Config
|
||||||
from zhenxun.models.plugin_info import PluginInfo as DbPluginInfo
|
from zhenxun.models.plugin_info import PluginInfo as DbPluginInfo
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import BlockType, PluginType
|
from zhenxun.utils.enum import BlockType, PluginType
|
||||||
|
|
||||||
|
from ....base_model import Result
|
||||||
|
from ....utils import authentication
|
||||||
from .model import (
|
from .model import (
|
||||||
PluginConfig,
|
PluginConfig,
|
||||||
PluginCount,
|
PluginCount,
|
||||||
|
|||||||
@ -2,10 +2,10 @@ from fastapi import APIRouter
|
|||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from nonebot import require
|
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 zhenxun.models.plugin_info import PluginInfo
|
||||||
|
|
||||||
|
from ....base_model import Result
|
||||||
|
from ....utils import authentication
|
||||||
from .model import PluginIr
|
from .model import PluginIr
|
||||||
|
|
||||||
router = APIRouter(prefix="/store")
|
router = APIRouter(prefix="/store")
|
||||||
|
|||||||
@ -6,10 +6,10 @@ import aiofiles
|
|||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from fastapi.responses import JSONResponse
|
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 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
|
from .model import AddFile, DeleteFile, DirFile, RenameFile, SaveFile
|
||||||
|
|
||||||
router = APIRouter(prefix="/system")
|
router = APIRouter(prefix="/system")
|
||||||
|
|||||||
@ -6,15 +6,16 @@ from fastapi import APIRouter, Depends
|
|||||||
from fastapi.security import OAuth2PasswordRequestForm
|
from fastapi.security import OAuth2PasswordRequestForm
|
||||||
import nonebot
|
import nonebot
|
||||||
|
|
||||||
from zhenxun.builtin_plugins.web_ui.base_model import Result
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.builtin_plugins.web_ui.utils import (
|
|
||||||
|
from ....base_model import Result
|
||||||
|
from ....utils import (
|
||||||
ACCESS_TOKEN_EXPIRE_MINUTES,
|
ACCESS_TOKEN_EXPIRE_MINUTES,
|
||||||
create_token,
|
create_token,
|
||||||
get_user,
|
get_user,
|
||||||
token_data,
|
token_data,
|
||||||
token_file,
|
token_file,
|
||||||
)
|
)
|
||||||
from zhenxun.configs.config import Config
|
|
||||||
|
|
||||||
app = nonebot.get_app()
|
app = nonebot.get_app()
|
||||||
|
|
||||||
|
|||||||
@ -2,9 +2,9 @@ from fastapi import APIRouter, FastAPI
|
|||||||
from fastapi.responses import FileResponse
|
from fastapi.responses import FileResponse
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
|
|
||||||
from zhenxun.builtin_plugins.web_ui.config import PUBLIC_PATH
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
|
|
||||||
|
from ..config import PUBLIC_PATH
|
||||||
from .data_source import COMMAND_NAME, update_webui_assets
|
from .data_source import COMMAND_NAME, update_webui_assets
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|||||||
@ -4,15 +4,12 @@ import zipfile
|
|||||||
|
|
||||||
from nonebot.utils import run_sync
|
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.services.log import logger
|
||||||
from zhenxun.utils.github_utils import GithubUtils
|
from zhenxun.utils.github_utils import GithubUtils
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
|
|
||||||
|
from ..config import PUBLIC_PATH, TMP_PATH, WEBUI_DIST_GITHUB_URL
|
||||||
|
|
||||||
COMMAND_NAME = "WebUI资源管理"
|
COMMAND_NAME = "WebUI资源管理"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user