mod vue2 to vue3

This commit is contained in:
chenhaodong
2026-06-18 01:44:25 +08:00
parent 109204734a
commit d30ff1a362
124 changed files with 951 additions and 2183 deletions
+10 -17
View File
@@ -1,29 +1,25 @@
import router from './router'
import store from './store'
import { Message } from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import { getToken } from '@/utils/auth' // get token from cookie
import { ElMessage } from 'element-plus'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth'
import getPageTitle from '@/utils/get-page-title'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register'] // no redirect whitelist
const whiteList = ['/login', '/register']
router.beforeEach(async(to, from, next) => {
// start progress bar
NProgress.start()
// 获取网站基本信息
let siteData = store.getters.siteData
if (!siteData.siteName) {
siteData = await store.dispatch('settings/getSite')
}
// 页面标题
document.title = getPageTitle(siteData.siteName, to.meta.title)
// 本地token
const hasToken = getToken()
if (hasToken) {
@@ -36,26 +32,24 @@ router.beforeEach(async(to, from, next) => {
next()
} else {
try {
// 读取用户权限
const { roles } = await store.dispatch('user/getInfo')
const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
router.addRoutes(accessRoutes)
accessRoutes.forEach(route => {
router.addRoute(route)
})
next({ ...to, replace: true })
} catch (error) {
// 出错注销
await store.dispatch('user/resetToken')
Message.error(error || 'Has Error')
ElMessage.error(error || 'Has Error')
next(`/login?redirect=${to.path}`)
NProgress.done()
}
}
}
} else {
// 排除白名单
if (whiteList.indexOf(to.path) !== -1) {
next()
} else {
// 跳转到登录页面
next(`/login?redirect=${to.path}`)
NProgress.done()
}
@@ -63,6 +57,5 @@ router.beforeEach(async(to, from, next) => {
})
router.afterEach(() => {
// finish progress bar
NProgress.done()
})