handUp method
Implementation
Future<void> handUp(String userId) async {
// 判断当前已经上台人数和课堂最大允许上台人数
var classInfo = await getClassInfo();
if (classInfo != null) {
final maxRtcMember = classInfo.roomInfo.maxRtcMember;
final currentRtcMember =
_membersInfoObs.memberIds.where((memberId) {
final member = _membersInfoObs.membersInfo[memberId];
return member?.stage == 1 && member?.role != RoleEnum.teacher.index;
}).length;
TCICLog.info("maxRtcMember: $maxRtcMember currentRtcMember: $currentRtcMember", actionModule: ActionModule.tcicController.name, actionName: ActionName.handUp.name);
if (maxRtcMember > 0) {
if (currentRtcMember >= maxRtcMember) {
TCICLog.error("当前课程已经达到最大上台人数", actionModule: ActionModule.tcicController.name, actionName: ActionName.handUp.name);
TCICToast.show(StringEnum.maxOnStageTips);
return;
}
await sendAction(userId, MemberActionType.handUp);
} else {
TCICLog.error("当前课程不允许用户上台", actionModule: ActionModule.tcicController.name, actionName: ActionName.handUp.name);
TCICToast.show(StringEnum.maxOnStageTips);
}
} else {
TCICLog.error("当前课程不存在", actionModule: ActionModule.tcicController.name, actionName: ActionName.handUp.name);
TCICToast.show(StringEnum.classNotExist);
}
}