From d36ec65feda8c245760c8035d45de5e32974614d Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Tue, 10 Dec 2024 14:02:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E8=AF=81=E4=B9=A6=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 8 ++ src/permission.js | 2 +- src/router/index.js | 183 +++++++++++++++++++++-------------------- src/utils/config.js | 12 +-- src/views/register.vue | 127 +++++++++++++++++++--------- vue.config.js | 2 +- 6 files changed, 198 insertions(+), 136 deletions(-) diff --git a/src/App.vue b/src/App.vue index 523ffef3..12b9c776 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,6 +9,7 @@ import ThemePicker from "@/components/ThemePicker"; import { mapActions } from "vuex"; import { get } from "@/utils/config"; +import { setToken } from "@/utils/auth"; // import AlertNotification from "@/views/warning/AlertNotification.vue"; @@ -17,6 +18,13 @@ export default { components: { ThemePicker }, created() { get(); + const originHref = window.location.href; + console.log(originHref, "originHref----"); + if (originHref.indexOf("token") !== -1) { + const token = originHref.split("token"); + setToken(token[1].slice(1)); + this.$router.push({ path: "/" }); + } }, metaInfo() { return { diff --git a/src/permission.js b/src/permission.js index e34a85c0..2b6f1d51 100644 --- a/src/permission.js +++ b/src/permission.js @@ -50,7 +50,7 @@ router.beforeEach((to, from, next) => { // 在免登录白名单,直接进入 next(); } else { - next(`/login?redirect=${encodeURIComponent(to.fullPath)}`); // 否则全部重定向到登录页 + next(`/glweb/login?redirect=${encodeURIComponent(to.fullPath)}`); // 否则全部重定向到登录页 NProgress.done(); } } diff --git a/src/router/index.js b/src/router/index.js index 7c7c95c7..f3a8b35e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,10 +1,10 @@ -import Vue from 'vue' -import Router from 'vue-router' +import Vue from "vue"; +import Router from "vue-router"; -Vue.use(Router) +Vue.use(Router); /* Layout */ -import Layout from '@/layout' +import Layout from "@/layout"; /** * Note: 路由配置项 @@ -31,158 +31,159 @@ import Layout from '@/layout' // 公共路由 export const constantRoutes = [ { - path: '/redirect', + path: "/redirect", component: Layout, hidden: true, children: [ { - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect') - } - ] + path: "/redirect/:path(.*)", + component: () => import("@/views/redirect"), + }, + ], }, { - path: '/login', - component: () => import('@/views/login1'), - hidden: true + path: "/login", + component: () => import("@/views/login1"), + hidden: true, }, { - path: '/register', - component: () => import('@/views/register1'), - hidden: true + path: "/register", + component: () => import("@/views/register1"), + hidden: true, }, { - path: '/404', - component: () => import('@/views/error/404'), - hidden: true + path: "/404", + component: () => import("@/views/error/404"), + hidden: true, }, { - path: '/401', - component: () => import('@/views/error/401'), - hidden: true + path: "/401", + component: () => import("@/views/error/401"), + hidden: true, }, { - path: '', + path: "", component: Layout, - redirect: 'index', + redirect: "index", children: [ { - path: 'index', - component: () => import('@/views/index'), - name: 'Index', - meta: { title: '首页', icon: 'dashboard', affix: true } - } - ] + path: "index", + component: () => import("@/views/index"), + name: "Index", + meta: { title: "首页", icon: "dashboard", affix: true }, + }, + ], }, { - path: '/qrCode/qrCodePage', - component: () => import('@/views/qrCode/qrCode'), - hidden: true + path: "/qrCode/qrCodePage", + component: () => import("@/views/qrCode/qrCode"), + hidden: true, }, { - path: '/user', + path: "/user", component: Layout, hidden: true, - redirect: 'noredirect', + redirect: "noredirect", children: [ { - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { title: '个人中心', icon: 'user' } - } - ] - } -] + path: "profile", + component: () => import("@/views/system/user/profile/index"), + name: "Profile", + meta: { title: "个人中心", icon: "user" }, + }, + ], + }, +]; // 动态路由,基于用户权限动态去加载 export const dynamicRoutes = [ { - path: '/system/user-auth', + path: "/system/user-auth", component: Layout, hidden: true, - permissions: ['system:user:edit'], + permissions: ["system:user:edit"], children: [ { - path: 'role/:userId(\\d+)', - component: () => import('@/views/system/user/authRole'), - name: 'AuthRole', - meta: { title: '分配角色', activeMenu: '/system/user' } - } - ] + path: "role/:userId(\\d+)", + component: () => import("@/views/system/user/authRole"), + name: "AuthRole", + meta: { title: "分配角色", activeMenu: "/system/user" }, + }, + ], }, { - path: '/system/role-auth', + path: "/system/role-auth", component: Layout, hidden: true, - permissions: ['system:role:edit'], + permissions: ["system:role:edit"], children: [ { - path: 'user/:roleId(\\d+)', - component: () => import('@/views/system/role/authUser'), - name: 'AuthUser', - meta: { title: '分配用户', activeMenu: '/system/role' } - } - ] + path: "user/:roleId(\\d+)", + component: () => import("@/views/system/role/authUser"), + name: "AuthUser", + meta: { title: "分配用户", activeMenu: "/system/role" }, + }, + ], }, { - path: '/system/dict-data', + path: "/system/dict-data", component: Layout, hidden: true, - permissions: ['system:dict:list'], + permissions: ["system:dict:list"], children: [ { - path: 'index/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { title: '字典数据', activeMenu: '/system/dict' } - } - ] + path: "index/:dictId(\\d+)", + component: () => import("@/views/system/dict/data"), + name: "Data", + meta: { title: "字典数据", activeMenu: "/system/dict" }, + }, + ], }, { - path: '/monitor/job-log', + path: "/monitor/job-log", component: Layout, hidden: true, - permissions: ['monitor:job:list'], + permissions: ["monitor:job:list"], children: [ { - path: 'index/:jobId(\\d+)', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { title: '调度日志', activeMenu: '/monitor/job' } - } - ] + path: "index/:jobId(\\d+)", + component: () => import("@/views/monitor/job/log"), + name: "JobLog", + meta: { title: "调度日志", activeMenu: "/monitor/job" }, + }, + ], }, { - path: '/tool/gen-edit', + path: "/tool/gen-edit", component: Layout, hidden: true, - permissions: ['tool:gen:edit'], + permissions: ["tool:gen:edit"], children: [ { - path: 'index/:tableId(\\d+)', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '修改生成配置', activeMenu: '/tool/gen' } - } - ] - } -] + path: "index/:tableId(\\d+)", + component: () => import("@/views/tool/gen/editTable"), + name: "GenEdit", + meta: { title: "修改生成配置", activeMenu: "/tool/gen" }, + }, + ], + }, +]; // 防止连续点击多次路由报错 let routerPush = Router.prototype.push; let routerReplace = Router.prototype.replace; // push Router.prototype.push = function push(location) { - return routerPush.call(this, location).catch(err => err) -} + return routerPush.call(this, location).catch((err) => err); +}; // replace Router.prototype.replace = function push(location) { - return routerReplace.call(this, location).catch(err => err) -} + return routerReplace.call(this, location).catch((err) => err); +}; export default new Router({ - mode: 'history', // 去掉url中的# + mode: "history", // 去掉url中的# scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes -}) + routes: constantRoutes, + base: "/glweb", +}); diff --git a/src/utils/config.js b/src/utils/config.js index 9c1f849e..e0758a8b 100644 --- a/src/utils/config.js +++ b/src/utils/config.js @@ -1,11 +1,11 @@ -import { getConfig } from '@/api/config'; +import { getConfig } from "@/api/config"; export function get() { getConfig() - .then(response => { - console.log(response) - localStorage.setItem('systemConfig', JSON.stringify(response.data)); + .then((response) => { + console.log(response); + localStorage.setItem("systemConfig", JSON.stringify(response.data)); }) - .catch(error => { - console.error('Failed to fetch config:', error); + .catch((error) => { + console.error("Failed to fetch config:", error); }); } diff --git a/src/views/register.vue b/src/views/register.vue index 9f259601..fa73ccd3 100644 --- a/src/views/register.vue +++ b/src/views/register.vue @@ -1,10 +1,24 @@