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}")