修改下课按钮行为

最近更新时间:2023-11-01 15:20:31

我的收藏
说明:
阅读本章节前,请确保您已经了解 快速开始 的内容。当我们希望老师不能提前下课,那么就可以修改下课按钮的行为。



粘贴以下代码到 快速开始 里准备好的test.js中,即可实现修改下课按钮。
/**
* 注入JS会在全局环境下找到TCIC对象
* TCIC.SDK.instance 为SDK实例
* TCIC.TMainState 为SDK状态枚举
* TCIC.TMainEvent 为事件名枚举
* TCIC.TMainEvent.Show_Msg_Box 表示出现弹窗组件时抛出的事件,
* 监听此事件可以捕获弹窗配置,可以通过修改配置的方式改变弹窗内容,
* 但无法修改已绑定业务事件的按钮,如果有需要可以清空原按钮,注入自己的,如下所示:
*/
TCIC.SDK.instance.on(TCIC.TMainEvent.Show_Msg_Box, (data) => {
let classInfos = TCIC.SDK.instance.getClassInfo();
let endTime = new Date(classInfos.endTime * 1000);
let now = new Date();
/**
* 课堂还没结束
* 所有下课相关内容都需要隐藏
* 更改弹窗文案
*/
if (now.getTime() < endTime.getTime()) {
/**
* 延迟取dom,因为在弹窗出现之前,dom是不存在的
*/
setTimeout(() => {
let dialog = document.getElementById(
`msg-box-component-${data.msgBoxId}`
);
let footer = dialog.querySelector(".dialog-footer");
let myclickBtn = document.createElement("BUTTON");
myclickBtn.className = "el-button el-button--primary";
myclickBtn.innerText = "确定";
myclickBtn.addEventListener("click", () => {
/**
* 这里填入你的地址
*/
window.location.href =
"https://class.qcloudclass.com/latest/login.html";
});
footer.appendChild(myclickBtn);
}, 20);
if (data.title === "确认下课/离开课堂?") {
data.title = "暂时离开课堂?";
data.message = "";
// 清空所有绑定事件的按钮,用自己的代替
data.buttons = [];
}
}
return data;
});

其它

更多 SDK 方法请参考 TCIC-SDK API 文档