mirror of
				https://github.com/pure-admin/vue-pure-admin.git
				synced 2025-11-03 13:44:47 +08:00 
			
		
		
		
	perf: tag
This commit is contained in:
		
							parent
							
								
									a8a3e5b303
								
							
						
					
					
						commit
						02c3a88ed6
					
				@ -1,15 +1,17 @@
 | 
			
		||||
import {
 | 
			
		||||
  Router,
 | 
			
		||||
  RouteMeta,
 | 
			
		||||
  createRouter,
 | 
			
		||||
  RouteComponent,
 | 
			
		||||
  RouteRecordName,
 | 
			
		||||
  createWebHashHistory,
 | 
			
		||||
  RouteRecordNormalized
 | 
			
		||||
} from "vue-router";
 | 
			
		||||
import { RouteConfigs } from "/@/layout/types";
 | 
			
		||||
import { split, uniqBy } from "lodash-es";
 | 
			
		||||
import { openLink } from "/@/utils/link";
 | 
			
		||||
import NProgress from "/@/utils/progress";
 | 
			
		||||
import { split, uniqBy } from "lodash-es";
 | 
			
		||||
import { useTimeoutFn } from "@vueuse/core";
 | 
			
		||||
import { RouteConfigs } from "/@/layout/types";
 | 
			
		||||
import { storageSession, storageLocal } from "/@/utils/storage";
 | 
			
		||||
import { usePermissionStoreHook } from "/@/store/modules/permission";
 | 
			
		||||
import { useMultiTagsStoreHook } from "/@/store/modules/multiTags";
 | 
			
		||||
@ -25,6 +27,7 @@ import externalLink from "./modules/externalLink";
 | 
			
		||||
import remainingRouter from "./modules/remaining";
 | 
			
		||||
import flowChartRouter from "./modules/flowchart";
 | 
			
		||||
import componentsRouter from "./modules/components";
 | 
			
		||||
 | 
			
		||||
// 动态路由
 | 
			
		||||
import { getAsyncRoutes } from "/@/api/routes";
 | 
			
		||||
import { transformI18n } from "/@/plugins/i18n";
 | 
			
		||||
@ -234,17 +237,30 @@ router.beforeEach((to, _from, next) => {
 | 
			
		||||
      if (usePermissionStoreHook().wholeRoutes.length === 0)
 | 
			
		||||
        initRouter(name.username).then((router: Router) => {
 | 
			
		||||
          if (!useMultiTagsStoreHook().getMultiTagsCache) {
 | 
			
		||||
            if (to.meta?.realPath) {
 | 
			
		||||
              to.meta.title = `No.${to.params?.id} - 详情信息`;
 | 
			
		||||
            }
 | 
			
		||||
            const handTag = (
 | 
			
		||||
              path: string,
 | 
			
		||||
              parentPath: string,
 | 
			
		||||
              name: RouteRecordName,
 | 
			
		||||
              meta: RouteMeta
 | 
			
		||||
            ): void => {
 | 
			
		||||
              useMultiTagsStoreHook().handleTags("push", {
 | 
			
		||||
              path: to.path,
 | 
			
		||||
              parentPath: to.matched[0]?.path,
 | 
			
		||||
              name: to.name,
 | 
			
		||||
              meta: to.meta
 | 
			
		||||
                path,
 | 
			
		||||
                parentPath,
 | 
			
		||||
                name,
 | 
			
		||||
                meta
 | 
			
		||||
              });
 | 
			
		||||
            };
 | 
			
		||||
            const parentPath = to.matched[0]?.path;
 | 
			
		||||
            if (to.meta?.realPath) {
 | 
			
		||||
              const { path, name, meta } = to.matched[0]?.children[0];
 | 
			
		||||
              handTag(path, parentPath, name, meta);
 | 
			
		||||
              return router.push(path);
 | 
			
		||||
            } else {
 | 
			
		||||
              const { path, name, meta } = to;
 | 
			
		||||
              handTag(path, parentPath, name, meta);
 | 
			
		||||
              return router.push(to.path);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          router.push(to.path);
 | 
			
		||||
          // 刷新页面更新标签栏与页面路由匹配
 | 
			
		||||
          const localRoutes = storageLocal.getItem("responsive-tags");
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ function toDetail(index: number) {
 | 
			
		||||
    parentPath: route.matched[0].path,
 | 
			
		||||
    name: "tabDetail",
 | 
			
		||||
    meta: {
 | 
			
		||||
      title: `No.${index} - 详情信息`,
 | 
			
		||||
      title: { zh: `No.${index} - 详情信息`, en: `No.${index} - DetailInfo` },
 | 
			
		||||
      showLink: false,
 | 
			
		||||
      i18n: false,
 | 
			
		||||
      dynamicLevel: 3,
 | 
			
		||||
@ -46,5 +46,17 @@ function toDetail(index: number) {
 | 
			
		||||
.tabs-container {
 | 
			
		||||
  padding: 10px;
 | 
			
		||||
  background: #fff;
 | 
			
		||||
 | 
			
		||||
  ::v-deep(.el-collapse-item__header) {
 | 
			
		||||
    line-height: 20px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ::v-deep(.el-collapse-item__wrap) {
 | 
			
		||||
    border-bottom: none;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  button {
 | 
			
		||||
    margin: 10px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user