81 lines
2.0 KiB
JavaScript
81 lines
2.0 KiB
JavaScript
|
|
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;
|