1.7 KiB
1.7 KiB
开发说明
1.v-permissions 指令:页面组件权限卡控(比如用于页面按钮)
应用要求
1)表数据维护: -- 维护页面组件(如按钮)字典:tbl_infrastructure_resource、tbl_infrastructure_verb -- 维护页面组件角色权限:tbl_infrastructure_permission 2)页面权限控制:
<el-button
v-permissions="{ verbName: 'add', resourceName: $options.name }"
@click="handleAdd"
>
</el-button>
---- $options.name:vue页面的name,要求tbl_infrastructure_menu表中name字段唯一,且与tbl_infrastructure_resource表中的name字段对应。
3)整个逻辑说明: -- 登录时从接口获取permission,存起来。 -- 页面组件渲染时,通过v-permissions指令,判断当前用户是否有权限,如果无权限,则移除组件
2.获取用户信息
import { useAclStore } from './acl'
const aclStore = useAclStore()
const userId = aclStore.getUserId //获取用户id,1
const userAccount = aclStore.getUserAccount //获取用户账号,admin
const userName = aclStore.getUserName //获取用户名,系统管理员
const role = aclStore.getRole //获取角色
const userResourceVerbs = aclStore.getUserResourceVerbs //获取用户路由下按钮
const isadmin = aclStore.getAdmin //获取是否管理员,true/false
const permission = aclStore.getPermission //获取菜单(暂未存)
const loginDevice = aclStore.getLoginDevice //获取登录设备(暂未存)
const deptId = aclStore.getDeptId //获取部门id(已实现,暂未看到接口数据)
const deptName = aclStore.getDeptName //获取部门名称(已实现,暂未看到接口数据)