生涯
生涯
  • 发布:2021-03-05 11:04
  • 更新:2021-03-08 15:11
  • 阅读:974

uniCloud admin 基础框架,版本:1.3.2,内置鉴定登录用户权限和角色及菜单系统管理权限问题。

分类:uniCloud
  1. admin 提供的两个内置方法,方便在页面中鉴定登录用户权限和角色:$hasPermission 鉴定登录用户是否具有某权限,$hasRole 鉴定登录用户是否具有某角色,超级管理员账号看不到操作按钮。
    <el-button type="danger" icon="el-icon-delete" size="mini" v-if="$hasPermission('BRAND_ADMIN')" @click="deleteFun(scope.row)">删除</el-button>

    2.包含:BRAND_ADMIN 权限的管理员账号可以看到这个删除操作按钮,超级管理员看不见。超级管理员官方给的描述是包含所有权限吧。

  2. 通过超级管理员账号给普通管理员账号,开通了操作菜单:系统管理---权限管理及角色管理及用户管理及菜单管理的权限,仅仅能打开页面,但是看不到相关数据也无法操作,提示:权限校验未通过。

    4.通过获取用户所有权限,超级管理员确实是包含多游权限的,但是,v-if="$hasPermission('BRAND_ADMIN')" 下的按钮,超级管理员是看不到的。
2021-03-05 11:04 负责人:无 分享
已邀请:
连连看

连连看

同样的问题,应该是uni-id的问题。我的uniCloud admin 是1.2.2, 升级了uni-id 也出现了相同问题。
烦请问一下,uniCloud admin 基础框架如何升级?

  • 生涯 (作者)

    好像没有自动升级的办法,我是从插件市场重新下载的,然后又根据的代码填进去的

    2021-03-06 09:00

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

uni-admin内$hasPermission有些问题,应该判断一下是否有admin角色(app/init接口返回的admin角色对应的permission为空数组),这里我们修改一下。

你可以修改一下js_sdk/uni-admin/permission.js内的$hasPermission

Vue.prototype.$hasPermission = function hasPermission(name) {  
    const permission = this.$store.state.user.userInfo.permission || []  
    const role = this.$store.state.user.userInfo.role || []  
    return role.indexOf('admin') > -1 || permission.indexOf(name) > -1  
}
  • 生涯 (作者)

    好的,谢谢,我先不在自己的项目上做修改了,既然官方确认了问题,我等更新吧

    2021-03-08 15:31

该问题目前已经被锁定, 无法添加新回复