Merge pull request #148 from xiaoxian521/fix/router

fix: router
This commit is contained in:
啝裳 2021-12-13 21:34:29 +08:00 committed by GitHub
commit b251f8ff79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 5 deletions

View File

@ -2,7 +2,7 @@ import { Router, RouteMeta, createRouter, RouteRecordName } from "vue-router";
import { toRouteType } from "./types";
import { openLink } from "/@/utils/link";
import NProgress from "/@/utils/progress";
import { split, uniqBy } from "lodash-es";
import { split, uniqBy, find, findIndex } from "lodash-es";
import { constantRoutes } from "./modules";
import { transformI18n } from "/@/plugins/i18n";
import remainingRouter from "./modules/remaining";
@ -102,7 +102,7 @@ router.beforeEach((to: toRouteType, _from, next) => {
return router.push(refreshRedirect);
} else {
const { path } = to;
const index = remainingRouter.findIndex(v => {
const index = findIndex(remainingRouter, v => {
return v.path == path;
});
const routes =
@ -135,10 +135,13 @@ router.beforeEach((to: toRouteType, _from, next) => {
}
}
}
router.push(to.path);
router.push(to.fullPath);
// 刷新页面更新标签栏与页面路由匹配
const localRoutes = storageLocal.getItem("responsive-tags");
const optionsRoutes = router.options?.routes[0].children;
const home = find(router.options?.routes, function (route) {
return route.path === "/";
});
const optionsRoutes = [home, ...router.options?.routes[0].children];
const newLocalRoutes = [];
optionsRoutes.forEach(ors => {
localRoutes.forEach(lrs => {

View File

@ -59,7 +59,7 @@ export const useMultiTagsStore = defineStore({
return tag.path === tagVal?.path;
});
if (tagHasExits) return;
if (tagHasExits && !tagVal.query) return;
const meta = tagVal?.meta;
const dynamicLevel = meta?.dynamicLevel ?? -1;
if (dynamicLevel > 0) {

View File

@ -25,6 +25,7 @@ export type multiType = {
path: string;
parentPath: string;
name: string;
query: object;
meta: any;
};

View File

@ -12,6 +12,7 @@ function toDetail(index: number) {
path: `/tabs/detail`,
parentPath: route.matched[0].path,
name: "tabDetail",
query: { id: index },
meta: {
title: { zh: `No.${index} - 详情信息`, en: `No.${index} - DetailInfo` },
showLink: false,