diff --git a/src/interface/app.ts b/src/interface/app.ts
index 3190ac88..1027d8b8 100644
--- a/src/interface/app.ts
+++ b/src/interface/app.ts
@@ -34,7 +34,7 @@ interface OtherColor {
error: string;
}
-type NavMode = keyof typeof EnumNavMode;
+export type NavMode = keyof typeof EnumNavMode;
type NavTheme = keyof typeof EnumNavTheme;
interface NavStyle {
diff --git a/src/interface/index.ts b/src/interface/index.ts
index f0169007..b05beba3 100644
--- a/src/interface/index.ts
+++ b/src/interface/index.ts
@@ -1,2 +1,2 @@
export { UserInfo } from './business';
-export { ThemeSettings } from './app';
+export { ThemeSettings, NavMode } from './app';
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/DarkMode.vue b/src/layouts/BasicLayout/components/SettingDrawer/components/DarkMode/index.vue
similarity index 100%
rename from src/layouts/BasicLayout/components/SettingDrawer/components/DarkMode.vue
rename to src/layouts/BasicLayout/components/SettingDrawer/components/DarkMode/index.vue
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode.vue b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode.vue
deleted file mode 100644
index 36e7e7d4..00000000
--- a/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode.vue
+++ /dev/null
@@ -1,8 +0,0 @@
-
- 导航栏模式
-
-
-
-
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/components/NavType.vue b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/components/NavType.vue
new file mode 100644
index 00000000..c9f01db6
--- /dev/null
+++ b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/components/NavType.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+ {{ EnumNavMode[mode] }}
+
+
+
+
+
+
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/components/index.ts b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/components/index.ts
new file mode 100644
index 00000000..1ffab7cd
--- /dev/null
+++ b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/components/index.ts
@@ -0,0 +1,3 @@
+import NavType from './NavType.vue';
+
+export { NavType };
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/index.vue b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/index.vue
new file mode 100644
index 00000000..360801be
--- /dev/null
+++ b/src/layouts/BasicLayout/components/SettingDrawer/components/NavMode/index.vue
@@ -0,0 +1,36 @@
+
+ 导航栏模式
+
+
+
+
+
+
+
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/SystemTheme.vue b/src/layouts/BasicLayout/components/SettingDrawer/components/SystemTheme.vue
deleted file mode 100644
index 4bf35db3..00000000
--- a/src/layouts/BasicLayout/components/SettingDrawer/components/SystemTheme.vue
+++ /dev/null
@@ -1,22 +0,0 @@
-
- 系统主题
-
-
-
-
-
-
-
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/SystemTheme/index.vue b/src/layouts/BasicLayout/components/SettingDrawer/components/SystemTheme/index.vue
new file mode 100644
index 00000000..5bd663bb
--- /dev/null
+++ b/src/layouts/BasicLayout/components/SettingDrawer/components/SystemTheme/index.vue
@@ -0,0 +1,18 @@
+
+ 系统主题
+
+
+
+
+
+
+
+
+
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/components/index.ts b/src/layouts/BasicLayout/components/SettingDrawer/components/index.ts
index bc40d377..5d26c194 100644
--- a/src/layouts/BasicLayout/components/SettingDrawer/components/index.ts
+++ b/src/layouts/BasicLayout/components/SettingDrawer/components/index.ts
@@ -1,5 +1,5 @@
-import DarkMode from './DarkMode.vue';
-import NavMode from './NavMode.vue';
-import SystemTheme from './SystemTheme.vue';
+import DarkMode from './DarkMode/index.vue';
+import NavMode from './NavMode/index.vue';
+import SystemTheme from './SystemTheme/index.vue';
export { DarkMode, NavMode, SystemTheme };
diff --git a/src/layouts/BasicLayout/components/SettingDrawer/index.vue b/src/layouts/BasicLayout/components/SettingDrawer/index.vue
index b5702e39..e4a52ca0 100644
--- a/src/layouts/BasicLayout/components/SettingDrawer/index.vue
+++ b/src/layouts/BasicLayout/components/SettingDrawer/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/store/modules/app/index.ts b/src/store/modules/app/index.ts
index 74cce268..a967dff2 100644
--- a/src/store/modules/app/index.ts
+++ b/src/store/modules/app/index.ts
@@ -1,7 +1,7 @@
import { defineStore } from 'pinia';
import type { GlobalThemeOverrides } from 'naive-ui';
import { themeSettings } from '@/settings';
-import type { ThemeSettings } from '@/interface';
+import type { ThemeSettings, NavMode } from '@/interface';
import { store } from '../../index';
import { getHoverAndPressedColor } from './helpers';
@@ -84,6 +84,10 @@ const appStore = defineStore({
/** 设置系统主题颜色 */
setThemeColor(color: string) {
this.themeSettings.themeColor = color;
+ },
+ /** 设置导航栏模式 */
+ setNavMode(mode: NavMode) {
+ this.themeSettings.navStyle.mode = mode;
}
}
});