This commit is contained in:
手瓜一十雪
2024-09-13 13:54:12 +08:00
parent 11aa3a0315
commit 90a91e4105
3 changed files with 22 additions and 20 deletions

View File

@@ -209,7 +209,8 @@ export function getQQVersionConfigPath(exePath: string = ''): string | undefined
return configVersionInfoPath; return configVersionInfoPath;
} }
export function calcQQLevel(level: QQLevel) { export function calcQQLevel(level?: QQLevel) {
if (!level) return 0;
const { crownNum, sunNum, moonNum, starNum } = level; const { crownNum, sunNum, moonNum, starNum } = level;
return crownNum * 64 + sunNum * 16 + moonNum * 4 + starNum; return crownNum * 64 + sunNum * 16 + moonNum * 4 + starNum;
} }

View File

@@ -21,24 +21,24 @@ export default class GoCQHTTPGetStrangerInfo extends BaseAction<Payload, OB11Use
async _handle(payload: Payload): Promise<OB11User> { async _handle(payload: Payload): Promise<OB11User> {
const user_id = payload.user_id.toString(); const user_id = payload.user_id.toString();
const extendData = await this.core.apis.UserApi.getUserDetailInfoByUin(user_id); const extendData = await this.core.apis.UserApi.getUserDetailInfoByUin(user_id);
const uid = (await this.core.apis.UserApi.getUidByUinV2(user_id))!; let uid = (await this.core.apis.UserApi.getUidByUinV2(user_id));
if (!uid || uid.indexOf('*') != -1) { if (!uid) uid = extendData.detail.uid;
return { const info = (await this.core.apis.UserApi.getUserDetailInfo(uid));
...extendData.detail.simpleInfo.coreInfo,
...extendData.detail.commonExt, return {
...extendData.detail.simpleInfo.baseInfo, user_id: parseInt(extendData.detail.uin) ?? 0,
...extendData.detail.simpleInfo.relationFlags, nickname: extendData.detail.simpleInfo.coreInfo.nick,
...extendData.detail.simpleInfo.status, age: extendData.detail.simpleInfo.baseInfo.age ?? info.age,
user_id: parseInt(extendData.detail.uin) || 0, qid: extendData.detail.simpleInfo.baseInfo.qid,
nickname: extendData.detail.simpleInfo.coreInfo.nick, qqLevel: calcQQLevel(extendData.detail.commonExt?.qqLevel ?? info.qqLevel),
sex: OB11UserSex.unknown, sex: OB11Entities.sex(extendData.detail.simpleInfo.baseInfo.sex) ?? OB11UserSex.unknown,
age: extendData.detail.simpleInfo.baseInfo.age || 0, long_nick: extendData.detail.simpleInfo.baseInfo.longNick ?? info.longNick,
qid: extendData.detail.simpleInfo.baseInfo.qid, reg_time: extendData.detail.commonExt.regTime ?? info.regTime,
level: calcQQLevel(extendData.detail.commonExt?.qqLevel ?? 0) || 0, is_vip: extendData.detail.simpleInfo.vasInfo?.svipFlag,
login_days: 0, is_years_vip: extendData.detail.simpleInfo.vasInfo?.yearVipFlag,
}; vip_level: extendData.detail.simpleInfo.vasInfo?.vipLevel,
} remark: extendData.detail.simpleInfo.coreInfo.remark ?? info.remark,
const data = { ...extendData, ...(await this.core.apis.UserApi.getUserDetailInfo(uid)) }; status: extendData.detail.simpleInfo.status?.status ?? info.status
return OB11Entities.stranger(data); };
} }
} }

View File

@@ -1,4 +1,5 @@
export interface OB11User { export interface OB11User {
[key: string]: any;
user_id: number; user_id: number;
nickname: string; nickname: string;
remark?: string; remark?: string;