diff --git a/services/update_service.py b/services/update_service.py index 2a197a5..90425ca 100644 --- a/services/update_service.py +++ b/services/update_service.py @@ -111,17 +111,17 @@ class UpdateService: data = await loop.run_in_executor(None, self._sync_fetch_json, self.version_url) self.status["last_check"] = time.time() self.status["checked"] = True + current = self._current_version() + self.status["current_version"] = current if not data: return remote_fw = data.get("framework", {}) remote_ver = remote_fw.get("version", "") if not remote_ver: return - current = self._current_version() if _parse_ver(remote_ver) > _parse_ver(current): self.status["update_available"] = True self.status["latest_version"] = remote_ver - self.status["current_version"] = current self.status["download_url"] = self.download_url logger.info(f"🔄 新版本可用: {remote_ver} (当前: {current})") except Exception as e: diff --git a/static/web_panel/js/app.js b/static/web_panel/js/app.js index e0a951f..52adc68 100644 --- a/static/web_panel/js/app.js +++ b/static/web_panel/js/app.js @@ -17,14 +17,15 @@ async function checkTopUpdate() { var btn = document.getElementById("top-ver-btn"); try { var r = await fetch("./api/updates"), d = await r.json(); - btn.textContent = d.current_version || d.latest_version || "v?"; + var ver = d.current_version || d.latest_version || ""; + btn.textContent = ver ? ver : "v?"; if (d.update_available) { - btn.textContent = "🔄 " + d.latest_version; + btn.textContent = "↻ " + d.latest_version + " 可用"; btn.style.color = "var(--success)"; btn.title = "新版本可用! " + d.latest_version; - } else { + } else if (ver) { btn.style.color = ""; - btn.title = "已是最新"; + btn.title = "已是最新 " + ver; } } catch(e) {} }