From 033792c81277729a52ed2f0962ba3498ed82af5e Mon Sep 17 00:00:00 2001 From: HibiKier <775757368@qq.com> Date: Tue, 11 Mar 2025 20:58:18 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=B7=BB=E5=8A=A0=E9=87=8D?= =?UTF-8?q?=E5=90=AF=E6=A0=87=E5=BF=97=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../builtin_plugins/web_ui/api/configure/__init__.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/zhenxun/builtin_plugins/web_ui/api/configure/__init__.py b/zhenxun/builtin_plugins/web_ui/api/configure/__init__.py index f8ba9aa7..9d2ceadc 100644 --- a/zhenxun/builtin_plugins/web_ui/api/configure/__init__.py +++ b/zhenxun/builtin_plugins/web_ui/api/configure/__init__.py @@ -2,6 +2,7 @@ from pathlib import Path import re import subprocess import sys +import time from fastapi import APIRouter from fastapi.responses import JSONResponse @@ -19,8 +20,9 @@ driver = nonebot.get_driver() port = driver.config.port +FILE_NAME = ".configure_restart" -flag_file = Path() / ".configure_restart" +flag_file: Path | None = None @router.post( @@ -55,6 +57,7 @@ async def _(setting: Setting) -> Result: Config.set_config("web-ui", "username", setting.username) Config.set_config("web-ui", "password", setting.password, True) env_file.write_text(env_text, encoding="utf-8") + flag_file = Path() / f"{FILE_NAME}_{time.time()}" flag_file.touch() return Result.ok(info="设置成功,请重启真寻以完成配置!") @@ -79,8 +82,12 @@ async def _(db_url: str) -> Result: description="重启", ) async def _() -> Result: - if not flag_file.exists(): + global flag_file + if not flag_file or not flag_file.exists(): return Result.fail("重启标志文件不存在...") + set_time = flag_file.name.split("_")[-1] + if time.time() - float(set_time) > 10 * 60: + return Result.fail("重启标志文件已过期,请重新设置配置。") flag_file.unlink() bat_path = Path() / "win启动.bat" subprocess.Popen([bat_path, str(port)], shell=True) # noqa: ASYNC220