今天看同事写的权限管理功能时候发现这样的一个代码
router.beforeEach(async (to: Route, from: Route, next) => {
if (to.path === "/") {
authCode && authCode.includes("yhgl-r") ? next("/userManagement") : next("/home");
}
})
看到这个yhgl-r我想了很久都没想出来是什么意思,还以为是什么用户身份码。
问了同事才知道 yhgl-r 指的是 用户管理只读。
借此想请教两个问题:
1. 后台在定义模块时候大家都是怎么定义的?
比如上述代码中就是用模块名字的首字母缩写来作为模块的 code,觉得挺不灵活优雅的,目前能想到的方案是不用缩写,有咩有其他模块定义方法?
2. 前端拿到一大堆要限制的模块 code 后,有没有什么好的处理方案?
目前见到的都是 v-if/v-show 和控制路由结合来判断是不是显示某个模块,有些模块权限复杂的话就需要一大串的判断语句,代码可读性不怎么好,有没有其他更高明的方法呢?
3. 或者有没有别的更好的权限管理方案
yhgl-r
、/userManagement
和/home
只是为了举例编造的数据
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.