同步操作将从 likeadmin/likeadmin(Python版)- MIT协议-免费任意商用- 管理后台_小程序_手机H5_PC端_uni-app 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/*** 权限控制*/import NProgress from 'nprogress'import router, { findFirstValidRoute } from './router'import 'nprogress/nprogress.css'import { isExternal } from './utils/validate'import useUserStore from './stores/modules/user'import { INDEX_ROUTE, INDEX_ROUTE_NAME } from './router/routes'import { PageEnum } from './enums/pageEnum'import useTabsStore from './stores/modules/multipleTabs'import { clearAuthInfo } from './utils/auth'import config from './config'// NProgress配置NProgress.configure({ showSpinner: false })const loginPath = PageEnum.LOGINconst defaultPath = PageEnum.INDEX// 免登录白名单const whiteList: string[] = [PageEnum.LOGIN, PageEnum.ERROR_403]router.beforeEach(async (to, from, next) => {// 开始 Progress BarNProgress.start()document.title = to.meta.title ?? config.titleconst userStore = useUserStore()const tabsStore = useTabsStore()if (whiteList.includes(to.path)) {// 在免登录白名单,直接进入next()} else if (userStore.token) {// 获取用户信息const hasGetUserInfo = Object.keys(userStore.userInfo).length !== 0if (hasGetUserInfo) {if (to.path === loginPath) {next({ path: defaultPath })} else {next()}} else {try {await userStore.getUserInfo()await userStore.getMenu()const routes = userStore.routes// 找到第一个有效路由const routeName = findFirstValidRoute(routes)// 没有有效路由跳转到403页面if (!routeName) {clearAuthInfo()next(PageEnum.ERROR_403)return}tabsStore.setRouteName(routeName!)INDEX_ROUTE.redirect = { name: routeName }// 动态添加index路由router.addRoute(INDEX_ROUTE)routes.forEach((route: any) => {// https 则不插入if (isExternal(route.path)) {return}if (!route.children) {router.addRoute(INDEX_ROUTE_NAME, route)return}// 动态添加可访问路由表router.addRoute(route)})next({ ...to, replace: true })} catch (err) {clearAuthInfo()next({ path: loginPath, query: { redirect: to.fullPath } })}}} else {next({ path: loginPath, query: { redirect: to.fullPath } })}})router.afterEach(() => {NProgress.done()})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。