diff --git a/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js b/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js index f1221540..f293fc75 100644 --- a/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js +++ b/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js @@ -28,7 +28,7 @@ const _addAccessTag = (arr) => { } }; -export const addAccessTag = (menus) => { +export const transform = (menus) => { const originData = unref(menus); _addAccessTag(originData); return originData; diff --git a/packages/fes-plugin-layout/src/runtime/helpers/pluginLocale.js b/packages/fes-plugin-layout/src/runtime/helpers/pluginLocale.js new file mode 100644 index 00000000..279ea2d4 --- /dev/null +++ b/packages/fes-plugin-layout/src/runtime/helpers/pluginLocale.js @@ -0,0 +1,33 @@ +import { unref, computed } from 'vue'; +import { plugin } from '@@/core/coreExports'; + + +const transTitle = (name) => { + const sharedLocale = plugin.getShared('locale'); + if (sharedLocale) { + const { t } = sharedLocale.useI18n(); + return t(name); + } + return name; +}; + + +const _transform = (arr) => { + if (Array.isArray(arr)) { + arr.forEach((item) => { + if (item.title) { + item._title = item.title; + item.title = computed(() => transTitle(item._title)); + } + if (item.children && item.children.length > 0) { + _transform(item.children); + } + }); + } +}; + +export const transform = (menus) => { + const originData = unref(menus); + _transform(originData); + return originData; +}; diff --git a/packages/fes-plugin-layout/src/runtime/views/Menu.vue b/packages/fes-plugin-layout/src/runtime/views/Menu.vue index ce330873..b5fcf0b8 100644 --- a/packages/fes-plugin-layout/src/runtime/views/Menu.vue +++ b/packages/fes-plugin-layout/src/runtime/views/Menu.vue @@ -7,7 +7,7 @@ > @@ -47,11 +47,12 @@