diff --git a/src/ntqqapi/api/friend.ts b/src/ntqqapi/api/friend.ts
index 2c84522..21b6eb0 100644
--- a/src/ntqqapi/api/friend.ts
+++ b/src/ntqqapi/api/friend.ts
@@ -4,7 +4,6 @@ import { invoke, NTMethod, NTClass } from '../ntcall'
 import { getSession } from '@/ntqqapi/wrapper'
 import { BuddyListReqType, NodeIKernelProfileService } from '../services'
 import { NTEventDispatch } from '@/common/utils/eventTask'
-import { LimitedHashTable } from '@/common/utils/table'
 import { pick } from 'cosmokit'
 import { Service, Context } from 'cordis'
 
@@ -101,8 +100,9 @@ export class NTQQFriendApi extends Service {
     }
   }
 
-  async getBuddyIdMap(refresh = false): Promise<LimitedHashTable<string, string>> {
-    const retMap: LimitedHashTable<string, string> = new LimitedHashTable<string, string>(5000)
+  /** uid => uin */
+  async getBuddyIdMap(refresh = false): Promise<Map<string, string>> {
+    const retMap: Map<string, string> = new Map()
     const session = getSession()
     if (session) {
       const uids: string[] = []
@@ -112,9 +112,12 @@ export class NTQQFriendApi extends Service {
       const data = await NTEventDispatch.CallNoListenerEvent<NodeIKernelProfileService['getCoreAndBaseInfo']>(
         'NodeIKernelProfileService/getCoreAndBaseInfo', 5000, 'nodeStore', uids
       )
-      data.forEach((value, key) => {
-        retMap.set(value.uin!, value.uid!)
-      })
+      for (const [, item] of data) {
+        if (retMap.size > 5000) {
+          break
+        }
+        retMap.set(item.uid!, item.uin!)
+      }
     } else {
       const data = await invoke<{
         buddyCategory: CategoryFriend[]
@@ -129,7 +132,10 @@ export class NTQQFriendApi extends Service {
         }
       )
       for (const item of Object.values(data.userSimpleInfos)) {
-        retMap.set(item.uin!, item.uid!)
+        if (retMap.size > 5000) {
+          break
+        }
+        retMap.set(item.uid!, item.uin!)
       }
     }
     return retMap
diff --git a/src/ntqqapi/api/user.ts b/src/ntqqapi/api/user.ts
index 00fe4dd..1f15688 100644
--- a/src/ntqqapi/api/user.ts
+++ b/src/ntqqapi/api/user.ts
@@ -210,11 +210,11 @@ export class NTQQUserApi extends Service {
       uid = (await session.getUixConvertService().getUid([uin])).uidInfo.get(uin)
       if (uid) return uid
     } else {
-      let uid = (await invoke('nodeIKernelGroupService/getUidByUins', [{ uin: [uin] }, null])).uids.get(uin)
+      let uid = (await invoke('nodeIKernelGroupService/getUidByUins', [{ uin: [uin] }])).uids.get(uin)
       if (uid) return uid
-      uid = (await invoke('nodeIKernelProfileService/getUidByUin', [{ callFrom: 'FriendsServiceImpl', uin: [uin] }, null])).get(uin)
+      uid = (await invoke('nodeIKernelProfileService/getUidByUin', [{ callFrom: 'FriendsServiceImpl', uin: [uin] }])).get(uin)
       if (uid) return uid
-      uid = (await invoke('nodeIKernelUixConvertService/getUid', [{ uins: [uin] }, null])).uidInfo.get(uin)
+      uid = (await invoke('nodeIKernelUixConvertService/getUid', [{ uins: [uin] }])).uidInfo.get(uin)
       if (uid) return uid
     }
     const unveifyUid = (await this.getUserDetailInfoByUinV2(uin)).detail.uid //从QQ Native 特殊转换
@@ -280,14 +280,14 @@ export class NTQQUserApi extends Service {
       uin = (await session.getUixConvertService().getUin([uid])).uinInfo.get(uid)
       if (uin) return uin
     } else {
-      let uin = (await invoke('nodeIKernelGroupService/getUinByUids', [{ uid: [uid] }, null])).uins.get(uid)
+      let uin = (await invoke('nodeIKernelGroupService/getUinByUids', [{ uid: [uid] }])).uins.get(uid)
       if (uin) return uin
-      uin = (await invoke('nodeIKernelProfileService/getUinByUid', [{ callFrom: 'FriendsServiceImpl', uid: [uid] }, null])).get(uid)
+      uin = (await invoke('nodeIKernelProfileService/getUinByUid', [{ callFrom: 'FriendsServiceImpl', uid: [uid] }])).get(uid)
       if (uin) return uin
-      uin = (await invoke('nodeIKernelUixConvertService/getUin', [{ uids: [uid] }, null])).uinInfo.get(uid)
+      uin = (await invoke('nodeIKernelUixConvertService/getUin', [{ uids: [uid] }])).uinInfo.get(uid)
       if (uin) return uin
     }
-    let uin = (await this.ctx.ntFriendApi.getBuddyIdMap(true)).getKey(uid)
+    let uin = (await this.ctx.ntFriendApi.getBuddyIdMap(true)).get(uid)
     if (uin) return uin
     uin = (await this.getUserDetailInfo(uid)).uin //从QQ Native 转换
     return uin