feat(update): 更新webui路径处理逻辑
Some checks failed
Sequential Lint and Type Check / ruff-call (push) Has been cancelled
Sequential Lint and Type Check / pyright-call (push) Has been cancelled

This commit is contained in:
HibiKier 2025-08-01 17:49:11 +08:00
parent 56bb311c2b
commit 854eac68d8

View File

@ -7,7 +7,7 @@ import zipfile
from nonebot.adapters import Bot
from nonebot.utils import run_sync
from zhenxun.configs.path_config import DATA_PATH, TEMP_PATH
from zhenxun.configs.path_config import DATA_PATH
from zhenxun.services.log import logger
from zhenxun.utils.github_utils import GithubUtils
from zhenxun.utils.github_utils.models import RepoInfo
@ -15,7 +15,6 @@ from zhenxun.utils.http_utils import AsyncHttpx
from zhenxun.utils.manager.virtual_env_package_manager import VirtualEnvPackageManager
from zhenxun.utils.platform import PlatformUtils
from zhenxun.utils.repo_utils import AliyunRepoManager, GithubRepoManager
from zhenxun.utils.repo_utils.utils import clean_git
from .config import (
BACKUP_PATH,
@ -129,6 +128,7 @@ class UpdateManager:
WEBUI_PATH = DATA_PATH / "web_ui" / "public"
BACKUP_PATH = DATA_PATH / "web_ui" / "backup_public"
GIT_WEBUI_PATH = DATA_PATH / "web_ui" / "git_web_ui"
if WEBUI_PATH.exists():
if BACKUP_PATH.exists():
logger.debug(f"删除旧的备份webui文件夹 {BACKUP_PATH}", COMMAND)
@ -139,22 +139,18 @@ class UpdateManager:
await update_webui_assets()
logger.info("更新webui成功...", COMMAND)
else:
TMP_PATH = TEMP_PATH / "_webui_tmp"
if TMP_PATH.exists():
await clean_git(TMP_PATH)
shutil.rmtree(TMP_PATH)
if source == "ali":
result = await AliyunRepoManager.update(
GIT_WEBUI_UI_URL, TMP_PATH, "dist"
GIT_WEBUI_UI_URL, GIT_WEBUI_PATH, "dist", force=True
)
else:
result = await GithubRepoManager.update(
GIT_WEBUI_UI_URL, TMP_PATH, "dist"
GIT_WEBUI_UI_URL, GIT_WEBUI_PATH, "dist", force=True
)
if not result.success:
return f"Webui更新失败...错误: {result.error_message}"
shutil.rmtree(WEBUI_PATH, ignore_errors=True)
shutil.copytree(TMP_PATH / "dist", WEBUI_PATH)
shutil.copytree(GIT_WEBUI_PATH / "dist", WEBUI_PATH)
if BACKUP_PATH.exists():
logger.debug(f"删除旧的webui文件夹 {BACKUP_PATH}", COMMAND)
shutil.rmtree(BACKUP_PATH)