Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
trtc-electron-education
Advanced tools
您可以下载安装我们的Demo体验实时互动课堂的能力效果,包括语音、视频、屏幕分享等上课方式,还封装了老师开始问答、学生举手、老师邀请学生上台回答、结束回答等相关能力。
如需快速实现实时互动课堂功能,可以直接基于我们提供的 Demo 进行修改适配,也可以使用我们提供的 trtc-electron-education组件并实现自定义 UI 界面。
TestEduDemo
,单击【创建应用】。说明:本功能同时使用了腾讯云 实时音视频 TRTC 和 即时通信 IM 两个基础 PAAS 服务,开通实时音视频后会同步开通即时通信 IM 服务。
注意:本文提到的生成 UserSig 的方案是在客户端代码中配置 SECRETKEY,该方法中 SECRETKEY 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量,因此该方法仅适合本地跑通 Demo 和功能调试。 正确的 UserSig 签发方式是将 UserSig 的计算代码集成到您的服务端,并提供面向 App 的接口,在需要 UserSig 时由您的 App 向业务服务器发起请求获取动态 UserSig。更多详情请参见 服务端生成 UserSig。
// 安装yarn,demo基于yarn管理
$ npm install yarn -g
// 安装所需依赖
$ yarn install
// 开发调试
$ yarn dev
// 打包
$ yarn package
注意:
Demo所用框架技术
如下表格列出了各个文件及其所对应的 UI 界面,以便于您进行二次调整:
文件 | 功能描述 |
---|---|
app/containers/HomePage.tsx | 进入教室UI的实现代码 |
app/containers/ClassRoomPage.tsx | 教室UI的实现代码 |
app/components/TeacherClass.tsx | 教室-老师端UI的实现代码 |
app/components/StudentClass.tsx | 教室-学生端UI的实现代码 |
app/components/Chat.tsx | 教室-聊天室UI的实现代码 |
app/components/UserList.tsx | 教室-成员列表UI的实现代码 |
您可以使用封装好的trtc-electron-education组件实现自定义UI界面
// yarn方式引入
$ yarn add trtc-electron-education
// npm方式引入
$ npm i trtc-electron-education --save
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
sdkAppId | number | - | 必填参数,开通腾讯云实时音视频TRTC和腾讯云即时通信IM服务创建应用后分配的 sdkAppId |
userID | string | - | 必填参数,用户 ID,可以由您的帐号体系指定 |
userSig | string | - | 必填参数,身份签名(即相当于登录密码),由 userID 计算得出,具体计算方法请参见 如何计算 UserSig |
import TrtcElectronEducation from 'trtc-electron-education';
const rtcClient = new TrtcElectronEducation({
sdkAppId: 1400***803,
userID: '123'
userSig: 'eJwtzM9****-reWMQw_'
});
const params = {
classId, // 教室ID
nickName // 昵称
}
rtcClient.createRoom(params).then(() => {
//成功创建教室
})
rtcClient.enterRoom({
role: 'teacher', // 角色
classId // 教室ID
})
const domEle = document.getElementById('test');
rtcClient.openCamera(domEle)
const screenList = rtcClient.getScreenShareList()
再调用组件的startScreenCapture开始推屏幕分享的流
rtcClient.startScreenCapture({
type,// 采集源类型
sourceId,// 采集源ID,对于窗口,该字段指示窗口句柄;对于屏幕,该字段指示屏幕ID
sourceName // 采集源名称,UTF8编码
})
rtcClient.startQuestionTime(classId) // classId是教室ID
rtcClient.inviteToPlatform(userID) // 邀请学生上台的userID
rtcClient.finishAnswering(userID)// 禁麦学生上台的userID
rtcClient.enterRoom({
role: 'teacher', // 角色
classId // 教室ID
})
rtcClient.raiseHand()
老师端和学生端可以使用聊天室互发一些文本消息。
const params = {
classId: classId, // 教室ID
message: '你好' // 消息文本
}
rtcClient.sendTextMessage(params) // 发送聊天室消息
FAQs
The npm package trtc-electron-education receives a total of 1 weekly downloads. As such, trtc-electron-education popularity was classified as not popular.
We found that trtc-electron-education demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.