角色权限
parent
a9e95eeadf
commit
b3b8a3a6a9
|
@ -96,13 +96,7 @@ const list1 = ref([
|
|||
{ icon: adpass, title: `已通过(${adpassacount.value})` }
|
||||
])
|
||||
const list2 = ref([
|
||||
{ icon: talkautid, title: '话题审核' },
|
||||
{ icon: adacaudit, title: '活动审核' },
|
||||
{ icon: stuaudit, title: '认证审核' },
|
||||
{ icon: admyactivity, title: '我的活动' },
|
||||
{ icon: puacti, title: '发布活动' },
|
||||
{ icon: adcoin, title: '校园币管理' },
|
||||
{ icon: adgrade, title: '等级管理' }
|
||||
|
||||
])
|
||||
const grid1Click1 = (e) => {
|
||||
console.log(e);
|
||||
|
@ -116,6 +110,10 @@ onLoad(() => {
|
|||
getCountInfo();
|
||||
})
|
||||
onShow(() => {
|
||||
uni.setTabBarItem({
|
||||
index: 0,
|
||||
visible: true
|
||||
});
|
||||
proxy.$store.dispatch('webSockerInfo')
|
||||
getCountInfo();
|
||||
getUserRoles()
|
||||
|
@ -136,55 +134,73 @@ const getCountInfo = () =>{
|
|||
})
|
||||
}
|
||||
|
||||
const getUserRoles = () => {
|
||||
const getUserRoles = () => {
|
||||
const userInfo = uni.getStorageSync('loginUserPost');
|
||||
let hasKfUser = false;
|
||||
let hasAuditUser = false;
|
||||
let hasTaskLevel = false;
|
||||
|
||||
if (userInfo && Array.isArray(userInfo.roles)) {
|
||||
const newList2 = []; // 初始化一个新的 list2 数组,用于收集权限
|
||||
|
||||
userInfo.roles.forEach(role => {
|
||||
// 判断客服角色
|
||||
if (role.roleKey === 'kfuser') {
|
||||
hasKfUser = true;
|
||||
// 如果需要,可以在这里添加显示 tabbar 的逻辑
|
||||
}
|
||||
// 判断审核角色
|
||||
|
||||
if (role.roleKey === 'audituser') {
|
||||
hasAuditUser = true;
|
||||
// 添加审核相关的权限到 newList2
|
||||
newList2.push(
|
||||
{ icon: talkautid, title: '话题审核' },
|
||||
{ icon: adacaudit, title: '活动审核' },
|
||||
{ icon: stuaudit, title: '认证审核' }
|
||||
);
|
||||
}
|
||||
// 判断任务的等级角色
|
||||
|
||||
if (role.roleKey === 'taskLevel') {
|
||||
hasTaskLevel = true;
|
||||
// 添加任务等级相关的权限到 newList2
|
||||
newList2.push(
|
||||
{ icon: adcoin, title: '校园币管理' },
|
||||
{ icon: adgrade, title: '等级管理' }
|
||||
);
|
||||
}
|
||||
|
||||
// 注意:这里不需要同时检查两个角色,因为每个 role 只会有一个 roleKey
|
||||
});
|
||||
|
||||
if (hasKfUser && hasAuditUser && hasTaskLevel) {
|
||||
console.log('全部权限')
|
||||
}
|
||||
else if (!hasAuditUser && !hasTaskLevel) {
|
||||
uni.setTabBarItem({
|
||||
index: 0,
|
||||
visible: false
|
||||
});
|
||||
}
|
||||
else if (hasTaskLevel && !hasKfUser && !hasAuditUser) {
|
||||
// 根据角色组合更新 list2
|
||||
if (hasAuditUser && hasTaskLevel) {
|
||||
// 如果同时有审核和任务等级权限,则合并两个列表
|
||||
list2.value = [
|
||||
{ icon: adcoin, title: '校园币管理' },
|
||||
{ icon: adgrade, title: '等级管理' }
|
||||
...newList2,
|
||||
{ icon: admyactivity, title: '我的活动' },
|
||||
{ icon: puacti, title: '发布活动' }
|
||||
];
|
||||
quanx.value = false;
|
||||
uni.setTabBarItem({
|
||||
index: 1,
|
||||
visible: false
|
||||
});
|
||||
}else{
|
||||
console.log('拥有全部权限')
|
||||
}
|
||||
// 如果需要处理“超级管理员”或其他默认情况,可以在这里添加逻辑
|
||||
} else {
|
||||
console.error('loginUserPost 不存在或 roles 不是一个数组');
|
||||
}
|
||||
};
|
||||
} else {
|
||||
// 否则,只使用 newList2
|
||||
list2.value = newList2;
|
||||
}
|
||||
|
||||
// 更新 list1,如果包含 audituser 角色
|
||||
if (hasAuditUser) {
|
||||
list1.value = [
|
||||
{ icon: auditreject, title: `未通过(${auditrejectacount.value})` },
|
||||
{ icon: adaudit, title: `待审核(${adauditacount.value})` },
|
||||
{ icon: adpass, title: `已通过(${adpassacount.value})` }
|
||||
];
|
||||
} else {
|
||||
list1.value = [];
|
||||
}
|
||||
|
||||
// 如果需要处理其他角色或默认情况,可以在这里添加逻辑
|
||||
|
||||
} else {
|
||||
console.error('loginUserPost 不存在或 roles 不是一个数组');
|
||||
}
|
||||
};
|
||||
|
||||
// 点击管理工具的按钮aaa
|
||||
const grid1Click2 = (e) => {
|
||||
|
|
|
@ -166,7 +166,7 @@ const loginSuccess = (result) => {
|
|||
uni.setStorageSync('loginUserPost', res.data)
|
||||
let hasRequiredRole = false;
|
||||
res.data.roles.forEach(role => {
|
||||
if (role.roleKey === 'audituser' || role.roleKey === 'taskLevel') {
|
||||
if (role.roleKey === 'audituser' || role.roleKey === 'taskLevel') {
|
||||
hasRequiredRole = true;
|
||||
}else{
|
||||
hasRequiredRole = false;
|
||||
|
@ -182,10 +182,10 @@ const loginSuccess = (result) => {
|
|||
visible: true
|
||||
});
|
||||
} else {
|
||||
uni.setTabBarItem({
|
||||
index: 0,
|
||||
visible: false
|
||||
});
|
||||
// uni.setTabBarItem({
|
||||
// index: 0,
|
||||
// visible: false
|
||||
// });
|
||||
uni.switchTab({
|
||||
url: "/pages/message/index"
|
||||
});
|
||||
|
|
|
@ -104,6 +104,32 @@ const toadUser = () => {
|
|||
proxy.$tab.navigateTo('/pages/message/adUser');
|
||||
}
|
||||
|
||||
const getUserRoles = () => {
|
||||
const userInfo = uni.getStorageSync('loginUserPost');
|
||||
let hasKfUser = false;
|
||||
let hasAuditUser = false;
|
||||
let hasTaskLevel = false;
|
||||
|
||||
if (userInfo && Array.isArray(userInfo.roles)) {
|
||||
userInfo.roles.forEach(role => {
|
||||
// 判断客服角色
|
||||
if (role.roleKey === 'kfuser') {
|
||||
hasKfUser = true;
|
||||
|
||||
}
|
||||
if(role.roleKey != 'taskLevel' && role.roleKey != 'audituser'){
|
||||
// uni.setTabBarItem({
|
||||
// index: 0,
|
||||
// visible: false
|
||||
// });
|
||||
}
|
||||
});
|
||||
// 如果需要处理“超级管理员”或其他默认情况,可以在这里添加逻辑
|
||||
} else {
|
||||
console.error('loginUserPost 不存在或 roles 不是一个数组');
|
||||
}
|
||||
};
|
||||
|
||||
// 默认头像 URL
|
||||
const avatarUrl = ref("/static/images/icon/tu4-1.jpg");
|
||||
const useDefaultAvatar = ref(true); // 默认使用默认头像
|
||||
|
@ -123,6 +149,7 @@ onUnmounted(() => {
|
|||
// clearInterval(timer);
|
||||
});
|
||||
onShow(() => {
|
||||
getUserRoles()
|
||||
onWebSocket();
|
||||
GetListSend();
|
||||
// timer = setInterval(GetListSend, 60000);
|
||||
|
|
Loading…
Reference in New Issue