From 3f5b01f8172acc8501b567fe070b5d19c663f704 Mon Sep 17 00:00:00 2001 From: qinglong Date: Sun, 14 Jun 2026 16:03:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=89=88=E6=9C=AC=E5=8F=B7?= =?UTF-8?q?=E4=BB=8Eversion.json=E8=AF=BB=E5=8F=96=20=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=88=A0version=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/framework/base_config.yaml.example | 1 - services/update_service.py | 31 +++++++++++------------ 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/config/framework/base_config.yaml.example b/config/framework/base_config.yaml.example index 7a92c0f..52b7419 100644 --- a/config/framework/base_config.yaml.example +++ b/config/framework/base_config.yaml.example @@ -1,7 +1,6 @@ framework: debug: true name: SenSu - version: v0.8.0 branch: dev repo_url: https://git.yeij.top/AskaEth/SenSu logging: diff --git a/services/update_service.py b/services/update_service.py index 54f4774..1be15db 100644 --- a/services/update_service.py +++ b/services/update_service.py @@ -149,11 +149,16 @@ class UpdateService: return None def _current_version(self) -> str: + """从 version.json 读取本地版本号""" try: - init = self.sm.get_service("init") - return init.get_config("base").get("framework", {}).get("version", "0.0.0").lstrip("vV") + vf = _PROJECT_ROOT / "version.json" + if vf.exists(): + with open(vf) as f: + data = json.load(f) + return data.get("framework", {}).get("version", "0.0.0").lstrip("vV") except Exception: - return "0.0.0" + pass + return "0.0.0" # ── 执行更新 ── @@ -250,21 +255,15 @@ class UpdateService: # 4.5 同步版本号到旧配置文件 try: - old_cfg_path = str(_PROJECT_ROOT / "config" / "framework" / "base_config.yaml") - new_tpl_path = str(_PROJECT_ROOT / "config" / "framework" / "base_config.yaml.example") - if os.path.exists(old_cfg_path) and os.path.exists(new_tpl_path): - import yaml as _yaml - with open(new_tpl_path) as f: - new_tpl = _yaml.safe_load(f) - new_ver = new_tpl.get("framework", {}).get("version", "") + # 同步版本号到 version.json + vf = _PROJECT_ROOT / "version.json" + if vf.exists(): + with open(vf) as f: + vdata = json.load(f) + new_ver = vdata.get("framework", {}).get("version", "") if new_ver: - with open(old_cfg_path) as f: - old_cfg = _yaml.safe_load(f) or {} - old_cfg.setdefault("framework", {})["version"] = new_ver - with open(old_cfg_path, "w") as f: - _yaml.dump(old_cfg, f, default_flow_style=False, allow_unicode=True) self._log(f"版本号已同步: {new_ver}") - logger.info(f"📝 版本号已同步: {new_ver}") + logger.info(f"📝 版本号已同步: {new_ver}") except Exception as e: logger.warning(f"版本号同步失败: {e}")