diff --git a/.gitignore b/.gitignore
index 1f59558..963e010 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ docs/dist/
.env.local
.env.*.local
dist_electron/
+test.js
diff --git a/src/main/utils/updateChecker.ts b/src/main/utils/updateChecker.ts
index 631239c..2d2fb37 100644
--- a/src/main/utils/updateChecker.ts
+++ b/src/main/utils/updateChecker.ts
@@ -2,6 +2,7 @@ import { dialog, shell } from 'electron'
import db from '#/datastore'
import axios from 'axios'
import pkg from 'root/package.json'
+import { lt } from 'semver'
const version = pkg.version
const releaseUrl = 'https://api.github.com/repos/Molunerfinn/PicGo/releases/latest'
const releaseUrlBackup = 'https://cdn.jsdelivr.net/gh/Molunerfinn/PicGo@latest/package.json'
@@ -51,18 +52,17 @@ const checkVersion = async () => {
// if true -> update else return false
const compareVersion2Update = (current: string, latest: string) => {
- const currentVersion = current.split('.').map(item => parseInt(item))
- const latestVersion = latest.split('.').map(item => parseInt(item))
-
- for (let i = 0; i < 3; i++) {
- if (currentVersion[i] < latestVersion[i]) {
- return true
- }
- if (currentVersion[i] > latestVersion[i]) {
- return false
+ try {
+ if (latest.includes('Beta')) {
+ const isCheckBetaUpdate = db.get('settings.checkBetaUpdate') !== false
+ if (!isCheckBetaUpdate) {
+ return false
+ }
}
+ return lt(current, latest)
+ } catch (e) {
+ return false
}
- return false
}
export default checkVersion
diff --git a/src/renderer/pages/PicGoSetting.vue b/src/renderer/pages/PicGoSetting.vue
index aa0e720..43c9ba5 100644
--- a/src/renderer/pages/PicGoSetting.vue
+++ b/src/renderer/pages/PicGoSetting.vue
@@ -56,6 +56,17 @@
@change="updateHelperChange"
>
+
+
+
@@ -347,7 +358,8 @@ export default class extends Vue {
uploadNotification: db.get('settings.uploadNotification') || false,
miniWindowOntop: db.get('settings.miniWindowOntop') || false,
logLevel,
- autoCopyUrl: db.get('settings.autoCopy') === undefined ? true : db.get('settings.autoCopy')
+ autoCopyUrl: db.get('settings.autoCopy') === undefined ? true : db.get('settings.autoCopy'),
+ checkBetaUpdate: db.get('settings.checkBetaUpdate') === undefined ? true : db.get('settings.checkBetaUpdate')
}
picBed: IPicBedType[] = []
logFileVisible = false
@@ -452,6 +464,9 @@ export default class extends Vue {
updateHelperChange (val: boolean) {
db.set('settings.showUpdateTip', val)
}
+ checkBetaUpdateChange (val: boolean) {
+ db.set('settings.checkBetaUpdate', val)
+ }
handleShowPicBedListChange (val: string[]) {
const list = this.picBed.map(item => {
if (!val.includes(item.name)) {
diff --git a/src/universal/types/view.d.ts b/src/universal/types/view.d.ts
index 2353f19..feb066b 100644
--- a/src/universal/types/view.d.ts
+++ b/src/universal/types/view.d.ts
@@ -8,6 +8,7 @@ interface ISettingForm {
miniWindowOntop: boolean
logLevel: string[]
autoCopyUrl: boolean
+ checkBetaUpdate: boolean
}
interface IShortKeyMap {