refactor: ♻️ i18n 工具类方法转换路由 title 方法名优化
Former-commit-id: 7c67972e944b06beec68a3f60fac85d3300bbdda
This commit is contained in:
@@ -7,10 +7,10 @@
|
|||||||
item.redirect === 'noredirect' || index === breadcrumbs.length - 1
|
item.redirect === 'noredirect' || index === breadcrumbs.length - 1
|
||||||
"
|
"
|
||||||
class="text-[var(--el-disabled-text-color)]"
|
class="text-[var(--el-disabled-text-color)]"
|
||||||
>{{ translateRouteTitleI18n(item.meta.title) }}</span
|
>{{ translateRouteTitle(item.meta.title) }}</span
|
||||||
>
|
>
|
||||||
<a v-else @click.prevent="handleLink(item)">
|
<a v-else @click.prevent="handleLink(item)">
|
||||||
{{ translateRouteTitleI18n(item.meta.title) }}
|
{{ translateRouteTitle(item.meta.title) }}
|
||||||
</a>
|
</a>
|
||||||
</el-breadcrumb-item>
|
</el-breadcrumb-item>
|
||||||
</transition-group>
|
</transition-group>
|
||||||
@@ -22,7 +22,7 @@ import { onBeforeMount, ref, watch } from "vue";
|
|||||||
import { useRoute, RouteLocationMatched } from "vue-router";
|
import { useRoute, RouteLocationMatched } from "vue-router";
|
||||||
import { compile } from "path-to-regexp";
|
import { compile } from "path-to-regexp";
|
||||||
import router from "@/router";
|
import router from "@/router";
|
||||||
import { translateRouteTitleI18n } from "@/utils/i18n";
|
import { translateRouteTitle } from "@/utils/i18n";
|
||||||
|
|
||||||
const currentRoute = useRoute();
|
const currentRoute = useRoute();
|
||||||
const pathCompile = (path: string) => {
|
const pathCompile = (path: string) => {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import { usePermissionStore } from "@/store/modules/permission";
|
import { usePermissionStore } from "@/store/modules/permission";
|
||||||
import variables from "@/styles/variables.module.scss";
|
import variables from "@/styles/variables.module.scss";
|
||||||
import { useAppStore } from "@/store/modules/app";
|
import { useAppStore } from "@/store/modules/app";
|
||||||
import { translateRouteTitleI18n } from "@/utils/i18n";
|
import { translateRouteTitle } from "@/utils/i18n";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
const activePath = computed(() => appStore.activeTopMenu);
|
const activePath = computed(() => appStore.activeTopMenu);
|
||||||
@@ -56,7 +56,7 @@ onMounted(() => {
|
|||||||
<span v-if="route.path === '/'"> 首页 </span>
|
<span v-if="route.path === '/'"> 首页 </span>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span v-if="route.meta && route.meta.title">
|
<span v-if="route.meta && route.meta.title">
|
||||||
{{ translateRouteTitleI18n(route.meta.title) }}
|
{{ translateRouteTitle(route.meta.title) }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import path from "path-browserify";
|
|||||||
|
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
|
||||||
import { translateRouteTitleI18n } from "@/utils/i18n";
|
import { translateRouteTitle } from "@/utils/i18n";
|
||||||
|
|
||||||
import { usePermissionStore } from "@/store/modules/permission";
|
import { usePermissionStore } from "@/store/modules/permission";
|
||||||
import { useTagsViewStore, TagView } from "@/store/modules/tagsView";
|
import { useTagsViewStore, TagView } from "@/store/modules/tagsView";
|
||||||
@@ -301,7 +301,7 @@ onMounted(() => {
|
|||||||
@click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''"
|
@click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''"
|
||||||
@contextmenu.prevent="openTagMenu(tag, $event)"
|
@contextmenu.prevent="openTagMenu(tag, $event)"
|
||||||
>
|
>
|
||||||
{{ translateRouteTitleI18n(tag.meta?.title) }}
|
{{ translateRouteTitle(tag.meta?.title) }}
|
||||||
<span
|
<span
|
||||||
v-if="!isAffix(tag)"
|
v-if="!isAffix(tag)"
|
||||||
class="tags-item-close"
|
class="tags-item-close"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// translate router.meta.title, be used in breadcrumb sidebar tagsview
|
// translate router.meta.title, be used in breadcrumb sidebar tagsview
|
||||||
import i18n from "@/lang/index";
|
import i18n from "@/lang/index";
|
||||||
|
|
||||||
export function translateRouteTitleI18n(title: any) {
|
export function translateRouteTitle(title: any) {
|
||||||
// 判断是否存在国际化配置,如果没有原生返回
|
// 判断是否存在国际化配置,如果没有原生返回
|
||||||
const hasKey = i18n.global.te("route." + title);
|
const hasKey = i18n.global.te("route." + title);
|
||||||
if (hasKey) {
|
if (hasKey) {
|
||||||
|
|||||||
Reference in New Issue
Block a user