diff --git a/src/main/index.js b/src/main/index.js
index 836ea32d..f5d91cfa 100644
--- a/src/main/index.js
+++ b/src/main/index.js
@@ -522,6 +522,7 @@ app.on('ready', () => {
if (process.platform === 'darwin' || process.platform === 'win32') {
createTray()
}
+ db.read().set('needReload', false).write()
updateChecker()
globalShortcut.register(db.read().get('settings.shortKey.upload').value(), () => {
diff --git a/src/main/utils/getPicBeds.js b/src/main/utils/getPicBeds.js
index 2bd3fc19..1f36be47 100644
--- a/src/main/utils/getPicBeds.js
+++ b/src/main/utils/getPicBeds.js
@@ -18,6 +18,7 @@ const getPicBeds = (app) => {
visible: visible ? visible.visible : true
}
})
+ picgo.cmd.program.removeAllListeners()
return picBeds
}
diff --git a/src/main/utils/picgoCoreIPC.js b/src/main/utils/picgoCoreIPC.js
index eec99ddd..6d2ac9d5 100644
--- a/src/main/utils/picgoCoreIPC.js
+++ b/src/main/utils/picgoCoreIPC.js
@@ -114,9 +114,14 @@ const handlePluginUpdate = (ipcMain, CONFIG_PATH) => {
const handleGetPicBedConfig = (ipcMain, CONFIG_PATH) => {
ipcMain.on('getPicBedConfig', (event, type) => {
const picgo = new PicGo(CONFIG_PATH)
- const config = handleConfigWithFunction(picgo.helper.uploader.get(type).config(picgo))
const name = picgo.helper.uploader.get(type).name || type
- event.sender.send('getPicBedConfig', config, name)
+ if (picgo.helper.uploader.get(type).config) {
+ const config = handleConfigWithFunction(picgo.helper.uploader.get(type).config(picgo))
+ event.sender.send('getPicBedConfig', config, name)
+ } else {
+ event.sender.send('getPicBedConfig', [], name)
+ }
+ picgo.cmd.program.removeAllListeners()
})
}
diff --git a/src/renderer/layouts/SettingPage.vue b/src/renderer/layouts/SettingPage.vue
index 63ae98f9..82616fd6 100644
--- a/src/renderer/layouts/SettingPage.vue
+++ b/src/renderer/layouts/SettingPage.vue
@@ -56,7 +56,9 @@
-
+
+
+
{
- this.picBed = picBeds
- })
+ this.$electron.ipcRenderer.send('getPicBeds')
+ this.$electron.ipcRenderer.on('getPicBeds', this.getPicBeds)
},
methods: {
handleSelect (index) {
@@ -195,7 +195,7 @@ export default {
} else {
this.$router.push({
name: 'others',
- query: {
+ params: {
type: picBed
}
})
@@ -266,8 +266,8 @@ export default {
openMiniWindow () {
this.$electron.ipcRenderer.send('openMiniWindow')
},
- getPicBeds () {
- this.$electron.ipcRenderer.send('getPicBeds')
+ getPicBeds (event, picBeds) {
+ this.picBed = picBeds
}
},
beforeRouteEnter: (to, from, next) => {
@@ -276,11 +276,19 @@ export default {
})
},
beforeDestroy () {
- this.$electron.ipcRenderer.removeAllListeners('getPicBeds')
+ this.$electron.ipcRenderer.removeListener('getPicBeds', this.getPicBeds)
}
}
\ No newline at end of file
diff --git a/src/renderer/pages/Upload.vue b/src/renderer/pages/Upload.vue
index a4455497..329d4928 100644
--- a/src/renderer/pages/Upload.vue
+++ b/src/renderer/pages/Upload.vue
@@ -84,11 +84,8 @@ export default {
this.$electron.ipcRenderer.on('syncPicBed', () => {
this.getDefaultPicBed()
})
- this.getPicBeds()
- this.$electron.ipcRenderer.on('getPicBeds', (event, picBeds) => {
- this.picBed = picBeds
- this.getDefaultPicBed()
- })
+ this.$electron.ipcRenderer.send('getPicBeds')
+ this.$electron.ipcRenderer.on('getPicBeds', this.getPicBeds)
},
watch: {
progress (val) {
@@ -106,7 +103,7 @@ export default {
beforeDestroy () {
this.$electron.ipcRenderer.removeAllListeners('uploadProgress')
this.$electron.ipcRenderer.removeAllListeners('syncPicBed')
- this.$electron.ipcRenderer.removeAllListeners('getPicBeds')
+ this.$electron.ipcRenderer.removeListener('getPicBeds', this.getPicBeds)
},
methods: {
onDrop (e) {
@@ -149,8 +146,9 @@ export default {
}
})
},
- getPicBeds () {
- this.$electron.ipcRenderer.send('getPicBeds')
+ getPicBeds (event, picBeds) {
+ this.picBed = picBeds
+ this.getDefaultPicBed()
}
}
}
diff --git a/src/renderer/pages/picbeds/Others.vue b/src/renderer/pages/picbeds/Others.vue
index 32f48720..f6b861ee 100644
--- a/src/renderer/pages/picbeds/Others.vue
+++ b/src/renderer/pages/picbeds/Others.vue
@@ -6,6 +6,7 @@
{{ picBedName }}设置
-
+
@@ -38,15 +42,10 @@ export default {
picBedName: ''
}
},
- beforeRouteEnter (to, from, next) {
- next(vm => {
- vm.type = to.query.type
- vm.$electron.ipcRenderer.send('getPicBedConfig', to.query.type)
- vm.$electron.ipcRenderer.on('getPicBedConfig', (event, config, name) => {
- vm.config = config
- vm.picBedName = name
- })
- })
+ created () {
+ this.type = this.$route.params.type
+ this.$electron.ipcRenderer.send('getPicBedConfig', this.$route.params.type)
+ this.$electron.ipcRenderer.on('getPicBedConfig', this.getPicBeds)
},
methods: {
async handleConfirm () {
@@ -71,10 +70,14 @@ export default {
successNotification.onclick = () => {
return true
}
+ },
+ getPicBeds (event, config, name) {
+ this.config = config
+ this.picBedName = name
}
},
beforeDestroy () {
- this.$electron.ipcRenderer.removeAllListeners('getPicBedConfig')
+ this.$electron.ipcRenderer.removeListener('getPicBedConfig', this.getPicBeds)
}
}
@@ -97,4 +100,10 @@ export default {
color #eee
&.is-active
color #409EFF
+ .notice
+ color #eee
+ text-align center
+ margin-bottom 10px
+ .single
+ text-align center
\ No newline at end of file
diff --git a/src/renderer/router/index.js b/src/renderer/router/index.js
index 4b283557..9a951e23 100644
--- a/src/renderer/router/index.js
+++ b/src/renderer/router/index.js
@@ -71,7 +71,7 @@ export default new Router({
name: 'imgur'
},
{
- path: 'others',
+ path: 'others/:type',
component: require('@/pages/picbeds/Others').default,
name: 'others'
},