diff --git a/src/router/index.js b/src/router/index.js
index 529a4e8..00c439a 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -9,211 +9,216 @@ 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: '/cas/login',
- name: 'casLogin',
- component: () => import('@/views/cas-login/index.vue'),
- },
- {
- path: '/',
- name: 'layout',
- component: Layout,
- redirect: '/home',
- meta: {
- hidden: false
- },
- children: [
+ history: createWebHistory(import.meta.env.BASE_URL),
+ routes: [
{
- path: '/home',
- name: 'home',
- component: () => import('@/views/home/index.vue'),
- meta: {
- title: '首页',
- breadcrumb: true
- }
+ path: '/login',
+ name: 'login',
+ component: () => import('@/views/login/index.vue'),
+ meta: {
+ hidden: true,
+ title: '登录'
+ }
},
{
- path: '/auth',
- name: 'auth',
- component: () => import('@/views/auth/index.vue'),
- meta: {
- title: '个人中心',
- breadcrumb: true
- }
+ path: '/cas/login',
+ name: 'casLogin',
+ component: () => import('@/views/cas-login/index.vue'),
},
{
- path: '/rapid/gen/edit/:tableId(\\d+)',
- name: 'genEdit',
- component: () => import('@/views/rapid/gen/editTable.vue'),
- meta: {
- title: '数据库生成配置',
- breadcrumb: true
- }
+ 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+)/:roleName',
+ name: 'distribute',
+ component: () => import('@/views/system/role/DistributeUser.vue'),
+ meta: {
+ title: '角色分配用户',
+ breadcrumb: true
+ }
+ },
+ {
+ path: '/post-auth/user/:postId(\\d+)/:postName',
+ name: 'assignUser',
+ component: () => import('@/views/system/post/DistributeUser.vue'),
+ meta: {
+ title: '岗位分配用户',
+ breadcrumb: true
+ }
+ },
+ {
+ path: '/menu-auth/role/:menuId(\\d+)/:menuName',
+ 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: '/workflow/process/edit/:deploymentId',
- name: 'processEdit',
- component: () => import('@/views/workflow/process/ProcessEdit.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: '/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+)/:roleName',
- name: 'distribute',
- component: () => import('@/views/system/role/DistributeUser.vue'),
- meta: {
- title: '角色分配用户',
- breadcrumb: true
- }
- },
- {
- path: '/post-auth/user/:postId(\\d+)/:postName',
- name: 'assignUser',
- component: () => import('@/views/system/post/DistributeUser.vue'),
- meta: {
- title: '岗位分配用户',
- breadcrumb: true
- }
- },
- {
- path: '/menu-auth/role/:menuId(\\d+)/:menuName',
- 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'),
- }
- ]
+ 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 === '/cas/login' || to.path === '/forbidden') {
- next()
- NProgress.done()
+ const permisstionStore = usePermisstionStroe()
+ const authStore = useAuthStore()
+ NProgress.start()
+ if (!getToken()) {
+ if (to.path === '/login' || to.path === '/cas/login' || to.path === '/forbidden') {
+ next()
+ NProgress.done()
+ } else {
+ let path = window.location.pathname;
+ let query = window.location.search
+ sessionStorage.setItem('toView', JSON.stringify({
+ path: path,
+ query: query
+ }))
+ window.location.href = `${window.location.origin}/api/auth/cas/login`
+ // next({path: '/api/auth/cas/login'})
+ }
} else {
- sessionStorage.setItem('toView', JSON.stringify(to))
- window.location.href = `${window.location.origin}/api/auth/cas/login`
- // next({path: '/api/auth/cas/login'})
- }
- } else {
- if (to.path === '/login'|| to.path === '/cas/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()
- }
- }
+ if (to.path === '/login' || to.path === '/cas/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()
+ NProgress.done()
})
export default router
diff --git a/src/utils/request.js b/src/utils/request.js
index f9573b2..9c580c1 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -29,7 +29,8 @@ serveice.interceptors.response.use(response => {
if (response.request.responseType === 'blob' || response.request.responseType === 'arraybuffer') {
return response.data
}
- console.log("windows", window.location.pathname)
+ console.log("window.location.pathname", window.location.pathname)
+ console.log("windows", window.location.search)
return response.data
}, error => {
let response = error.response
@@ -43,8 +44,13 @@ serveice.interceptors.response.use(response => {
closeOnClickModal: false
}).then(() => {
removeToken()
- sessionStorage.setItem('toView', window.location.pathname)
- window.location = '/api/auth/cas/login'
+ let path = window.location.pathname;
+ let query = window.location.search
+ sessionStorage.setItem('toView', JSON.stringify({
+ path: path,
+ query: query
+ }))
+ window.location.href = `${window.location.origin}/api/auth/cas/login`
})
return Promise.reject('会话已过期,请重新登录')
case 402:
diff --git a/src/views/cas-login/index.vue b/src/views/cas-login/index.vue
index 996d4e5..e65559a 100644
--- a/src/views/cas-login/index.vue
+++ b/src/views/cas-login/index.vue
@@ -15,7 +15,14 @@ const init = () => {
})
if (authStore.casToken(tokenValue)) {
loading.close()
- router.push('/')
+ const toView = sessionStorage.getItem('toView')
+ console.log(toView, 'toView');
+ if (toView) {
+ let parse = JSON.parse(toView);
+ window.location.href = window.location.origin + parse.path + parse.query
+ } else {
+ router.push('/')
+ }
}
}
init()
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 679461a..cea4307 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -12,28 +12,28 @@
科研管理平台
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+