diff --git a/.prettierrc b/.prettierrc index 6fb8cd2..4d27424 100644 --- a/.prettierrc +++ b/.prettierrc @@ -4,4 +4,4 @@ "singleQuote": true, "printWidth": 80, "endOfLine": "auto" -} \ No newline at end of file +} diff --git a/src/api/app/user.js b/src/api/app/user.js index 3b3a028..9a0e019 100644 --- a/src/api/app/user.js +++ b/src/api/app/user.js @@ -4,7 +4,7 @@ import getUrl from '@/assets/js/utils/get-url' // 登录 export function login(data) { return request({ - url: getUrl('/user/login', 0), + url: getUrl('/sysUserEx/baseLogin'), method: 'post', data }) @@ -13,17 +13,24 @@ export function login(data) { // 获取个人信息 export function getInfo(token) { return request({ - url: getUrl('/user/info', 0), - method: 'get', - params: { token } + url: getUrl('/sysUserEx/getUserInfo'), + method: 'get' + // params: { token } + }) +} +// 获取菜单 +export function getRouters(token) { + return request({ + url: getUrl('/sysUserEx/getLoginUserMenu'), + method: 'get' + // params: { token } }) } - // 登出 export function logout() { return request({ - url: getUrl('/user/logout', 0), - method: 'post' + url: getUrl('/sysUserEx/logout'), + method: 'get' }) } // 测试示例 diff --git a/src/assets/js/utils/permission.js b/src/assets/js/utils/permission.js index 3aa5f78..57c8ae0 100644 --- a/src/assets/js/utils/permission.js +++ b/src/assets/js/utils/permission.js @@ -4,28 +4,55 @@ import NProgress from 'nprogress' // progress bar import 'nprogress/nprogress.css' // progress bar style import { getToken } from '@/assets/js/utils/auth' // get token from cookie import getPageTitle from '@/assets/js/utils/get-page-title' +import { Message } from 'element-ui' NProgress.configure({ showSpinner: false }) // NProgress Configuration -const whiteList = ['/authentication', '/home', '/404'] // no redirect whitelist -router.beforeEach(async (to, from, next) => { - sessionStorage.setItem('token', 'MockToken') - document.title = getPageTitle(to.meta.title) - const hasToken = getToken() - if (hasToken) { - next() - } else { - if (to.path.indexOf('/home') !== -1) { - next(`/authentication?redirect=${to.path}`) +const whiteList = ['/login', '/authentication', '/404'] // no redirect whitelist + +console.log('token:' + getToken()) + +router.beforeEach((to, from, next) => { + NProgress.start() + if (getToken()) { + console.log(getToken()) + /* has token*/ + if (to.path === '/login') { + next({ path: '/login' }) + NProgress.done() } else { - if (whiteList.indexOf(to.path) !== -1) { - next() - } else { - next() - NProgress.done() - } + // 判断当前用户是否已拉取完user_info信息 + store + .dispatch('user/getInfo') + .then(() => { + console.log(to) + store.dispatch('app/GenerateRoutes').then(accessRoutes => { + // // 根据roles权限生成可访问的路由表 + // router.addRoutes(accessRoutes) // 动态添加可访问路由表 + // // getArea();//初始化省市区划配置信息 + // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + next() + }) + }) + .catch(err => { + store.dispatch('user/logout').then(() => { + Message.error(err) + next({ path: '/ogin' }) + }) + }) + } + } else { + console.log('没有token') + console.log(to.path) + console.log(to.fullPath) + // 没有token + if (whiteList.indexOf(to.path) !== -1) { + // 在免登录白名单,直接进入 + next() + } else { + next(`/login`) // 否则全部重定向到登录页 + NProgress.done() } } }) - router.afterEach(() => { // finish progress bar NProgress.done() diff --git a/src/assets/js/utils/request.js b/src/assets/js/utils/request.js index 307bda1..23c3ba5 100644 --- a/src/assets/js/utils/request.js +++ b/src/assets/js/utils/request.js @@ -29,7 +29,7 @@ service.interceptors.request.use( if (store.getters.token) { // config.headers['sid'] = getToken() config.headers['sysType'] = '3' - config.headers['auth'] = getToken() + config.headers['sid'] = getToken() } if (loading) { endLoading() diff --git a/src/assets/sass/common.css b/src/assets/sass/common.css index 683989a..e396eb1 100644 --- a/src/assets/sass/common.css +++ b/src/assets/sass/common.css @@ -342,7 +342,7 @@ h3 { #app .main-container { min-height: 100%; transition: margin-left 0.28s; - margin-left: 210px; + /*margin-left: 210px;*/ position: relative; } diff --git a/src/assets/sass/sidebar.scss b/src/assets/sass/sidebar.scss index 8e82ff7..66b3238 100644 --- a/src/assets/sass/sidebar.scss +++ b/src/assets/sass/sidebar.scss @@ -8,7 +8,7 @@ .sidebar-container { transition: width 0.28s; - width: $sideBarWidth !important; + //width: $sideBarWidth !important; background-color: #f0f4fa; border: none; padding: 10px; diff --git a/src/components/RenderDialog/index.vue b/src/components/RenderDialog/index.vue index fbb7b2f..650472e 100644 --- a/src/components/RenderDialog/index.vue +++ b/src/components/RenderDialog/index.vue @@ -1,13 +1,23 @@