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