diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue index d6579ff..bbd53cb 100644 --- a/src/layout/components/Settings/index.vue +++ b/src/layout/components/Settings/index.vue @@ -59,6 +59,13 @@ +
+ 显示页签图标 + + + +
+
固定 Header @@ -153,6 +160,7 @@ const saveSetting = () => { const settings = useStorage('layout-setting', defaultSettings); settings.value.topNav = storeSettings.value.topNav; settings.value.tagsView = storeSettings.value.tagsView; + settings.value.tagsIcon = storeSettings.value.tagsIcon; settings.value.fixedHeader = storeSettings.value.fixedHeader; settings.value.sidebarLogo = storeSettings.value.sidebarLogo; settings.value.dynamicTitle = storeSettings.value.dynamicTitle; diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue index a53b043..92e5f0a 100644 --- a/src/layout/components/TagsView/index.vue +++ b/src/layout/components/TagsView/index.vue @@ -5,13 +5,14 @@ v-for="tag in visitedViews" :key="tag.path" :data-path="tag.path" - :class="isActive(tag) ? 'active' : ''" + :class="{ 'active': isActive(tag), 'has-icon': tagsIcon }" :to="{ path: tag.path ? tag.path : '', query: tag.query, fullPath: tag.fullPath ? tag.fullPath : '' }" class="tags-view-item" :style="activeStyle(tag)" @click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''" @contextmenu.prevent="openMenu(tag, $event)" > + {{ tag.title }} @@ -51,6 +52,7 @@ const router = useRouter(); const visitedViews = computed(() => useTagsViewStore().getVisitedViews()); const routes = computed(() => usePermissionStore().getRoutes()); const theme = computed(() => useSettingsStore().theme); +const tagsIcon = computed(() => useSettingsStore().tagsIcon) watch(route, () => { addTags(); @@ -285,6 +287,9 @@ onMounted(() => { } } } + .tags-view-item.active.has-icon::before { + content: none !important; + } .contextmenu { margin: 0; background: var(--el-bg-color); diff --git a/src/settings.ts b/src/settings.ts index ff9c99d..5d53a23 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -27,6 +27,11 @@ const setting: DefaultSettings = { */ tagsView: true, + /** + * 显示页签图标 + */ + tagsIcon: false, + /** * 是否固定头部 */ @@ -42,14 +47,6 @@ const setting: DefaultSettings = { */ dynamicTitle: false, - /** - * @type {string | array} 'production' | ['production', 'development'] - * @description Need show err logs component. - * The default is only used in the production env - * If you want to also use it in dev, you can pass ['production', 'development'] - */ - errorLog: 'production', - /** * 是否开启动画 开启随机 关闭渐进渐出 */ diff --git a/src/store/modules/settings.ts b/src/store/modules/settings.ts index bcd237a..7d0a4c9 100644 --- a/src/store/modules/settings.ts +++ b/src/store/modules/settings.ts @@ -8,6 +8,7 @@ export const useSettingsStore = defineStore('setting', () => { const storageSetting = useStorage('layout-setting', { topNav: defaultSettings.topNav, tagsView: defaultSettings.tagsView, + tagsIcon: defaultSettings.tagsIcon, fixedHeader: defaultSettings.fixedHeader, sidebarLogo: defaultSettings.sidebarLogo, dynamicTitle: defaultSettings.dynamicTitle, @@ -20,6 +21,7 @@ export const useSettingsStore = defineStore('setting', () => { const showSettings = ref(defaultSettings.showSettings); const topNav = ref(storageSetting.value.topNav); const tagsView = ref(storageSetting.value.tagsView); + const tagsIcon = ref(storageSetting.value.tagsIcon); const fixedHeader = ref(storageSetting.value.fixedHeader); const sidebarLogo = ref(storageSetting.value.sidebarLogo); const dynamicTitle = ref(storageSetting.value.dynamicTitle); @@ -37,6 +39,7 @@ export const useSettingsStore = defineStore('setting', () => { showSettings, topNav, tagsView, + tagsIcon, fixedHeader, sidebarLogo, dynamicTitle, diff --git a/src/types/global.d.ts b/src/types/global.d.ts index 229e181..a31f87c 100644 --- a/src/types/global.d.ts +++ b/src/types/global.d.ts @@ -98,6 +98,10 @@ declare global { * 是否显示多标签导航 */ tagsView: boolean; + /** + * 显示页签图标 + */ + tagsIcon: boolean; /** * 是否固定头部 */ @@ -157,8 +161,6 @@ declare global { * false: 明亮模式 */ dark: boolean; - - errorLog: string; } } export {};