import router from './router'
import NProgress from 'nprogress' // 进度条
import 'nprogress/nprogress.css' // 进度条样式
import getPageTitle from '@/utils/get-page-title' // title设置
import {
  routesWhiteList
} from '@/config/settings'

NProgress.configure({ easing: 'ease', speed: 500, showSpinner: false })// 进度条配置
router.beforeEach(async(to, from, next) => {
  NProgress.start() // 进度条开始
  document.title = getPageTitle(to.meta.title) // 设置页面标题
  const hasGetUserInfo = sessionStorage.getItem('userName')  //获取登录标识
  if (hasGetUserInfo) { // 确定用户是否已登录
    if (to.path === '/login') {
      next({ path: '/' }) // 如果已登录，则重定向到主页
      NProgress.done() // 进度条结束
    } else {
      next()
      NProgress.done()
    }
  } else {
    if (routesWhiteList.indexOf(to.path) !== -1) { // 在免费登录白名单中，直接进入
      next()
    } else { // 其他没有访问权限的页面将被重定向到登录页面。
      next(`/login?redirect=${to.path}`)
      NProgress.done()
    }
  }
})

router.afterEach(() => {
  NProgress.done() // 完成进度条
})
