diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 08b2d1ba..850eb176 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -37,6 +37,7 @@ export default { globalObj: { apiSource: 'messoer', }, + updateTimeout: null, } }, computed: { @@ -98,19 +99,29 @@ export default { }) rendererOn('update-error', () => { this.setVersionModalVisible({ isError: true }) + this.clearUpdateTimeout() this.$nextTick(() => { this.showUpdateModal() }) }) rendererOn('update-downloaded', () => { + this.clearUpdateTimeout() this.showUpdateModal() }) rendererOn('update-not-available', () => { if (this.setting.ignoreVersion) this.setSetting(Object.assign({}, this.setting, { ignoreVersion: null })) + this.clearUpdateTimeout() this.setNewVersion({ version: this.version.version, }) }) + this.updateTimeout = setTimeout(() => { + this.updateTimeout = null + this.setVersionModalVisible({ isError: true }) + this.$nextTick(() => { + this.showUpdateModal() + }) + }, 180000) this.initData() this.globalObj.apiSource = this.setting.apiSource @@ -174,6 +185,10 @@ export default { body.removeEventListener('mouseleave', this.enableIgnoreMouseEvents) } }, + clearUpdateTimeout() { + clearTimeout(this.updateTimeout) + this.updateTimeout = null + }, } diff --git a/src/renderer/store/actions.js b/src/renderer/store/actions.js index dde1d7c6..10fd284a 100644 --- a/src/renderer/store/actions.js +++ b/src/renderer/store/actions.js @@ -6,7 +6,13 @@ export default { getVersionInfo() { return new Promise((resolve, reject) => { httpGet(`https://raw.githubusercontent.com/${author.name}/${name}/master/publish/version.json`, (err, resp, body) => { - if (err) return reject(err) + if (err) { + return resolve({ + version: '0.0.0', + desc: '

版本获取失败

', + history: [], + }) + } resolve(body) }) })