| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { EMClient } from '../index';
- const _chunkArr = (oldArr, num) => {
- oldArr.sort((a, b) => {
- return a - b;
- });
- if (oldArr.length <= 0) return oldArr;
- let newArr = [];
- if (Math.ceil(oldArr.length / num) <= 1) {
- newArr.push(oldArr);
- return newArr;
- }
- for (let i = 0; i < oldArr.length; i = i + num) {
- newArr.push(oldArr.slice(i, i + num));
- }
- return newArr;
- };
- const emUserInofs = () => {
- const fetchUserInfoWithLoginId = () => {
- const userId = EMClient.user;
- return new Promise((resolve, reject) => {
- if (userId) {
- EMClient.fetchUserInfoById(userId)
- .then((res) => {
- const { data } = res;
- resolve(data);
- })
- .catch((error) => {
- reject(error);
- });
- }
- });
- };
- const fetchOtherInfoFromServer = (userList) => {
- let friendList = [];
- friendList = Object.assign([], userList);
- return new Promise((resolve, reject) => {
- if (friendList.length && friendList.length < 99) {
- EMClient.fetchUserInfoById(friendList)
- .then((res) => {
- const { data } = res;
- resolve(data);
- })
- .catch((error) => {
- reject(error);
- });
- } else {
- let newArr = _chunkArr(friendList, 99);
- for (let i = 0; i < newArr.length; i++) {
- EMClient.fetchUserInfoById(newArr[i])
- .then((res) => {
- const { data } = res;
- resolve(data);
- })
- .catch((error) => {
- reject(error);
- });
- }
- }
- });
- };
- const updateUserInfosFromServer = (params) => {
- return new Promise((resolve, reject) => {
- EMClient.updateUserInfo({ ...params })
- .then((res) => {
- const { data } = res;
- resolve(data);
- })
- .catch((error) => {
- reject(error);
- });
- });
- };
- return {
- fetchUserInfoWithLoginId,
- fetchOtherInfoFromServer,
- updateUserInfosFromServer,
- };
- };
- export default emUserInofs;
|