Ai_GirlFriend/xuniYou/EaseIM/imApis/emGroups.js

138 lines
3.3 KiB
JavaScript
Raw Normal View History

2026-01-31 19:15:41 +08:00
import { EMClient } from '@/EaseIM';
const emGroups = () => {
const fetchJoinedGroupListFromServer = () => {
return new Promise((resolve, reject) => {
console.log('>>>>开始获取加入的群组列表');
EMClient.getGroup({
limit: 100,
})
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const createNewGroup = (params) => {
return new Promise((resolve, reject) => {
console.log('>>>>开始创建群组');
EMClient.createGroup({ data: { ...params } })
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const getGroupInfosFromServer = (groupId) => {
return new Promise((resolve, reject) => {
EMClient.getGroupInfo({
groupId,
})
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const getGroupMembersFromServer = (groupId) => {
//暂且仅取前100个群成员
const pageNum = 1,
pageSize = 100;
return new Promise((resolve, reject) => {
EMClient.listGroupMembers({
pageNum: pageNum,
pageSize: pageSize,
groupId,
})
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const inviteUsersToGroup = (groupId, memberIdList) => {
return new Promise((resolve, reject) => {
EMClient.inviteUsersToGroup({
groupId: groupId,
users: memberIdList,
})
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const leaveGroupFromServer = (groupId) => {
return new Promise((resolve, reject) => {
EMClient.leaveGroup({ groupId })
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const destroyGroupFromServer = (groupId) => {
return new Promise((resolve, reject) => {
EMClient.destroyGroup({ groupId })
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const acceptGroupInvite = (invitee, groupId) => {
return new Promise((resolve, reject) => {
EMClient.acceptGroupInvite({
groupId: groupId,
invitee: invitee,
})
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
const rejectGroupInvite = (invitee, groupId) => {
return new Promise((resolve, reject) => {
EMClient.rejectGroupInvite({
groupId: groupId,
invitee: invitee,
})
.then((res) => {
resolve(res.data);
})
.catch((error) => {
reject(error);
});
});
};
return {
fetchJoinedGroupListFromServer,
createNewGroup,
getGroupInfosFromServer,
getGroupMembersFromServer,
inviteUsersToGroup,
leaveGroupFromServer,
destroyGroupFromServer,
acceptGroupInvite,
rejectGroupInvite,
};
};
export default emGroups;