3
3
<h3 class =" drawer-title" >主题风格设置</h3 >
4
4
5
5
<div class =" setting-drawer-block-checbox" >
6
- <div class =" setting-drawer-block-checbox-item" @click =" handleTheme('theme-dark' )" >
6
+ <div class =" setting-drawer-block-checbox-item" @click =" handleTheme(SideThemeEnum.DARK )" >
7
7
<img src =" @/assets/images/dark.svg" alt =" dark" />
8
8
<div v-if =" sideTheme === 'theme-dark'" class =" setting-drawer-block-checbox-selectIcon" style =" display : block ;" >
9
9
<i aria-label =" 图标: check" class =" anticon anticon-check" >
15
15
</i >
16
16
</div >
17
17
</div >
18
- <div class =" setting-drawer-block-checbox-item" @click =" handleTheme('theme-light' )" >
18
+ <div class =" setting-drawer-block-checbox-item" @click =" handleTheme(SideThemeEnum.LIGHT )" >
19
19
<img src =" @/assets/images/light.svg" alt =" light" />
20
20
<div v-if =" sideTheme === 'theme-light'" class =" setting-drawer-block-checbox-selectIcon" style =" display : block ;" >
21
21
<i aria-label =" 图标: check" class =" anticon anticon-check" >
@@ -95,6 +95,7 @@ import usePermissionStore from '@/store/modules/permission'
95
95
import { handleThemeStyle } from ' @/utils/theme'
96
96
import { ComponentInternalInstance } from " vue" ;
97
97
import { SettingTypeEnum } from " @/enums/SettingTypeEnum" ;
98
+ import { SideThemeEnum } from " @/enums/SideThemeEnum" ;
98
99
99
100
const { proxy } = getCurrentInstance () as ComponentInternalInstance ;
100
101
const appStore = useAppStore ()
@@ -114,6 +115,13 @@ const isDark = useDark({
114
115
valueDark: ' dark' ,
115
116
valueLight: ' light' ,
116
117
});
118
+ watch (isDark , ()=> {
119
+ if (isDark .value ) {
120
+ settingsStore .changeSetting ({ key: SettingTypeEnum .SIDE_THEME , value: SideThemeEnum .DARK })
121
+ } else {
122
+ settingsStore .changeSetting ({ key: SettingTypeEnum .SIDE_THEME , value: sideTheme .value })
123
+ }
124
+ })
117
125
const toggleDark = () => useToggle (isDark );
118
126
119
127
/** 是否需要topNav */
@@ -166,8 +174,13 @@ const themeChange = (val: string | null) => {
166
174
}
167
175
}
168
176
const handleTheme = (val : string ) => {
169
- settingsStore .changeSetting ({ key: SettingTypeEnum .SIDE_THEME , value: val })
170
177
sideTheme .value = val ;
178
+ if (isDark .value && val === SideThemeEnum .LIGHT ) {
179
+ // 暗黑模式颜色不变
180
+ settingsStore .changeSetting ({ key: SettingTypeEnum .SIDE_THEME , value: SideThemeEnum .DARK })
181
+ return
182
+ }
183
+ settingsStore .changeSetting ({ key: SettingTypeEnum .SIDE_THEME , value: val })
171
184
}
172
185
const saveSetting = () => {
173
186
proxy ?.$modal .loading (" 正在保存到本地,请稍候..." );
0 commit comments