AitManager constructor
AitManager(
- String teamId, {
- 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);
}