diff --git a/index.html b/index.html
index 8f1e665..f0bdb4b 100644
--- a/index.html
+++ b/index.html
@@ -16,11 +16,18 @@
enabled. Please enable it to continue.
+
+
diff --git a/src/config/index.ts b/src/config/index.ts
index 9bd9cd7..9a44282 100644
--- a/src/config/index.ts
+++ b/src/config/index.ts
@@ -11,11 +11,13 @@ export default {
REQUEST_CACHE: false,
//语言
LANG: 'zh-cn',
+ //主题风格 浅色:light | 深色:dark | 跟随系统:follow
+ DARK: 'light',
//TokenName
TOKEN_NAME: "Authorization",
//Token前缀,注意最后有个空格,如不需要需设置空字符串
TOKEN_PREFIX: "Bearer ",
- //布局 默认:default | 通栏:header | 经典:menu | 功能坞:dock
+ //布局 分栏:column | 通栏:header | 经典:menu | 功能坞:dock
//dock将关闭标签和面包屑栏
- APP_LAYOUT: 'header',
+ APP_LAYOUT: 'column',
}
diff --git a/src/layout/components/dialog.vue b/src/layout/components/dialog.vue
new file mode 100644
index 0000000..2dd905f
--- /dev/null
+++ b/src/layout/components/dialog.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/src/layout/components/search.vue b/src/layout/components/search.vue
index 1dfba96..db8ac90 100644
--- a/src/layout/components/search.vue
+++ b/src/layout/components/search.vue
@@ -36,8 +36,6 @@ let menu = ref([])
let result = ref([])
let history = ref([])
-console.log(searchText)
-
onMounted(() => {
history.value = tools.data.get("SEARCH_HISTORY") || []
const menuTree = tools.data.get("MENU");
diff --git a/src/layout/components/setting.vue b/src/layout/components/setting.vue
index 1c3c412..73c8b6d 100644
--- a/src/layout/components/setting.vue
+++ b/src/layout/components/setting.vue
@@ -1,10 +1,13 @@
+ {{t('user.thememode')}}
+
+ 浅色
+ 深色
+ 跟随系统
+
-
-
-
-
+
@@ -20,10 +23,11 @@
-
+
+
@@ -32,7 +36,6 @@
-
@@ -50,10 +53,10 @@ let layout = ref(tools.data.get('APP_LAYOUT') || store.state.global.layout);
let menuIsCollapse = ref(store.state.global.menuIsCollapse);
let layoutTags = ref(store.state.global.layoutTags);
let lang = ref(tools.data.get('APP_LANG') || config.LANG);
-let dark = ref(tools.data.get('APP_DARK') || false);
+let dark = ref(localStorage.getItem('APP_DARK') || config.DARK,);
let colorList = ref(['#409EFF', '#009688', '#536dfe', '#ff5c93', '#c62f2f', '#fd726d']);
let colorPrimary = ref(tools.data.get('APP_COLOR') || '#409EFF');
-let weakMode = ref(tools.data.get('APP_WEAK') || false)
+let weakMode = ref(localStorage.getItem('APP_WEAK') || false)
watch(layout, (val) => {
tools.data.set("APP_LAYOUT", val);
@@ -68,23 +71,13 @@ watch(layoutTags, () => {
store.commit("TOGGLE_layoutTags")
})
-watch(dark, (val) => {
- if (val) {
- document.documentElement.classList.add("dark")
- tools.data.set("APP_DARK", val)
- } else {
- document.documentElement.classList.remove("dark")
- tools.data.remove("APP_DARK")
- }
-})
-
watch(weakMode, (val) => {
if (val) {
document.documentElement.classList.add("weak")
- tools.data.set("APP_WEAK", val)
+ localStorage.setItem("APP_WEAK", val)
} else {
document.documentElement.classList.remove("weak")
- tools.data.remove("APP_WEAK")
+ localStorage.removeItem("APP_WEAK")
}
})
@@ -107,7 +100,30 @@ watch(colorPrimary, (val) => {
}
tools.data.set("APP_COLOR", val);
})
+
+function themeClick(val) {
+ if (val == 'dark') {
+ document.documentElement.classList.add("dark")
+ localStorage.setItem("APP_DARK", val)
+ } else if(val == 'light') {
+ document.documentElement.classList.remove("dark")
+ localStorage.setItem("APP_DARK", val)
+ } else {
+ const systemTheme = window.matchMedia('(prefers-color-scheme: dark)')
+ if (systemTheme.matches) {
+ document.documentElement.classList.add("dark")
+ }else {
+ document.documentElement.classList.remove("dark")
+ }
+ localStorage.setItem("APP_DARK", val)
+ }
+ dark.value = val
+}
-
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 8bb00ab..67576fa 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -60,19 +60,12 @@
-
+
+

+
{{ config.APP_NAME }}
+