如何让不同角色登录后显示不同的首页
版本:renren-security 2.0 企业版 |
开发环境:不相关 |
最近有个需求,需要让不同的角色在登陆后,显示不同的首页,首页上需要显示一些跟这个用户有关的业务信息,未来还需要显示流转到这个人的审批流的列表。目前来看,所有用户登陆后都是同一个首页,前端模板应该是@/views/modules/home.vue。想到可行的方案是:
在@/views/modules/home.vue中,想办法判断一下角色,硬编码一些条件代码块,实现对应不同的角色,显示不同的页面元素和不同的数据
想请专家能够指点一下,上述方法是否可行,有没有什么需要注意的细节。
另外,也想请教是否有更好的方案,例如:实现能够在角色设置那一块配置角色专用首页,直接创建相应的页面模板,如果可行,也请给予实现方面的提示。
非常感谢您的回复和支持!
-
2019-03-27
可以在登录哪里做判断,登录的时候,返回角色信息,再根据角色信息,展示对应的页面
可以看下login.vue模块
-
2019-03-27
我看了login.vue, 看到如下代码:
[pre]
// 表单提交
dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => {
if (!valid) {
return false
}
this.$http.post('/login', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
this.getCaptcha()
return this.$message.error(res.msg)
}
Cookies.set('token', res.data.token)
this.$router.replace({ name: 'home' })
}).catch(() => {})
})
}, 1000, { 'leading': true, 'trailing': false })
[/pre]
您意思是在:
[pre]
this.$router.replace({ name: 'home' })
[/pre]
这里使页面路由到我需要的页面模板,模板路径应为 @/views/modules/[some_role_home].vue, 对吗?
-
2019-03-27
@dinner3000 是这个意思
-
2019-03-27
谢谢!