| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import { localCache } from '@/store'
- import { AppTheme } from '@/constants/enum'
- import plus from '@/utils/h5plus'
- /**
- * 系统主题类
- */
- export default new (class {
- constructor() {
- document.addEventListener('DOMContentLoaded', this.loadTheme, false);
- }
- /**
- * 加载主题
- */
- private loadTheme() {
- const theme = localCache.getValue('appTheme');
- const statusBarStyle = AppTheme[theme];
- document.documentElement.setAttribute('theme', theme);
- plus.setStatusBarStyle(statusBarStyle);
- document.removeEventListener('DOMContentLoaded', this.loadTheme);
- }
- /**
- * 设置主题
- * @param theme
- */
- setTheme(theme: keyof typeof AppTheme) {
- const statusBarStyle = AppTheme[theme];
- document.documentElement.setAttribute('theme', theme);
- localCache.setValue('appTheme', theme);
- if (statusBarStyle) {
- plus.setStatusBarStyle(statusBarStyle);
- }
- }
- })
|