|  | @@ -5,67 +5,48 @@ import NProgress from 'nprogress' // progress bar
 | 
	
		
			
				|  |  |  import 'nprogress/nprogress.css' // progress bar style
 | 
	
		
			
				|  |  |  import { getToken } from '@/utils/auth' // get token from cookie
 | 
	
		
			
				|  |  |  import getPageTitle from '@/utils/get-page-title'
 | 
	
		
			
				|  |  | -import Cookies from 'js-cookie';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  NProgress.configure({ showSpinner: false }) // NProgress Configuration
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const whiteList = ['/login'] // no redirect whitelist
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -router.beforeEach(async(to, from, next) => {
 | 
	
		
			
				|  |  | -    // start progress bar
 | 
	
		
			
				|  |  | -    NProgress.start()
 | 
	
		
			
				|  |  | -        // set page title
 | 
	
		
			
				|  |  | -    document.title = getPageTitle(to.meta.title)
 | 
	
		
			
				|  |  | -        //next();
 | 
	
		
			
				|  |  | -    NProgress.done()
 | 
	
		
			
				|  |  | -    const hasToken = getToken();
 | 
	
		
			
				|  |  | -    const jId = Cookies.get('JSESSSIONID');
 | 
	
		
			
				|  |  | -    if (hasToken) {
 | 
	
		
			
				|  |  | -        if (!jId) {
 | 
	
		
			
				|  |  | -            store.dispatch('user/setJsessionId').then(res => {
 | 
	
		
			
				|  |  | -                if (to.path === '/login') {
 | 
	
		
			
				|  |  | -                    // if is logged in, redirect to the home page
 | 
	
		
			
				|  |  | -                    next({ path: '/' })
 | 
	
		
			
				|  |  | -                    NProgress.done()
 | 
	
		
			
				|  |  | -                } else {
 | 
	
		
			
				|  |  | -                    try {
 | 
	
		
			
				|  |  | -                        next()
 | 
	
		
			
				|  |  | -                    } catch (error) {
 | 
	
		
			
				|  |  | -                        Message.error(error || 'Has Error')
 | 
	
		
			
				|  |  | -                        next(`/login?redirect=${to.path}`)
 | 
	
		
			
				|  |  | -                        NProgress.done()
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            if (to.path === '/login') {
 | 
	
		
			
				|  |  | -                // if is logged in, redirect to the home page
 | 
	
		
			
				|  |  | -                next({ path: '/' })
 | 
	
		
			
				|  |  | -                NProgress.done()
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                try {
 | 
	
		
			
				|  |  | -                    next()
 | 
	
		
			
				|  |  | -                } catch (error) {
 | 
	
		
			
				|  |  | -                    Message.error(error || 'Has Error')
 | 
	
		
			
				|  |  | -                    next(`/login?redirect=${to.path}`)
 | 
	
		
			
				|  |  | -                    NProgress.done()
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +router.beforeEach(async (to, from, next) => {
 | 
	
		
			
				|  |  | +  // start progress bar
 | 
	
		
			
				|  |  | +  NProgress.start()
 | 
	
		
			
				|  |  | +  // set page title
 | 
	
		
			
				|  |  | +  document.title = getPageTitle(to.meta.title)
 | 
	
		
			
				|  |  | +  next();
 | 
	
		
			
				|  |  | +  NProgress.done()
 | 
	
		
			
				|  |  | +  const hasToken = getToken()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  if (hasToken) {
 | 
	
		
			
				|  |  | +    if (to.path === '/login') {
 | 
	
		
			
				|  |  | +      // if is logged in, redirect to the home page
 | 
	
		
			
				|  |  | +      next({ path: '/' })
 | 
	
		
			
				|  |  | +      NProgress.done()
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        next()
 | 
	
		
			
				|  |  | +      } catch (error) {
 | 
	
		
			
				|  |  | +        Message.error(error || 'Has Error')
 | 
	
		
			
				|  |  | +        next(`/login?redirect=${to.path}`)
 | 
	
		
			
				|  |  | +        NProgress.done()
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  } else {
 | 
	
		
			
				|  |  | +    /* has no token*/
 | 
	
		
			
				|  |  | +    if (whiteList.indexOf(to.path) !== -1) {
 | 
	
		
			
				|  |  | +      // in the free login whitelist, go directly
 | 
	
		
			
				|  |  | +      next()
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  | -        /* has no token*/
 | 
	
		
			
				|  |  | -        if (whiteList.indexOf(to.path) !== -1) {
 | 
	
		
			
				|  |  | -            // in the free login whitelist, go directly
 | 
	
		
			
				|  |  | -            next()
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            // other pages that do not have permission to access are redirected to the login page.
 | 
	
		
			
				|  |  | -            next(`/login?redirect=${to.path}`)
 | 
	
		
			
				|  |  | -            NProgress.done()
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +      // other pages that do not have permission to access are redirected to the login page.
 | 
	
		
			
				|  |  | +      next(`/login?redirect=${to.path}`)
 | 
	
		
			
				|  |  | +      NProgress.done()
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  router.afterEach(() => {
 | 
	
		
			
				|  |  | -    // finish progress bar
 | 
	
		
			
				|  |  | -    NProgress.done()
 | 
	
		
			
				|  |  | -})
 | 
	
		
			
				|  |  | +  // finish progress bar
 | 
	
		
			
				|  |  | +  NProgress.done()
 | 
	
		
			
				|  |  | +})
 |