Skip to content

Commit 9f225db

Browse files
author
Colin Yang
committed
Added version check
1 parent 638cb93 commit 9f225db

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

frontend/tinywebdb-php-vue/src/components/manage/Frame.vue

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@
66
<b-navbar-toggle target="nav_collapse" />
77
<b-collapse is-nav id="nav_collapse" v-if="$route.path !== '/manage/init'">
88
<b-navbar-nav v-if="token !== null">
9-
<b-nav-item to="/manage/all">全部标签</b-nav-item>
9+
<b-nav-item to="/manage/all">全部标签</b-nav-item>
1010
<b-nav-item to="/manage/backup">备份/恢复</b-nav-item>
1111
<b-nav-item to="/manage/setting">设置</b-nav-item>
12-
<b-nav-item v-if="update_available" :href="update_pageUrl" target="_blank">管理系统有更新!</b-nav-item>
12+
<b-nav-item
13+
v-if="update_available"
14+
:href="$root.REPO_URL + '/releases/latest'"
15+
target="_blank">
16+
<span style="color:red">管理系统有更新!</span>
17+
</b-nav-item>
1318
</b-navbar-nav>
1419
<b-navbar-nav class="ml-auto">
1520
<b-nav-item v-if="token !== null" @click.stop.prevent="onLogout">登出后台</b-nav-item>
@@ -53,7 +58,6 @@ export default {
5358
return {
5459
pingDone: false,
5560
update_available: false,
56-
update_pageUrl: null,
5761
service: null,
5862
token: null
5963
}
@@ -95,6 +99,7 @@ export default {
9599
})
96100
this.service = service
97101
this.ping()
102+
this.checkUpdate()
98103
},
99104
methods: {
100105
onLogout () {
@@ -131,6 +136,25 @@ export default {
131136
this.$root.showInfo('无法连接服务器,详细信息见console')
132137
console.error(e)
133138
}
139+
},
140+
async checkUpdate () {
141+
try {
142+
let { data } = await axios.get(this.$root.REPO_API_URL + '/releases/latest')
143+
let tagName = data.tag_name
144+
let match = tagName.match(/v(\d+)\.(\d+)\.(\d+)/)
145+
let currentVersionCode = this.$root.VERSION_CODE
146+
if (match) {
147+
if ((match[1] > currentVersionCode[0]) ||
148+
(match[1] === currentVersionCode[0] && match[2] > currentVersionCode[1]) ||
149+
(match[1] === currentVersionCode[0] && match[2] === currentVersionCode[1] && match[3] > currentVersionCode[2])) {
150+
this.update_available = true
151+
}
152+
} else {
153+
console.log(`latest tag is invalid: ${tagName}`)
154+
}
155+
} catch (e) {
156+
console.error('Can\'t load latest release info', e)
157+
}
134158
}
135159
}
136160
}

frontend/tinywebdb-php-vue/src/main.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ new Vue({
5151
return {
5252
AUTHOR_URL: 'https://github.com/ColinTree',
5353
REPO_URL: 'https://github.com/ColinTree/tinywebdb-php-vue',
54+
REPO_API_URL: 'https://api.github.com/repos/ColinTree/tinywebdb-php-vue',
5455
SERVICE_BASE_URL: '/',
55-
VERSION_NAME: '1.0.0-alpha',
56-
VERSION_CODE: '100',
56+
VERSION_NAME: '1.0.0',
57+
VERSION_CODE: [ 1, 0, 0 ],
5758

5859
service: null
5960
}

0 commit comments

Comments
 (0)