按钮级别的新版本,多级别的组织架构
loulijun2021
2023-08-22 746e355df3ce7b588f40e96e4f20ba35266e7190
src/permission.js
@@ -3,8 +3,9 @@
import { Message } from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import { getCookie, getToken } from '@/utils/auth' // get token from cookie
import { getCookie, getToken, setCookie } from '@/utils/auth' // get token from cookie
import getPageTitle from '@/utils/get-page-title'
import { decode } from 'jsonwebtoken'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
@@ -27,23 +28,25 @@
      next({ path: '/' })
      NProgress.done()
    } else {
      // const hasGetUserInfo = store.getters.name
      const hasGetUserInfo = store.getters.name
      // const hasGetUserInfo = getCookie('usercode')
      if (hasGetUserInfo) {
        next()
      } else {
        try {
          // 拉取info
          // const info = await store.dispatch('user/getInfo')
          // jwt解密获取用户编码
          const jwt = decode(localStorage.getItem('token'))
          localStorage.setItem('usercode', jwt.usercode)
          localStorage.setItem('username', jwt.username)
          localStorage.setItem('torg_name', jwt.storg_name)
          localStorage.setItem('torg_code', jwt.storg_code)
          // 拉取菜单信息表
          const menu = await store.dispatch('user/getMenu')
          // 生成可访问的路由表
          await store.dispatch('permission/generateRoutes', menu)
          // eslint-disable-next-line require-atomic-updates
          store.state.settings.orgType = getCookie('description')
          // 动态添加可访问路由表
          router.addRoutes(store.getters.addRouters)