From f9a60795f5f1be9af07947788cb9a143e0d2ae44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Wed, 10 Jul 2024 21:33:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20uid=E8=BD=AC=E6=8D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/src/apis/user.ts | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/core/src/apis/user.ts b/src/core/src/apis/user.ts index 150574b8..f5db8cf7 100644 --- a/src/core/src/apis/user.ts +++ b/src/core/src/apis/user.ts @@ -170,16 +170,27 @@ export class NTQQUserApi { 5000, [Uin] ); - let uid = ret.uidInfo.get(Uin); - //let t = await NTQQUserApi.getUserDetailInfoByUin(Uin); + let uid = ret.uidInfo.get(Uin); //通过QQ默认方式转换 if (!uid) { - uid = (await NTQQFriendApi.getFriends(true)).find((t) => { t.uin == Uin })?.uid; + Array.from(friends.values()).forEach((t) => { + if (t.uid == Uin) { + uid = t.uid; + } + //console.log(t.uid, t.uin, Uin); + }); + //uid = Array.from(friends.values()).find((t) => { t.uin == Uin })?.uid; // 从NC维护的QQ Buddy缓存 转换 } if (!uid) { - uid = Array.from(friends.values()).find((t) => { t.uin == Uin })?.uid; + uid = (await NTQQFriendApi.getFriends(false)).find((t) => { t.uin == Uin })?.uid; //从QQ Native 缓存转换 方法一 } if (!uid) { - //uid获取失败 + uid = (await NTQQFriendApi.getFriends(true)).find((t) => { t.uin == Uin })?.uid; //从QQ Native 非缓存转换 方法二 + } + if (!uid) { + let unveifyUid = (await NTQQUserApi.getUserDetailInfoByUin(Uin)).info.uid;//从QQ Native 特殊转换 方法三 + if (unveifyUid.indexOf("*") == -1) { + uid = unveifyUid; + } } return uid; }