在实时互动-教育版的课堂中,当有用户进入或离开课堂时,系统会默认显示相应的提示消息。在某些场景下,业务侧可能需要对这些消息进行过滤或自定义控制,以提供更好的用户体验。
本文档将介绍如何使用 Web 端 SDK 提供的 API 来灵活控制进出课堂的消息显示。
功能特性
全局控制:一键开启或关闭所有进出课堂的消息。
精准过滤:基于用户角色进行精准控制消息展示。
实现方法
使用 setMemberJoinExitRoomInfoFilter 方法可以过滤用户进出课堂消息的显示。
基础用法
TCIC.SDK.instance.setMemberJoinExitRoomInfoFilter(function (msg) {console.log('进出课堂消息:', msg);if (msg.userId === 'your_user_id') {return false;}// return true 表示过滤掉(不显示)该消息// return false 表示显示该消息return true; // 过滤掉所有消息});
基于用户角色的过滤
TCIC.SDK.instance.setMemberJoinExitRoomInfoFilter(({ msg }) => {try {// 解析消息数据const messageData = JSON.parse(msg.data);const userRole = messageData.data.data[0].role;// 角色说明:// 0 - 学生// 1 - 老师// 2 - 助教// 3 - 巡课// 过滤掉巡课的进出课堂消息if (userRole === 3) {return true;}return false; // 显示其他角色的消息} catch (error) {console.error('消息解析错误:', error);return false; // 解析失败时默认显示}});