mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2024-11-16 04:45:46 +00:00
chore: 9.9.15 support
This commit is contained in:
parent
931a0210e5
commit
3614a6e932
@ -67,15 +67,15 @@ export class NTQQUserApi {
|
||||
// }
|
||||
static async fetchUserDetailInfo(uid: string) {
|
||||
type EventService = NodeIKernelProfileService['fetchUserDetailInfo'];
|
||||
type EventListener = NodeIKernelProfileListener['onProfileDetailInfoChanged'];
|
||||
type EventListener = NodeIKernelProfileListener['onUserDetailInfoChanged'];
|
||||
let [_retData, profile] = await NTEventDispatch.CallNormalEvent
|
||||
<EventService, EventListener>
|
||||
(
|
||||
'NodeIKernelProfileService/getUserDetailInfoWithBizInfo',
|
||||
'NodeIKernelProfileListener/onProfileDetailInfoChanged',
|
||||
'NodeIKernelProfileService/fetchUserDetailInfo',
|
||||
'NodeIKernelProfileListener/onUserDetailInfoChanged',
|
||||
2,
|
||||
5000,
|
||||
(profile: User) => {
|
||||
(profile) => {
|
||||
if (profile.uid === uid) {
|
||||
return true;
|
||||
}
|
||||
@ -90,10 +90,19 @@ export class NTQQUserApi {
|
||||
ProfileBizType.KALL
|
||||
]
|
||||
);
|
||||
return profile;
|
||||
let RetUser: User = {
|
||||
...profile.simpleInfo.baseInfo,
|
||||
...profile.simpleInfo.coreInfo,
|
||||
...profile.simpleInfo.status,
|
||||
...profile.commonExt,
|
||||
...profile.simpleInfo.vasInfo,
|
||||
...profile.simpleInfo.relationFlags,
|
||||
...profile.simpleInfo.otherFlags,
|
||||
...profile.simpleInfo.intimate
|
||||
};
|
||||
return RetUser;
|
||||
}
|
||||
static async getUserDetailInfo(uid: string) {
|
||||
//此处需要判断是否支持新接口 同时呢应该是临时方案
|
||||
if (requireMinNTQBuild('26702')) {
|
||||
return this.fetchUserDetailInfo(uid);
|
||||
}
|
||||
|
@ -9,7 +9,178 @@ export interface BuddyCategoryType {
|
||||
categroyMbCount: number;
|
||||
buddyList: User[];
|
||||
}
|
||||
interface CoreInfo {
|
||||
uid: string;
|
||||
uin: string;
|
||||
nick: string;
|
||||
remark: string;
|
||||
}
|
||||
|
||||
interface BaseInfo {
|
||||
qid: string;
|
||||
longNick: string;
|
||||
birthday_year: number;
|
||||
birthday_month: number;
|
||||
birthday_day: number;
|
||||
age: number;
|
||||
sex: number;
|
||||
eMail: string;
|
||||
phoneNum: string;
|
||||
categoryId: number;
|
||||
richTime: number;
|
||||
richBuffer: string;
|
||||
}
|
||||
|
||||
interface MusicInfo {
|
||||
buf: string;
|
||||
}
|
||||
|
||||
interface VideoBizInfo {
|
||||
cid: string;
|
||||
tvUrl: string;
|
||||
synchType: string;
|
||||
}
|
||||
|
||||
interface VideoInfo {
|
||||
name: string;
|
||||
}
|
||||
|
||||
interface ExtOnlineBusinessInfo {
|
||||
buf: string;
|
||||
customStatus: any;
|
||||
videoBizInfo: VideoBizInfo;
|
||||
videoInfo: VideoInfo;
|
||||
}
|
||||
|
||||
interface ExtBuffer {
|
||||
buf: string;
|
||||
}
|
||||
|
||||
interface UserStatus {
|
||||
uid: string;
|
||||
uin: string;
|
||||
status: number;
|
||||
extStatus: number;
|
||||
batteryStatus: number;
|
||||
termType: number;
|
||||
netType: number;
|
||||
iconType: number;
|
||||
customStatus: any;
|
||||
setTime: string;
|
||||
specialFlag: number;
|
||||
abiFlag: number;
|
||||
eNetworkType: number;
|
||||
showName: string;
|
||||
termDesc: string;
|
||||
musicInfo: MusicInfo;
|
||||
extOnlineBusinessInfo: ExtOnlineBusinessInfo;
|
||||
extBuffer: ExtBuffer;
|
||||
}
|
||||
|
||||
interface PrivilegeIcon {
|
||||
jumpUrl: string;
|
||||
openIconList: any[];
|
||||
closeIconList: any[];
|
||||
}
|
||||
|
||||
interface VasInfo {
|
||||
vipFlag: boolean;
|
||||
yearVipFlag: boolean;
|
||||
svipFlag: boolean;
|
||||
vipLevel: number;
|
||||
bigClub: boolean;
|
||||
bigClubLevel: number;
|
||||
nameplateVipType: number;
|
||||
grayNameplateFlag: number;
|
||||
superVipTemplateId: number;
|
||||
diyFontId: number;
|
||||
pendantId: number;
|
||||
pendantDiyId: number;
|
||||
faceId: number;
|
||||
vipFont: number;
|
||||
vipFontType: number;
|
||||
magicFont: number;
|
||||
fontEffect: number;
|
||||
newLoverDiamondFlag: number;
|
||||
extendNameplateId: number;
|
||||
diyNameplateIDs: any[];
|
||||
vipStartFlag: number;
|
||||
vipDataFlag: number;
|
||||
gameNameplateId: string;
|
||||
gameLastLoginTime: string;
|
||||
gameRank: number;
|
||||
gameIconShowFlag: boolean;
|
||||
gameCardId: string;
|
||||
vipNameColorId: string;
|
||||
privilegeIcon: PrivilegeIcon;
|
||||
}
|
||||
|
||||
interface RelationFlags {
|
||||
topTime: string;
|
||||
isBlock: boolean;
|
||||
isMsgDisturb: boolean;
|
||||
isSpecialCareOpen: boolean;
|
||||
isSpecialCareZone: boolean;
|
||||
ringId: string;
|
||||
isBlocked: boolean;
|
||||
recommendImgFlag: number;
|
||||
disableEmojiShortCuts: number;
|
||||
qidianMasterFlag: number;
|
||||
qidianCrewFlag: number;
|
||||
qidianCrewFlag2: number;
|
||||
isHideQQLevel: number;
|
||||
isHidePrivilegeIcon: number;
|
||||
}
|
||||
|
||||
|
||||
interface CommonExt {
|
||||
constellation: number;
|
||||
shengXiao: number;
|
||||
kBloodType: number;
|
||||
homeTown: string;
|
||||
makeFriendCareer: number;
|
||||
pos: string;
|
||||
college: string;
|
||||
country: string;
|
||||
province: string;
|
||||
city: string;
|
||||
postCode: string;
|
||||
address: string;
|
||||
regTime: number;
|
||||
interest: string;
|
||||
labels: any[];
|
||||
qqLevel: QQLevel;
|
||||
}
|
||||
|
||||
interface Pic {
|
||||
picId: string;
|
||||
picTime: number;
|
||||
picUrlMap: Record<string, string>;
|
||||
}
|
||||
|
||||
interface PhotoWall {
|
||||
picList: Pic[];
|
||||
}
|
||||
|
||||
interface SimpleInfo {
|
||||
uid: string;
|
||||
uin: string;
|
||||
coreInfo: CoreInfo;
|
||||
baseInfo: BaseInfo;
|
||||
status: UserStatus;
|
||||
vasInfo: VasInfo;
|
||||
relationFlags: RelationFlags;
|
||||
otherFlags: any;
|
||||
intimate: any;
|
||||
}
|
||||
|
||||
export interface UserDetailInfoListenerArg {
|
||||
uid: string;
|
||||
uin: string;
|
||||
simpleInfo: SimpleInfo;
|
||||
commonExt: CommonExt;
|
||||
photoWall: PhotoWall;
|
||||
}
|
||||
export interface ModifyProfileParams {
|
||||
nick: string,
|
||||
longNick: string,
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { User } from '@/core/entities';
|
||||
import { User, UserDetailInfoListenerArg } from '@/core/entities';
|
||||
|
||||
interface IProfileListener {
|
||||
onProfileSimpleChanged(...args: unknown[]): void;
|
||||
|
||||
onUserDetailInfoChanged(arg: UserDetailInfoListenerArg): void;
|
||||
onProfileDetailInfoChanged(profile: User): void;
|
||||
|
||||
onStatusUpdate(...args: unknown[]): void;
|
||||
@ -18,6 +18,9 @@ export interface NodeIKernelProfileListener extends IProfileListener {
|
||||
}
|
||||
|
||||
export class ProfileListener implements IProfileListener {
|
||||
onUserDetailInfoChanged(arg: UserDetailInfoListenerArg): void {
|
||||
|
||||
}
|
||||
onProfileSimpleChanged(...args: unknown[]) {
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user