定义了一个名为 getUserRole 的 JavaScript 函数,该函数接受一个参数 authorityId,根据这个参数的不同值返回相应的用户角色字符串。这段代码的目的是根据传入的 authorityId 值判断用户的角色,然后返回相应的角色名称。
如果 authorityId 的值等于 888,函数返回字符串 ‘超级管理员’。如果 authorityId 的值等于2,函数返回字符串 ‘游客’。如果 authorityId 的值等于 1000,函数返回字符串 ‘abc’。如果 authorityId 的值等于 1200,函数返回字符串 ‘测试人员’。如果 authorityId 的值等于 2000,函数返回字符串 ‘开发人员’。如果 authorityId 的值等于 3001,函数返回字符串 ‘def’。如果 authorityId 的值不属于上述任何一个特定的值,函数返回字符串 ‘其他角色’。 function getUserRole(authorityId) {if (authorityId === 888) {return '超级管理员';} else if (authorityId === 2) {return '游客';} else if (authorityId === 1000) {return 'abc';} else if (authorityId === 1200) {return '测试人员';} else if (authorityId === 2000) {return '开发人员';} else if (authorityId === 3001) {return 'def';} else {return '其他角色';}}定义了一个名为 authority_message 的 JavaScript 箭头函数。该函数使用 Element UI 框架中的 ElMessage 组件显示一个警告消息,提示用户当前用户的权限不够。
const authority_message = () => {ElMessage({type: 'warning',message: '当前用户的权限不够'});};上面这个 ElMessage是已经封装好的,是git-vue-admin框架自带的东西。
<div style="display: block;"><el-link v-if="![888,1000,1200,2000,3000,3001].includes(userStore.userInfo.authorityId)" class="link" type="primary" @click="authority_message"><h1>账号管理</h1></el-link><el-link v-else class="link" type="primary" @click="toTarget('person')"><h1>账号管理</h1></el-link></div>上面这个userStore.userInfo.authorityId能够拿到对应当前权限人员的号码,如果是超级管理员,拿到的就是888。
console.log('111aqd',userStore.userInfo.authorityId);可以通过上面这个看是否在控制台打印出有对应的号码。
v-if的逻辑是,如果拿到的数字不是在[888,1000,1200,2000,3000,3001]当中的话,就提示说该用户没有权限。 v-else的逻辑是,如果不满足v-if的条件,就跳转界面。
出现的问题:为什么底下的这些框框看起来高矮不一?并且当切换为超级管理员与测试人员的时候,底下的框框长度也不一样?