perf: 优化iOS深色模式

This commit is contained in:
kuaifan 2023-07-22 01:21:26 +08:00
parent 189986dd88
commit 1be7e67655
3 changed files with 48 additions and 24 deletions

View File

@ -58,6 +58,7 @@ export default {
this.eeuiEvents(); this.eeuiEvents();
this.otherEvents(); this.otherEvents();
this.synchThemeLanguage(); this.synchThemeLanguage();
this.synchAppTheme();
}, },
mounted() { mounted() {
@ -73,7 +74,7 @@ export default {
}, },
computed: { computed: {
...mapState(['ws', 'themeMode', 'windowOrientation']), ...mapState(['ws', 'themeMode', 'themeIsDark', 'windowOrientation']),
isSoftware() { isSoftware() {
return this.$Electron || this.$isEEUiApp; return this.$Electron || this.$isEEUiApp;
@ -174,7 +175,7 @@ export default {
this.$store.dispatch("websocketConnection") this.$store.dispatch("websocketConnection")
}) })
if (this.themeMode === "auto") { if (this.themeMode === "auto") {
$A.dark.autoDarkMode() this.$store.dispatch("synchTheme")
} }
}, 600) }, 600)
} else { } else {
@ -182,7 +183,7 @@ export default {
} }
}, },
themeMode() { themeIsDark() {
this.synchThemeLanguage(); this.synchThemeLanguage();
} }
}, },
@ -225,9 +226,19 @@ export default {
this.iframes = this.iframes.filter(({key}) => key != 'synchThemeLanguage') this.iframes = this.iframes.filter(({key}) => key != 'synchThemeLanguage')
this.iframes.push({ this.iframes.push({
key: 'synchThemeLanguage', key: 'synchThemeLanguage',
url: $A.apiUrl(`../setting/theme_language?theme=${this.themeMode}&language=${languageType}`) url: $A.apiUrl(`../setting/theme_language?theme=${this.themeIsDark ? 'dark' : 'light'}&language=${languageType}`)
}) })
} }
this.synchAppTheme()
},
synchAppTheme() {
if (this.$isEEUiApp) {
$A.eeuiAppSendMessage({
action: 'updateTheme',
themeName: this.themeIsDark ? 'dark' : 'light',
});
}
}, },
windowSizeListener() { windowSizeListener() {
@ -285,6 +296,12 @@ export default {
if (!this.$isEEUiApp) { if (!this.$isEEUiApp) {
return; return;
} }
// APP
window.__onAppActive = () => {
if (this.themeMode === "auto") {
this.$store.dispatch("synchTheme")
}
}
// //
window.__onPagePause = () => { window.__onPagePause = () => {
this.$store.state.windowActive = false; this.$store.state.windowActive = false;
@ -301,7 +318,7 @@ export default {
window.__onMeetingEvent = ({act,uuid,meetingid}) => { window.__onMeetingEvent = ({act,uuid,meetingid}) => {
switch (act) { switch (act) {
// //
case "getInfo": case "getInfo":
this.$store.dispatch("call", { this.$store.dispatch("call", {
url: 'users/basic', url: 'users/basic',
data: { data: {
@ -321,22 +338,21 @@ export default {
}); });
break; break;
// //
case "success": case "success":
this.$store.dispatch("closeMeetingWindow","add") this.$store.dispatch("closeMeetingWindow","add")
break; break;
// //
case "invent": case "invent":
this.$store.dispatch("showMeetingWindow",{ this.$store.dispatch("showMeetingWindow",{
type: "invitation", type: "invitation",
meetingid: meetingid meetingid: meetingid
}) })
break; break;
// //
case "endMeeting": case "endMeeting":
break; break;
// //
case "error": case "error":
this.$store.dispatch("closeMeetingWindow","error") this.$store.dispatch("closeMeetingWindow","error")
break; break;
default: default:

View File

@ -55,19 +55,7 @@ export default {
} }
// 主题皮肤 // 主题皮肤
switch (state.themeMode) { await dispatch("synchTheme")
case 'dark':
$A.dark.enableDarkMode()
break;
case 'light':
$A.dark.disableDarkMode()
break;
default:
state.themeMode = "auto"
$A.dark.autoDarkMode()
break;
}
state.themeIsDark = $A.dark.isDarkEnabled()
// 客户端ID // 客户端ID
if (!state.clientId) { if (!state.clientId) {
@ -488,6 +476,26 @@ export default {
}); });
}, },
/**
* 同步主题
* @param state
*/
synchTheme({state}) {
switch (state.themeMode) {
case 'dark':
$A.dark.enableDarkMode()
break;
case 'light':
$A.dark.disableDarkMode()
break;
default:
state.themeMode = "auto"
$A.dark.autoDarkMode()
break;
}
state.themeIsDark = $A.dark.isDarkEnabled()
},
/** /**
* 获取基本数据项目对话仪表盘任务会员基本信息 * 获取基本数据项目对话仪表盘任务会员基本信息
* @param state * @param state

@ -1 +1 @@
Subproject commit 8a4c11011f43f728c5e18a6fc141efd8807102d9 Subproject commit b95b0a9c439f04f9f19648bb2159187eb2b936ea