Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
9080b819
提交
9080b819
authored
11月 30, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
路由守卫优化
上级
fadd7404
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
10 行增加
和
15 行删除
+10
-15
permission.js
src/permission.js
+10
-15
没有找到文件。
src/permission.js
浏览文件 @
9080b819
...
@@ -11,18 +11,15 @@ NProgress.configure({ showSpinner: false })
...
@@ -11,18 +11,15 @@ NProgress.configure({ showSpinner: false })
const
whiteList
=
[
'/login'
,
'/platformlogin'
,
'/'
,
'/auth-redirect'
,
'/bind'
,
'/register'
]
const
whiteList
=
[
'/login'
,
'/platformlogin'
,
'/'
,
'/auth-redirect'
,
'/bind'
,
'/register'
]
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
//debugger
//
debugger
NProgress
.
start
()
NProgress
.
start
()
const
hasToken
=
getToken
()
const
hasToken
=
getToken
()
// console.log("getToken()",getToken())
// console.log("getToken()",getToken())
if
(
hasToken
)
{
if
(
hasToken
)
{
getPageTitle
()
getPageTitle
()
//
/* has token*/
/* has token*/
if
(
to
.
path
===
'/platformlogin'
)
{
if
(
to
.
path
===
'/platformlogin'
)
{
// return false
next
({
path
:
'/home/index'
})
next
({
path
:
'/home/index'
})
NProgress
.
done
()
NProgress
.
done
()
}
else
{
}
else
{
...
@@ -30,21 +27,22 @@ router.beforeEach((to, from, next) => {
...
@@ -30,21 +27,22 @@ router.beforeEach((to, from, next) => {
//debugger
//debugger
// 判断当前用户是否已拉取完user_info信息
// 判断当前用户是否已拉取完user_info信息
store
.
dispatch
(
'GetInfo'
).
then
(
res
=>
{
store
.
dispatch
(
'GetInfo'
).
then
(
res
=>
{
// return false
// 拉取user_info
// 拉取user_info
const
roles
=
res
.
data
.
roles
const
roles
=
res
.
data
.
roles
//debugger
// debugger
const
userInfo
=
res
.
data
.
user
store
.
dispatch
(
'GenerateRoutes'
,
{
roles
}).
then
(
accessRoutes
=>
{
store
.
dispatch
(
'GenerateRoutes'
,
{
roles
}).
then
(
accessRoutes
=>
{
// 测试 默认静态页面
// store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => {
// 根据roles权限生成可访问的路由表
// 根据roles权限生成可访问的路由表
router
.
addRoutes
(
accessRoutes
)
// 动态添加可访问路由表
router
.
addRoutes
(
accessRoutes
)
next
({
...
to
,
replace
:
true
})
// hack方法 确保addRoutes已完成
if
(
userInfo
&&
userInfo
.
state
==
1
)
{
next
({
...
to
,
replace
:
true
})
// hack方法 确保addRoutes已完成
}
else
{
next
({
path
:
'/process'
,
replace
:
true
});
}
})
})
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
store
.
dispatch
(
'FedLogOut'
).
then
(()
=>
{
store
.
dispatch
(
'FedLogOut'
).
then
(()
=>
{
Message
.
error
(
err
)
Message
.
error
(
err
)
//debugger
next
({
path
:
'/home/index'
})
next
({
path
:
'/home/index'
})
})
})
})
})
...
@@ -60,16 +58,13 @@ router.beforeEach((to, from, next) => {
...
@@ -60,16 +58,13 @@ router.beforeEach((to, from, next) => {
}
}
}
}
}
else
{
}
else
{
//debugger
// 没有token
// 没有token
// 在免登录白名单,直接进入
if
(
whiteList
.
indexOf
(
to
.
path
)
!==
-
1
)
{
if
(
whiteList
.
indexOf
(
to
.
path
)
!==
-
1
)
{
console
.
log
(
"在免登录白名单,直接进入"
)
// 在免登录白名单,直接进入
// 在免登录白名单,直接进入
next
()
next
()
}
else
{
}
else
{
//debugger
next
(
`/login?redirect=
${
to
.
path
}
`
)
// 否则全部重定向到登录页
next
(
`/login?redirect=
${
to
.
path
}
`
)
// 否则全部重定向到登录页
// next(`/newyuncang?redirect=${to.path}`) // 否则全部重定向到登录页
NProgress
.
done
()
NProgress
.
done
()
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论