82 lines
2.5 KiB
JavaScript
82 lines
2.5 KiB
JavaScript
import { createRouter, createWebHashHistory } from "vue-router";
|
||
import layout from "@/layout/index.vue";
|
||
import children from "../components/children/index.vue";
|
||
|
||
/**
|
||
* path 从跟开始每一级都要写
|
||
* name 和path一样
|
||
* redirect 重定向到哪一个路由,子级路由第一个的path,(没有子级路由不需要填写)
|
||
* component 路由对应的组件位置(必填,views下的文件,views和.vue不需要填写)
|
||
* meta参数说明
|
||
* title 显示在菜单和面包屑中名称
|
||
* model 归类到头部导航哪一级中(最外层路由需要填写)
|
||
* activeMenu 当前路由选中状态是哪个导航(isSubMenu:false时需要填写,设置isSubMenu:false路由的path)
|
||
* isMenu false 不显示当前菜单
|
||
* isLogin false 不需要登录可以访问
|
||
* breadcrumb false 当前页不显示在面包屑中
|
||
* isBreadcrumb false 当前页不显示面包屑
|
||
* isSubMenu false 当前菜单不显示子菜单
|
||
* isBack false 当前菜页不显示返回按钮
|
||
**/
|
||
|
||
const routes = [
|
||
{
|
||
path: "/login",
|
||
name: "/login",
|
||
meta: { title: "登录", isLogin: false },
|
||
component: () => import("@/views/login/index"),
|
||
},
|
||
{
|
||
path: "/",
|
||
name: "app",
|
||
redirect: "/index",
|
||
meta: { title: "首页", isLogin: true },
|
||
component: layout,
|
||
children: [
|
||
{
|
||
path: "/index",
|
||
name: "/index",
|
||
meta: {
|
||
title: "首页",
|
||
breadcrumb: false,
|
||
isMenu: false,
|
||
isSubMenu: false,
|
||
isBack: false,
|
||
},
|
||
component: () => import("@/views/index/index"),
|
||
},
|
||
],
|
||
},
|
||
{
|
||
path: "/404",
|
||
name: "/404",
|
||
meta: { title: "404", isBreadcrumb: false, isMenu: false },
|
||
component: () => import("@/views/404"),
|
||
},
|
||
{
|
||
path: "/api",
|
||
name: "/api",
|
||
meta: { title: "api", isBreadcrumb: false, isMenu: false, isLogin: false },
|
||
component: () => import("@/views/api/index"),
|
||
},
|
||
{
|
||
path: "/mobile",
|
||
meta: { isBreadcrumb: false, isMenu: false, isLogin: false },
|
||
component: children,
|
||
children: [],
|
||
},
|
||
];
|
||
const router = createRouter({
|
||
history: createWebHashHistory(import.meta.env.BASE_URL),
|
||
routes,
|
||
scrollBehavior(to, from, savedPosition) {
|
||
if (savedPosition) {
|
||
return savedPosition;
|
||
} else {
|
||
return { left: 0, top: 0 };
|
||
}
|
||
},
|
||
});
|
||
|
||
export default router;
|