mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-01-16 13:20:33 +00:00
refactor: BuddyList
This commit is contained in:
parent
48d5cb53bd
commit
3db74c3427
@ -1,8 +1,14 @@
|
|||||||
import { FriendRequest, User } from '@/core/entities';
|
import { FriendRequest, User } from '@/core/entities';
|
||||||
import { napCatCore, OnBuddyChangeParams } from '@/core';
|
import { BuddyListReqType, napCatCore, OnBuddyChangeParams } from '@/core';
|
||||||
import { NTEventDispatch } from '@/common/utils/EventTask';
|
import { NTEventDispatch } from '@/common/utils/EventTask';
|
||||||
|
|
||||||
export class NTQQFriendApi {
|
export class NTQQFriendApi {
|
||||||
|
static async getBuddyV2(refresh = false) {
|
||||||
|
if (!refresh) {
|
||||||
|
return await napCatCore.session.getBuddyService().getBuddyListFromCache('0');
|
||||||
|
}
|
||||||
|
return (await (napCatCore.session.getBuddyService().getBuddyListV2('0', BuddyListReqType.KNOMAL))).data;
|
||||||
|
}
|
||||||
static async isBuddy(uid: string) {
|
static async isBuddy(uid: string) {
|
||||||
return napCatCore.session.getBuddyService().isBuddy(uid);
|
return napCatCore.session.getBuddyService().isBuddy(uid);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,6 +65,43 @@ export class NTQQUserApi {
|
|||||||
// KQZONE,
|
// KQZONE,
|
||||||
// KOTHER
|
// KOTHER
|
||||||
// }
|
// }
|
||||||
|
static async fetchUserDetailInfos(uids: string[]) {
|
||||||
|
type EventService = NodeIKernelProfileService['fetchUserDetailInfo'];
|
||||||
|
type EventListener = NodeIKernelProfileListener['onUserDetailInfoChanged'];
|
||||||
|
let retData: User[] = [];
|
||||||
|
let [_retData, _retListener] = await NTEventDispatch.CallNormalEvent
|
||||||
|
<EventService, EventListener>
|
||||||
|
(
|
||||||
|
'NodeIKernelProfileService/fetchUserDetailInfo',
|
||||||
|
'NodeIKernelProfileListener/onUserDetailInfoChanged',
|
||||||
|
uids.length,
|
||||||
|
5000,
|
||||||
|
(profile) => {
|
||||||
|
if (uids.includes(profile.uid)) {
|
||||||
|
let RetUser: User = {
|
||||||
|
...profile.simpleInfo.coreInfo,
|
||||||
|
...profile.simpleInfo.status,
|
||||||
|
...profile.simpleInfo.vasInfo,
|
||||||
|
...profile.commonExt,
|
||||||
|
...profile.simpleInfo.baseInfo,
|
||||||
|
qqLevel: profile.commonExt.qqLevel,
|
||||||
|
pendantId: ""
|
||||||
|
};
|
||||||
|
retData.push(RetUser);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
"BuddyProfileStore",
|
||||||
|
uids,
|
||||||
|
UserDetailSource.KSERVER,
|
||||||
|
[
|
||||||
|
ProfileBizType.KALL
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
return retData;
|
||||||
|
}
|
||||||
static async fetchUserDetailInfo(uid: string) {
|
static async fetchUserDetailInfo(uid: string) {
|
||||||
type EventService = NodeIKernelProfileService['fetchUserDetailInfo'];
|
type EventService = NodeIKernelProfileService['fetchUserDetailInfo'];
|
||||||
type EventListener = NodeIKernelProfileListener['onUserDetailInfoChanged'];
|
type EventListener = NodeIKernelProfileListener['onUserDetailInfoChanged'];
|
||||||
|
|||||||
@ -7,7 +7,16 @@ export enum BuddyListReqType {
|
|||||||
}
|
}
|
||||||
export interface NodeIKernelBuddyService {
|
export interface NodeIKernelBuddyService {
|
||||||
// 26702 以上
|
// 26702 以上
|
||||||
getBuddyListV2(callFrom: string, reqType: BuddyListReqType): Promise<GeneralCallResult>;
|
getBuddyListV2(callFrom: string, reqType: BuddyListReqType): Promise<GeneralCallResult & {
|
||||||
|
data: Array<{
|
||||||
|
categoryId: number,
|
||||||
|
categorySortId: number,
|
||||||
|
categroyName: string,
|
||||||
|
categroyMbCount: number,
|
||||||
|
onlineCount: number,
|
||||||
|
buddyUids: Array<string>
|
||||||
|
}>
|
||||||
|
}>;
|
||||||
//26702 以上
|
//26702 以上
|
||||||
getBuddyListFromCache(callFrom: string): Promise<Array<
|
getBuddyListFromCache(callFrom: string): Promise<Array<
|
||||||
{
|
{
|
||||||
@ -22,7 +31,7 @@ export interface NodeIKernelBuddyService {
|
|||||||
addKernelBuddyListener(listener: NodeIKernelBuddyListener): number;
|
addKernelBuddyListener(listener: NodeIKernelBuddyListener): number;
|
||||||
|
|
||||||
getAllBuddyCount(): number;
|
getAllBuddyCount(): number;
|
||||||
|
|
||||||
removeKernelBuddyListener(listener: unknown): void;
|
removeKernelBuddyListener(listener: unknown): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user