fix: 修复一些数据问题

This commit is contained in:
手瓜一十雪
2025-03-27 12:15:53 +08:00
parent 673a175ddf
commit 83e73d9842

View File

@@ -90,7 +90,13 @@ export class NTQQUserApi {
() => true, () => true,
(profile) => profile.uid === uid, (profile) => profile.uid === uid,
); );
const RetUser: User = { return profile;
}
async getUserDetailInfo(uid: string): Promise<User> {
let profile = await solveAsyncProblem(async (uid) => this.fetchUserDetailInfo(uid, UserDetailSource.KDB), uid);
if (profile && profile.uin !== '0' && profile.commonExt) {
return {
...profile.simpleInfo.status, ...profile.simpleInfo.status,
...profile.simpleInfo.vasInfo, ...profile.simpleInfo.vasInfo,
...profile.commonExt, ...profile.commonExt,
@@ -101,33 +107,23 @@ export class NTQQUserApi {
pendantId: '', pendantId: '',
nick: profile.simpleInfo.coreInfo.nick || '', nick: profile.simpleInfo.coreInfo.nick || '',
}; };
return RetUser;
}
async getUserDetailInfo(uid: string): Promise<User> {
let retUser = await solveAsyncProblem(async (uid) => this.fetchUserDetailInfo(uid, UserDetailSource.KDB), uid);
if (retUser && retUser.uin !== '0') {
return retUser;
} }
this.context.logger.logDebug('[NapCat] [Mark] getUserDetailInfo Mode1 Failed.'); this.context.logger.logDebug('[NapCat] [Mark] getUserDetailInfo Mode1 Failed.');
retUser = await this.fetchUserDetailInfo(uid, UserDetailSource.KSERVER); profile = await this.fetchUserDetailInfo(uid, UserDetailSource.KSERVER);
if (retUser && retUser.uin === '0') { if (profile && profile.uin === '0') {
retUser.uin = await this.core.apis.UserApi.getUidByUinV2(uid) ?? '0'; profile.uin = await this.core.apis.UserApi.getUidByUinV2(uid) ?? '0';
} }
return retUser; return {
} ...profile.simpleInfo.status,
...profile.simpleInfo.vasInfo,
async getUserDetailInfoV2(uid: string): Promise<User> { ...profile.commonExt,
const fallback = new Fallback<User>((user) => FallbackUtil.boolchecker(user, user !== undefined && user.uin !== '0')) ...profile.simpleInfo.baseInfo,
.add(() => this.fetchUserDetailInfo(uid, UserDetailSource.KDB)) ...profile.simpleInfo.coreInfo,
.add(() => this.fetchUserDetailInfo(uid, UserDetailSource.KSERVER)); qqLevel: profile.commonExt?.qqLevel,
const retUser = await fallback.run().then(async (user) => { age: profile.simpleInfo.baseInfo.age,
if (user && user.uin === '0') { pendantId: '',
user.uin = await this.core.apis.UserApi.getUidByUinV2(uid) ?? '0'; nick: profile.simpleInfo.coreInfo.nick || '',
} };
return user;
});
return retUser;
} }
async modifySelfProfile(param: ModifyProfileParams) { async modifySelfProfile(param: ModifyProfileParams) {