feat: get_group_list, get_friend_list no_cache

This commit is contained in:
linyuchen
2024-05-01 18:46:13 +08:00
parent c3781cab96
commit 18b7df9fca
2 changed files with 19 additions and 6 deletions

View File

@@ -3,14 +3,27 @@ import { OB11Constructor } from '../../constructor';
import { friends } from '@/core/data';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQFriendApi } from '@/core';
class GetFriendList extends BaseAction<null, OB11User[]> {
interface Payload{
no_cache: boolean | string
}
export default class GetFriendList extends BaseAction<Payload, OB11User[]> {
actionName = ActionName.GetFriendList;
protected async _handle(payload: null) {
protected async _handle(payload: Payload) {
if (friends.size === 0 || payload?.no_cache === true || payload?.no_cache === 'true') {
const _friends = await NTQQFriendApi.getFriends(true);
// log('强制刷新好友列表,结果: ', _friends)
if (_friends.length > 0) {
friends.clear();
for (const friend of _friends) {
friends.set(friend.uid, friend);
}
}
}
return OB11Constructor.friends(Array.from(friends.values()));
}
}
export default GetFriendList;