diff --git a/packages/@core/preferences/src/types.ts b/packages/@core/preferences/src/types.ts
index e640edb5..f2094073 100644
--- a/packages/@core/preferences/src/types.ts
+++ b/packages/@core/preferences/src/types.ts
@@ -267,6 +267,8 @@ interface WidgetPreferences {
sidebarToggle: boolean;
/** 是否显示主题切换部件 */
themeToggle: boolean;
+ /** 是否显示返回导航部件 */
+ backNavigation: boolean;
}
interface Preferences {
diff --git a/packages/effects/layouts/src/basic/header/header.vue b/packages/effects/layouts/src/basic/header/header.vue
index 97387460..59276af9 100644
--- a/packages/effects/layouts/src/basic/header/header.vue
+++ b/packages/effects/layouts/src/basic/header/header.vue
@@ -11,6 +11,7 @@ import {
LanguageToggle,
PreferencesButton,
ThemeToggle,
+ BackNavigation,
} from '../../widgets';
interface Props {
@@ -43,7 +44,8 @@ const rightSlots = computed(() => {
list.push({
index: REFERENCE_VALUE,
name: 'global-search',
- });
+ }
+ );
}
if (preferencesButtonPosition.value.header) {
@@ -76,6 +78,12 @@ const rightSlots = computed(() => {
name: 'notification',
});
}
+ if (preferences.widget.backNavigation) {
+ list.push({
+ index: REFERENCE_VALUE + 60,
+ name: 'back-navigation',
+ });
+ }
Object.keys(slots).forEach((key) => {
const name = key.split('-');
@@ -164,6 +172,9 @@ function clearPreferencesAndLogout() {
+
+
+
diff --git a/packages/effects/layouts/src/widgets/back-navigation.vue b/packages/effects/layouts/src/widgets/back-navigation.vue
new file mode 100644
index 00000000..d2b51266
--- /dev/null
+++ b/packages/effects/layouts/src/widgets/back-navigation.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/effects/layouts/src/widgets/index.ts b/packages/effects/layouts/src/widgets/index.ts
index f6a4a7ba..9b0b9be7 100644
--- a/packages/effects/layouts/src/widgets/index.ts
+++ b/packages/effects/layouts/src/widgets/index.ts
@@ -9,3 +9,4 @@ export * from './notification';
export * from './preferences';
export * from './theme-toggle';
export * from './user-dropdown';
+export { default as BackNavigation } from './back-navigation.vue';