init : 初始化仓库

This commit is contained in:
2024-08-18 22:21:18 +08:00
commit 934b3b7b74
366 changed files with 55148 additions and 0 deletions

213
src/router/index.js Normal file
View File

@@ -0,0 +1,213 @@
import { createRouter, createWebHistory } from "vue-router";
import NProgress from "nprogress";
import "nprogress/nprogress.css";
import Layout from "@/layout/index.vue";
import { getToken } from "../utils/auth";
import { usePermisstionStroe } from "@/stores/permisstion.js";
import { useAuthStore } from "@/stores/userstore.js";
NProgress.configure({ showSpinner: false });
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: "/login",
name: "login",
component: () => import("@/views/login/index.vue"),
meta: {
hidden: true,
title: "登录",
},
},
{
path: "/",
name: "layout",
component: Layout,
redirect: "/home",
meta: {
hidden: false,
},
children: [
{
path: "/home",
name: "home",
component: () => import("@/views/home/index.vue"),
meta: {
title: "首页",
breadcrumb: true,
},
},
{
path: "/auth",
name: "auth",
component: () => import("@/views/auth/index.vue"),
meta: {
title: "个人中心",
breadcrumb: true,
},
},
{
path: "/rapid/gen/edit/:tableId(\\d+)",
name: "genEdit",
component: () => import("@/views/rapid/gen/editTable.vue"),
meta: {
title: "数据库生成配置",
breadcrumb: true,
},
},
{
path: "/workflow/process/edit/:deploymentId",
name: "processEdit",
component: () => import("@/views/workflow/process/ProcessEdit.vue"),
meta: {
title: "编辑流程",
breadcrumb: true,
},
},
{
path: "/workflow/process",
name: "process",
component: () => import("@/views/workflow/process/index.vue"),
meta: {
title: "流程管理",
breadcrumb: true,
},
},
{
path: "/workflow/process/edit",
name: "processAdd",
component: () => import("@/views/workflow/process/ProcessEdit.vue"),
meta: {
title: "新增流程",
breadcrumb: true,
},
},
{
path: "/role-auth/user/:roleId(\\d+)",
name: "distribute",
component: () => import("@/views/system/role/DistributeUser.vue"),
meta: {
title: "角色分配用户",
breadcrumb: true,
},
},
{
path: "/post-auth/user/:postId(\\d+)",
name: "assignUser",
component: () => import("@/views/system/post/DistributeUser.vue"),
meta: {
title: "岗位分配用户",
breadcrumb: true,
},
},
{
path: "/menu-auth/role/:menuId(\\d+)",
name: "assignRole",
component: () => import("@/views/system/menu/DistributeRole.vue"),
meta: {
title: "菜单分配角色",
breadcrumb: true,
},
},
{
path: "/system/notice/inform/index/:queryId",
name: "notify",
component: () => import("@/views/system/notice/inform/index.vue"),
meta: {
title: "通知公告",
breadcrumb: false,
},
},
{
path: "/custom/query/sql/design/:queryId",
name: "sql",
component: () => import("@/views/custom-query/sql/SqlDesign.vue"),
meta: {
title: "自定义sql查询配置",
breadcrumb: true,
},
},
{
path: "/custom/query/data/adapter/design/:queryId",
name: "dataAdapter",
component: () =>
import("@/views/custom-query/data-adapter/DataAdapterDesign.vue"),
meta: {
title: "自定义数据适配器",
breadcrumb: true,
},
},
{
path: "/custom/query/echarts/design/:queryId",
name: "echarts",
component: () =>
import("@/views/custom-query/echarts-editor/EchartsDesign.vue"),
meta: {
title: "自定义echarts查询配置",
breadcrumb: true,
},
},
{
path: "/rapid/data/:dsId(\\d+)",
name: "rapid",
component: () => import("@/views/rapid/gen/index.vue"),
meta: {
title: "数据源关联数据",
breadcrumb: true,
},
},
],
},
{
path: "/topo/design/:queryId",
name: "topEdit",
component: () => import("@/views/custom-query/topo/topologyDesign.vue"),
meta: {
title: "top",
breadcrumb: false,
},
},
{
path: "/forbidden",
name: "forbidden",
component: () => import("@/views/forbidden/index.vue"),
},
],
});
router.beforeEach(async (to, form, next) => {
const permisstionStore = usePermisstionStroe();
const authStore = useAuthStore();
NProgress.start();
if (!getToken()) {
if (to.path === "/login" || to.path === "/forbidden") {
next();
NProgress.done();
} else {
next({ path: "/login" });
}
} else {
if (to.path === "/login") {
next("/");
NProgress.done();
} else {
permisstionStore.setIsLoadRoutes(true);
if (
permisstionStore.isLoadRoutes &&
permisstionStore.asyncRouters.length == 0
) {
await permisstionStore.setAsyncRouters();
await authStore.setUserInfo();
next({ ...to, replace: true });
} else {
next();
}
}
}
});
router.afterEach(() => {
NProgress.done();
});
export default router;