From c938f79f87c5e50214d89f3e0316e5e31f407eee Mon Sep 17 00:00:00 2001 From: sk1551 <15175617877@163.com> Date: Wed, 28 Oct 2020 11:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B6=E9=95=BF=E7=BB=B4=E6=8A=A4=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B0=83=E4=BC=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/permission.js | 194 +++---- ruoyi-ui/src/router/index.js | 12 + ruoyi-ui/src/views/benyi/child/index.vue | 5 +- .../src/views/benyi/child_preserve/index.vue | 476 ++++++++++++------ .../framework/config/SecurityConfig.java | 272 +++++----- .../resources/mybatis/benyi/ByChildMapper.xml | 3 +- 6 files changed, 577 insertions(+), 385 deletions(-) diff --git a/ruoyi-ui/src/permission.js b/ruoyi-ui/src/permission.js index 5a59fea77..ae4ca36a9 100644 --- a/ruoyi-ui/src/permission.js +++ b/ruoyi-ui/src/permission.js @@ -1,97 +1,97 @@ -/* - * @Author: your name - * @Date: 2020-09-01 20:25:37 - * @LastEditTime: 2020-09-01 20:27:37 - * @LastEditors: Please set LastEditors - * @Description: In User Settings Edit - * @FilePath: \ruoyi-ui\src\permission.js - */ -import router from './router' -import store from './store' -import { - Message -} from 'element-ui' -import NProgress from 'nprogress' -import 'nprogress/nprogress.css' -import { - getToken -} from '@/utils/auth' - -NProgress.configure({ - showSpinner: false -}) - -//const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] -const whiteList = ['/login', '/experience/apply/', '/experience/result/', '/experience/content/'] - -router.beforeEach((to, from, next) => { - NProgress.start() - if (getToken()) { - /* has token*/ - if (to.path === '/login') { - next({ - path: '/' - }) - NProgress.done() - } else { - if (store.getters.roles.length === 0) { - // 判断当前用户是否已拉取完user_info信息 - store.dispatch('GetInfo').then(res => { - // 拉取user_info - const roles = res.roles - store.dispatch('GenerateRoutes', { - roles - }).then(accessRoutes => { - // 测试 默认静态页面 - // store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => { - // 根据roles权限生成可访问的路由表 - router.addRoutes(accessRoutes) // 动态添加可访问路由表 - next({ - ...to, - replace: true - }) // hack方法 确保addRoutes已完成 - }) - }) - .catch(err => { - store.dispatch('FedLogOut').then(() => { - Message.error(err) - next({ - path: '/' - }) - }) - }) - } else { - next() - // 没有动态改变权限的需求可直接next() 删除下方权限判断 ↓ - // if (hasPermission(store.getters.roles, to.meta.roles)) { - // next() - // } else { - // next({ path: '/401', replace: true, query: { noGoBack: true }}) - // } - // 可删 ↑ - } - } - } else { - // 没有token - // if (whiteList.indexOf(to.path) !== -1 ||to.path.indexOf("/experience/apply/") != -1||to.path.indexOf("/experience/result/") != -1||to.path.indexOf("/experience/content/") != -1||to.path.indexOf("/activity") != -1||to.path.indexOf("/week") != -1) { - let whiteBool = false; - for (let path of whiteList) { - // console.log(to.path.indexOf(path) > -1); - if (to.path.indexOf(path) > -1) { - whiteBool = true; - break; - } - } - if (whiteBool) { - // 在免登录白名单,直接进入 - next() - } else { - next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页 - NProgress.done() - } - } -}) - -router.afterEach(() => { - NProgress.done() -}) +/* + * @Author: your name + * @Date: 2020-09-01 20:25:37 + * @LastEditTime: 2020-09-01 20:27:37 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: \ruoyi-ui\src\permission.js + */ +import router from './router' +import store from './store' +import { + Message +} from 'element-ui' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import { + getToken +} from '@/utils/auth' + +NProgress.configure({ + showSpinner: false +}) + +//const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] +const whiteList = ['/login', '/experience/apply/', '/experience/result/', '/experience/content/', '/benyi_child/child_preserve'] + +router.beforeEach((to, from, next) => { + NProgress.start() + if (getToken()) { + /* has token*/ + if (to.path === '/login') { + next({ + path: '/' + }) + NProgress.done() + } else { + if (store.getters.roles.length === 0) { + // 判断当前用户是否已拉取完user_info信息 + store.dispatch('GetInfo').then(res => { + // 拉取user_info + const roles = res.roles + store.dispatch('GenerateRoutes', { + roles + }).then(accessRoutes => { + // 测试 默认静态页面 + // store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => { + // 根据roles权限生成可访问的路由表 + router.addRoutes(accessRoutes) // 动态添加可访问路由表 + next({ + ...to, + replace: true + }) // hack方法 确保addRoutes已完成 + }) + }) + .catch(err => { + store.dispatch('FedLogOut').then(() => { + Message.error(err) + next({ + path: '/' + }) + }) + }) + } else { + next() + // 没有动态改变权限的需求可直接next() 删除下方权限判断 ↓ + // if (hasPermission(store.getters.roles, to.meta.roles)) { + // next() + // } else { + // next({ path: '/401', replace: true, query: { noGoBack: true }}) + // } + // 可删 ↑ + } + } + } else { + // 没有token + // if (whiteList.indexOf(to.path) !== -1 ||to.path.indexOf("/experience/apply/") != -1||to.path.indexOf("/experience/result/") != -1||to.path.indexOf("/experience/content/") != -1||to.path.indexOf("/activity") != -1||to.path.indexOf("/week") != -1) { + let whiteBool = false; + for (let path of whiteList) { + // console.log(to.path.indexOf(path) > -1); + if (to.path.indexOf(path) > -1) { + whiteBool = true; + break; + } + } + if (whiteBool) { + // 在免登录白名单,直接进入 + next() + } else { + next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页 + NProgress.done() + } + } +}) + +router.afterEach(() => { + NProgress.done() +}) \ No newline at end of file diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js index 5e8945bbd..0484abe36 100644 --- a/ruoyi-ui/src/router/index.js +++ b/ruoyi-ui/src/router/index.js @@ -89,6 +89,18 @@ export const constantRoutes = [{ import ('@/views/benyi/planweek/table'), hidden: true }, + { + path: '/benyi_child/child_preserve', + component: () => + import ('@/views/benyi/child_preserve/index'), + hidden: true, + children: [{ + path: '/benyi_child/child_preserve', + component: () => + import ('@/views/benyi/child_preserve/index'), + hidden: true + }, ] + }, { path: '/experience/apply/:id(\\d+)', component: () => diff --git a/ruoyi-ui/src/views/benyi/child/index.vue b/ruoyi-ui/src/views/benyi/child/index.vue index b54da295e..3ce9914db 100644 --- a/ruoyi-ui/src/views/benyi/child/index.vue +++ b/ruoyi-ui/src/views/benyi/child/index.vue @@ -868,12 +868,9 @@ export default { //console.log(domain); //this.user = response.data; this.inviteCode = - response.data.dept.deptName + - "幼儿信息维护链接" + "http://" + domain + - "/child_preserve/index/" + - response.data.dept.deptId; + "/benyi_child/child_preserve"; }); }, // 给家长发送链接 diff --git a/ruoyi-ui/src/views/benyi/child_preserve/index.vue b/ruoyi-ui/src/views/benyi/child_preserve/index.vue index 2b6d6c200..c74a2594b 100644 --- a/ruoyi-ui/src/views/benyi/child_preserve/index.vue +++ b/ruoyi-ui/src/views/benyi/child_preserve/index.vue @@ -1,5 +1,6 @@