签到
功能概述
本功能只支持角色为讲师/嘉宾/助教/管理员的用户进行发起和停止等操作。
发起签到时可自定义设置签到时长和签到提示语。
代码示例
注意,在开始以下步骤前需要先进行全局初始化设置。可参考文档。
基本流程
const app = new CheckIn();
let appData = {
checkInId: '',
};
// 订阅事件监听。
app
.on('start', ({ checkInId, tips, duration }) => {
appData = Object.assign(appData, { checkInId, tips, duration });
})
.on('stop', () => {})
.on('show-result', ({ checkInId }) => {
// 获取签到详情。
app.getCheckInDetail({ checkInId });
// 调用接口 app.downloadCheckInDetail() 可以下载签到详情的 Excel 文件。
});
// 如果需要多端同步,可以在初始化完成后,获取签到状态及签到文案、剩余时间、总时长等。
const { isCheckingIn } = app.getCheckInStatus();
// 发起签到。操作成功后,'start' 事件会被触发。
app.start({ tips: '同学们,开始签到啦!', duration: 30 });
// 定时器每秒更新签到人数。
let timer = 0;
function clearTimer() {
if (!timer) return;
clearTimeout(timer);
timer = 0;
}
async function updateCheckInNum() {
app.getCheckInNum();
clearTimer();
timer = setTimeout(updateCheckInNum, 1000);
}
updateCheckInNum();
// 结束签到。操作成功后,'stop' 事件会被触发。
app.stop();
// 发送签到统计结果。
app.sendResult(appData.checkInId);
Last updated