diff --git a/electron/electron.js b/electron/electron.js index c1c3f08d1..902571445 100644 --- a/electron/electron.js +++ b/electron/electron.js @@ -1208,6 +1208,16 @@ ipcMain.on('childWindowDestroyAll', (event) => { event.returnValue = "ok" }) +/** + * 刷新预加载窗口(用于更换语言和主题时触发) + */ +ipcMain.on('reloadPreloadWindow', (event) => { + if (preloadWindow) { + preloadWindow.webContents.reload() + } + event.returnValue = "ok" +}) + /** * 设置窗口尺寸 * @param args {width, height, autoZoom, minWidth, minHeight, maxWidth, maxHeight} diff --git a/resources/assets/js/language/index.js b/resources/assets/js/language/index.js index 7019e5f8d..b065dd704 100644 --- a/resources/assets/js/language/index.js +++ b/resources/assets/js/language/index.js @@ -96,6 +96,7 @@ function setLanguage(language, silence = false) { utils.saveLanguage(language); (async () => { await $A.IDBDel("callAt") + $A.Electron?.sendMessage('reloadPreloadWindow'); $A.reloadUrl() })() } else { diff --git a/resources/assets/js/pages/manage/setting/theme.vue b/resources/assets/js/pages/manage/setting/theme.vue index 78b15f70c..0a7bdcd4e 100644 --- a/resources/assets/js/pages/manage/setting/theme.vue +++ b/resources/assets/js/pages/manage/setting/theme.vue @@ -52,7 +52,11 @@ export default { this.$refs.formData.validate((valid) => { if (valid) { this.$store.dispatch("setTheme", this.formData.theme).then(res => { - res && $A.messageSuccess('保存成功'); + if (!res) { + return + } + $A.messageSuccess('保存成功'); + this.$Electron?.sendMessage('reloadPreloadWindow'); }) } })