mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
feat: get_group_list, get_friend_list no_cache
This commit is contained in:
@@ -8,7 +8,7 @@ import { Group } from '@/core/entities';
|
|||||||
import { log } from '@/common/utils/log';
|
import { log } from '@/common/utils/log';
|
||||||
|
|
||||||
interface Payload {
|
interface Payload {
|
||||||
no_cache: boolean;
|
no_cache: boolean | string;
|
||||||
}
|
}
|
||||||
|
|
||||||
class GetGroupList extends BaseAction<Payload, OB11Group[]> {
|
class GetGroupList extends BaseAction<Payload, OB11Group[]> {
|
||||||
@@ -16,7 +16,7 @@ class GetGroupList extends BaseAction<Payload, OB11Group[]> {
|
|||||||
|
|
||||||
protected async _handle(payload: Payload) {
|
protected async _handle(payload: Payload) {
|
||||||
let groupList: Group[] = Array.from(groups.values());
|
let groupList: Group[] = Array.from(groups.values());
|
||||||
if (groupList.length === 0 || payload?.no_cache === true) {
|
if (groupList.length === 0 || payload?.no_cache === true || payload?.no_cache === 'true') {
|
||||||
groupList = await NTQQGroupApi.getGroups(true);
|
groupList = await NTQQGroupApi.getGroups(true);
|
||||||
// log('get groups', groups);
|
// log('get groups', groups);
|
||||||
}
|
}
|
||||||
|
@@ -3,14 +3,27 @@ import { OB11Constructor } from '../../constructor';
|
|||||||
import { friends } from '@/core/data';
|
import { friends } from '@/core/data';
|
||||||
import BaseAction from '../BaseAction';
|
import BaseAction from '../BaseAction';
|
||||||
import { ActionName } from '../types';
|
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;
|
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()));
|
return OB11Constructor.friends(Array.from(friends.values()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default GetFriendList;
|
|
||||||
|
Reference in New Issue
Block a user