refactor: GoCQHTTP_GetStrangerInfo

This commit is contained in:
手瓜一十雪
2024-06-05 11:19:34 +08:00
parent fb08812a78
commit 37b59264e2
45 changed files with 136 additions and 54 deletions

View File

@@ -1,14 +1,15 @@
import BaseAction from '../BaseAction';
import { OB11User } from '../../types';
import { OB11User, OB11UserSex } from '../../types';
import { OB11Constructor } from '../../constructor';
import { ActionName } from '../types';
import { NTQQUserApi } from '@/core/apis/user';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import { calcQQLevel } from '@/common/utils/qqlevel';
const SchemaData = {
type: 'object',
properties: {
user_id: { type: [ 'number' , 'string' ] },
user_id: { type: ['number', 'string'] },
},
required: ['user_id']
} as const satisfies JSONSchema;
@@ -20,12 +21,23 @@ export default class GoCQHTTPGetStrangerInfo extends BaseAction<Payload, OB11Use
protected async _handle(payload: Payload): Promise<OB11User> {
const user_id = payload.user_id.toString();
//logDebug('uidMaps', uidMaps);
// const uid = getUidByUin(user_id);
// if (!uid) {
// throw new Error('查无此人');
// }
// !!!!!!!!!!!!!!!需要重构
return OB11Constructor.stranger(await NTQQUserApi.getUserDetailInfo((await NTQQUserApi.getUidByUin(user_id))!));
let extendData = await NTQQUserApi.getUserDetailInfoByUin(user_id);
let uid = (await NTQQUserApi.getUidByUin(user_id))!;
if (!uid || uid.indexOf('*') != -1) {
let ret = {
...extendData,
user_id: parseInt(extendData.info.uin) || 0,
nickname: extendData.info.nick,
sex: OB11UserSex.unknown,
age: (extendData.info.birthday_year == 0) ? 0 : new Date().getFullYear() - extendData.info.birthday_year,
qid: extendData.info.qid,
level: extendData.info.qqLevel && calcQQLevel(extendData.info.qqLevel) || 0,
login_days: 0,
uid: ''
}
return ret;
}
let data = { ...extendData, ...(await NTQQUserApi.getUserDetailInfo(uid)) };
return OB11Constructor.stranger(data);
}
}

View File

@@ -521,7 +521,7 @@ export class OB11Constructor {
}
static stranger(user: User): OB11User {
logDebug('construct ob11 stranger', user);
//logDebug('construct ob11 stranger', user);
return {
...user,
user_id: parseInt(user.uin),
@@ -535,7 +535,7 @@ export class OB11Constructor {
}
static groupMembers(group: Group): OB11GroupMember[] {
logDebug('construct ob11 group members', group);
//logDebug('construct ob11 group members', group);
return Array.from(groupMembers.get(group.groupCode)?.values() || []).map(m => OB11Constructor.groupMember(group.groupCode, m));
}