123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { createRouter, createWebHashHistory } from "vue-router";
- import LayoutView from "../layout/index.vue";
- import LoginView from "../login/index.vue";
- import { getToken } from "@/utils/storage/sessionToken";
- import { loadingBar } from "@/plugin/naive-ui";
- const router = createRouter({
- history: createWebHashHistory(import.meta.env.BASE_URL),
- routes: [
- {
- path: "/",
- component: LayoutView,
- redirect: "/project",
- children: [
- {
- path: "/project",
- component: () => import("@/views/project/index.vue"),
- },
- {
- path: "/certificate/:taskId",
- props: true,
- component: () => import("@/views/project/certificate/index.vue"),
- },
- {
- path: "/scheme/:taskId",
- props: true,
- component: () => import("@/views/project/scheme/index.vue"),
- },
- {
- path: "/equipment",
- component: () => import("@/views/project/equipment/index.vue"),
- },
- {
- path: "/data_source",
- component: () => import("@/views/project/data/source/index.vue"),
- },
- {
- path: "/data_edit",
- component: () => import("@/views/project/data/edit/index.vue"),
- },
- {
- path: "/data_checkout",
- component: () => import("@/views/project/data/checkout/index.vue"),
- },
- {
- path: "/report_create/:taskId",
- props: true,
- component: () => import("@/views/project/report/create/index.vue"),
- },
- {
- path: "/report_edit/:taskId",
- props: true,
- component: () => import("@/views/project/report/edit/index.vue"),
- },
- {
- path: "/report_audit/:taskId",
- props: true,
- component: () => import("@/views/project/report/audit/index.vue"),
- },
- ],
- },
- {
- path: "/login",
- component: LoginView,
- },
- ],
- });
- // 全局前置路由守卫
- router.beforeEach((to, from, next) => {
- loadingBar.start();
- const token = getToken();
- if (to.path === "/login") {
- if (!token) {
- next();
- } else {
- next("/");
- }
- } else {
- if (!token) {
- next("/login");
- } else {
- next();
- }
- }
- });
- // 全局后置路由守卫
- router.afterEach(() => {
- loadingBar.finish();
- });
- export default router;
|