|
|
@@ -1,4 +1,4 @@
|
|
|
-import { AppUtil, DisplayUtil, ToastUtil } from '@pura/harmony-utils';
|
|
|
+import { AppUtil, DisplayUtil, PreferencesUtil, ToastUtil } from '@pura/harmony-utils';
|
|
|
import TitleBar from '../view/TitleBar';
|
|
|
import { router } from '@kit.ArkUI';
|
|
|
import mainViewModel, { MainViewModel } from '../viewmodel/MainViewModel';
|
|
|
@@ -22,6 +22,7 @@ import { ImageKnife } from '@ohos/imageknife';
|
|
|
import { BreakpointSystem, BreakpointTypeEnum } from '../common/util/BreakpointSystem';
|
|
|
import dataStorage from '@ohos.data.storage';
|
|
|
import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant';
|
|
|
+import { SettingPage } from './SettingPage';
|
|
|
|
|
|
const TAG = 'NewIndex'; // 日志标签
|
|
|
|
|
|
@@ -168,14 +169,20 @@ struct NewIndex{
|
|
|
|
|
|
// 初始化深色模式状态
|
|
|
try {
|
|
|
+ // 从持久化存储中读取深色模式设置
|
|
|
+ const savedDarkMode = PreferencesUtil.getBooleanSync(SettingPage.IS_DARK_MODE, false);
|
|
|
+ this.isDarkMode = savedDarkMode;
|
|
|
+
|
|
|
+ // 更新 AppStorage 中的颜色模式
|
|
|
+ const colorMode = savedDarkMode ? ConfigurationConstant.ColorMode.COLOR_MODE_DARK : ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT;
|
|
|
+ AppStorage.setOrCreate('currentColorMode', colorMode);
|
|
|
+ AppStorage.setOrCreate('isDarkMode', savedDarkMode);
|
|
|
+
|
|
|
+ // 通知系统更新颜色模式
|
|
|
const context = getContext(this) as common.UIAbilityContext;
|
|
|
- this.storage = await dataStorage.getStorage(context.cacheDir);
|
|
|
- if (this.storage) {
|
|
|
- const colorMode = await this.storage.get('currentColorMode', ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);
|
|
|
- this.isDarkMode = colorMode === ConfigurationConstant.ColorMode.COLOR_MODE_DARK;
|
|
|
- }
|
|
|
+ context.getApplicationContext().setColorMode(colorMode);
|
|
|
} catch (err) {
|
|
|
- console.error('Failed to get color mode:', err);
|
|
|
+ console.error('Failed to initialize color mode:', err);
|
|
|
}
|
|
|
}
|
|
|
|