携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
业务分析
现在,在我们的登录页面上,不仅已经拿到了当前登录的用户,也拿到了当前用户所拥有的权限。 那么现在就是要完成具体权限的落地了。
业务实现
- 我是这样构思的。在左边的每个下拉框中,当我们点击时都绑定上一个方法hidden?。这个方法是拿来干嘛的呢?
- 先给每个大按钮绑定v-show,当v-show为false时,那么点击后就无法展开小事件
- 我给每个方法都使用getPermission()来获取到用户的权限,再for循环遍历,要是menuId有当前方法的值,那么就说明用户有操作此事件的权限,此时v-show也会赋值为true,因此在点击大事件按钮时小事件按钮就会展开。因此就可以进行访问。要是遍历完都没有相等,说明没有该权力,因此弹出"你没有权限进行该操作"的提示
缺点:上述方法有些畸形。首先是代码是否冗余,重复的代码出现了多次,但我也不懂前端该如何去化简这些代码。其次是感觉权限判断应该是后端去完成,而我采用了前端去完成,感觉有些奇怪。后续我可能会进行优化吧。将代码封装成一个方法应该可以减少耦合度,也看起来不会那么冗余
优点:想法很好,通过所学知识充分地完成了业务功能,而且完成的还不错,至少是有用户体验的。
居然可以通过页面转发获取到user的话。那我想想该如何使用jquery去实现用户名在登录后的查看页面进行显现,这在之前困扰了我十分久,希望这次能将其解决!