|
@@ -151,10 +151,17 @@ export struct SettingPage {
|
|
|
const savedDarkMode = PreferencesUtil.getBooleanSync(SettingPage.IS_DARK_MODE, false);
|
|
const savedDarkMode = PreferencesUtil.getBooleanSync(SettingPage.IS_DARK_MODE, false);
|
|
|
this.isDarkMode = savedDarkMode;
|
|
this.isDarkMode = savedDarkMode;
|
|
|
this.currentMode = savedDarkMode ? ConfigurationConstant.ColorMode.COLOR_MODE_DARK : ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT;
|
|
this.currentMode = savedDarkMode ? ConfigurationConstant.ColorMode.COLOR_MODE_DARK : ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT;
|
|
|
- this.themeMode = PreferencesUtil.getNumberSync(SettingPage.THEME_MODE, 0)
|
|
|
|
|
|
|
+ // 优先从 AppStorage 读取 themeMode
|
|
|
|
|
+ const appStorageThemeMode = AppStorage.get<number>('themeMode');
|
|
|
|
|
+ if (appStorageThemeMode !== undefined) {
|
|
|
|
|
+ this.themeMode = appStorageThemeMode;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.themeMode = PreferencesUtil.getNumberSync(SettingPage.THEME_MODE, 0)
|
|
|
|
|
+ }
|
|
|
this.applyThemeMode(this.themeMode)
|
|
this.applyThemeMode(this.themeMode)
|
|
|
AppStorage.setOrCreate('currentColorMode', this.currentMode);
|
|
AppStorage.setOrCreate('currentColorMode', this.currentMode);
|
|
|
AppStorage.setOrCreate('isDarkMode', this.isDarkMode);
|
|
AppStorage.setOrCreate('isDarkMode', this.isDarkMode);
|
|
|
|
|
+ AppStorage.setOrCreate('themeMode', this.themeMode);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 监听颜色模式变化
|
|
// 监听颜色模式变化
|
|
@@ -180,6 +187,7 @@ export struct SettingPage {
|
|
|
AppStorage.setOrCreate('currentColorMode', colorMode)
|
|
AppStorage.setOrCreate('currentColorMode', colorMode)
|
|
|
AppStorage.setOrCreate('isDarkMode', colorMode === ConfigurationConstant.ColorMode.COLOR_MODE_DARK)
|
|
AppStorage.setOrCreate('isDarkMode', colorMode === ConfigurationConstant.ColorMode.COLOR_MODE_DARK)
|
|
|
PreferencesUtil.putSync(SettingPage.THEME_MODE, mode)
|
|
PreferencesUtil.putSync(SettingPage.THEME_MODE, mode)
|
|
|
|
|
+ AppStorage.setOrCreate('themeMode', mode)
|
|
|
// 只有强制浅色/深色时才主动设置
|
|
// 只有强制浅色/深色时才主动设置
|
|
|
const context = getContext(this) as common.UIAbilityContext
|
|
const context = getContext(this) as common.UIAbilityContext
|
|
|
context.getApplicationContext().setColorMode(colorMode)
|
|
context.getApplicationContext().setColorMode(colorMode)
|