AitManager constructor

AitManager(
  1. String teamId, {
  2. bool isP2P = false,
})

Implementation

AitManager(this.teamId, {this.isP2P = false}) {
  // _aiUserList 只保存 AI 数字人,不混入群成员,防止切换群聊时旧群成员污染新群
  _aiUserList = AIUserManager.instance
      .getAIChatUserList()
      .map((e) => AitBean(aiUser: e))
      .toList();

  if (!isP2P) {
    // 初始加载:AI用户 + 当前群成员
    _aitMemberList.value = _buildAitList(NIMChatCache.instance.teamMembers);
    // 监听群成员变化,动态刷新列表
    _teamSub = NIMChatCache.instance.teamMembersNotifier.listen((event) {
      _aitMemberList.value = _buildAitList(event);
    });
  } else {
    // P2P 场景:只展示 AI 数字人,不监听群成员变化
    _aitMemberList.value = _aiUserList!;
  }
  _scrollController.addListener(_scrollListener);
}