From def84a6caed5b052a07e86a006ad28ed235cdc5f Mon Sep 17 00:00:00 2001 From: chaos-zhu Date: Fri, 9 Aug 2024 12:29:27 +0800 Subject: [PATCH] =?UTF-8?q?:new:=20=E7=89=88=E6=9C=AC=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/package.json | 2 +- web/src/components/top-bar.vue | 26 ++++++++++++++++++-------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/web/package.json b/web/package.json index ee0b6c3..d981360 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "web", - "version": "2.1.1", + "version": "2.1.2", "description": "easynode-web", "private": true, "scripts": { diff --git a/web/src/components/top-bar.vue b/web/src/components/top-bar.vue index bce196e..122e68f 100644 --- a/web/src/components/top-bar.vue +++ b/web/src/components/top-bar.vue @@ -31,12 +31,13 @@ >

EasyNode

-

Version: {{ currentVersion }}

-

- 有新版本可用: {{ latestVersion }} - https://github.com/chaos-zhu/easynode/releases +

当前版本: {{ currentVersion }}

+

Error:版本更新检测失败(版本检测API需要外网环境)

+

+ 有新版本可用: {{ latestVersion }} -> https://github.com/chaos-zhu/easynode/releases

-

Author: ChaosZhu

-

Source: https://github.com/chaos-zhu/easynode

+

作者: ChaosZhu

+

开源仓库: https://github.com/chaos-zhu/easynode

@@ -50,6 +51,7 @@ import packageJson from '../../package.json' const { proxy: { $router, $store, $message } } = getCurrentInstance() let visible = ref(false) +let checkVersionErr = ref(false) let currentVersion = ref(`v${ packageJson.version }`) let latestVersion = ref(null) @@ -58,18 +60,23 @@ let isNew = computed(() => { }) async function checkLatestVersion() { + const timeout = 3000 try { - const response = await fetch('https://production.get-easynode-latest-version.chaoszhu.workers.dev/version') - // const response = await fetch('https://api.github.com/repos/chaos-zhu/easynode/releases/latest') + const timeoutPromise = new Promise((_, reject) => + setTimeout(() => reject(new Error('请求超时')), timeout) + ) + const fetchPromise = fetch('https://production.get-easynode-latest-version.chaoszhu.workers.dev/version') + + const response = await Promise.race([fetchPromise, timeoutPromise,]) if (!response.ok) { throw new Error('版本信息请求失败: ' + response.statusText) } const data = await response.json() latestVersion.value = data.tag_name } catch (error) { + checkVersionErr.value = true console.error('版本信息请求失败:', error.message) } - } checkLatestVersion() @@ -125,6 +132,9 @@ const handleLogout = () => { p { line-height: 35px; } + .conspicuous { + color: red; + } } } \ No newline at end of file