Update:Show version number in bottom of siderail #660 and save previous version data to continue showing if update is available
This commit is contained in:
parent
c88bbf1ce4
commit
4621c78573
4 changed files with 83 additions and 30 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { checkForUpdate } from '@/plugins/version'
|
||||
import { checkForUpdate, currentVersion } from '@/plugins/version'
|
||||
import Vue from 'vue'
|
||||
|
||||
export const state = () => ({
|
||||
|
|
@ -65,15 +65,44 @@ export const actions = {
|
|||
})
|
||||
},
|
||||
checkForUpdate({ commit }) {
|
||||
return checkForUpdate()
|
||||
.then((res) => {
|
||||
commit('setVersionData', res)
|
||||
return res
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Update check failed', error)
|
||||
return false
|
||||
})
|
||||
const VERSION_CHECK_BUFF = 1000 * 60 * 5 // 5 minutes
|
||||
var lastVerCheck = localStorage.getItem('lastVerCheck') || 0
|
||||
var savedVersionData = localStorage.getItem('versionData')
|
||||
if (savedVersionData) {
|
||||
try {
|
||||
savedVersionData = JSON.parse(localStorage.getItem('versionData'))
|
||||
} catch (error) {
|
||||
console.error('Failed to parse version data', error)
|
||||
savedVersionData = null
|
||||
localStorage.removeItem('versionData')
|
||||
}
|
||||
}
|
||||
|
||||
var shouldCheckForUpdate = Date.now() - Number(lastVerCheck) > VERSION_CHECK_BUFF
|
||||
if (!shouldCheckForUpdate && savedVersionData && savedVersionData.version !== currentVersion) {
|
||||
// Version mismatch between saved data so check for update anyway
|
||||
shouldCheckForUpdate = true
|
||||
}
|
||||
|
||||
if (shouldCheckForUpdate) {
|
||||
return checkForUpdate()
|
||||
.then((res) => {
|
||||
if (res) {
|
||||
localStorage.setItem('lastVerCheck', Date.now())
|
||||
localStorage.setItem('versionData', JSON.stringify(res))
|
||||
|
||||
commit('setVersionData', res)
|
||||
}
|
||||
return res && res.hasUpdate
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Update check failed', error)
|
||||
return false
|
||||
})
|
||||
} else if (savedVersionData) {
|
||||
commit('setVersionData', savedVersionData)
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue