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); } } })