138 lines
3.3 KiB
JavaScript
138 lines
3.3 KiB
JavaScript
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;
|