userid
)信息。token
信息。classid
)信息。scene
、debugjs
、debugcss
为非必填参数,在需要自定义 UI 时才需设置,具体可参考自定义 UI 集成。其中debugjs
和debugcss
只用于自定义布局、组件时的调试,且只支持通过localhost
或127.0.0.1
的地址进行访问,在发布阶段请勿使用此参数。lng
、location
、layout
也是非必填参数,业务侧可自行判断是否需要传入,不传则使用默认值,其中layout
参数只有在教室布局为视频+文档布局(videodoc
)时才生效。字段 | 类型 | 含义 | 备注 | 必填 | |
userid | string | 用户名 | 是 | | |
classid | string | 课堂 ID | 是 | | |
token | string | 后台鉴权参数 | 是 | | |
version | string | 课堂版本号 | (从tcic-electron-sdk v1.9.0版本起将正式废弃此参数)通过发布日志选择对应版本 | 否 | |
scene | string | 场景名称 | 否 | | |
role | string | 进入课堂角色,默认空 | 否 | | |
debugjs | string | 自定义 UI 的 JS 链接 | 通过自定义 UI 集成方式获取 | 否 | |
debugcss | string | 自定义 UI 的 CSS 链接 | 通过自定义 UI 集成方式获取 | 否 | |
lng | string | 语言参数,默认 zh-CN | 当前支持 zh-CN、en-US | 否 | |
location | boolean | 是否上报经纬度位置信息 | 默认 false 不上报 | 否 | |
layout | string | 页面布局 | 默认顶部布局(top),当前支持双排布局(double)、右侧布局(right)、左侧布局(left)、三分布局(three) | 否 | |
tcic://class.qcloudclass.com/latest/class.html?classid=${classId}&userid=${userId}&token=${token}
上时,浏览器会请求打开 LCIC-Demo 客户端。tcic://class.qcloudclass.com/latest/class.html?classid=${classId}&userid=${userId}&token=${token}
上,即可唤起客户端应用。// ElectronProtocolCheck 文件代码见github示例import ElectronProtocolCheck from './ElectronProtocolCheck';// 需要进入课堂的idconst classId = 368507569;// 当前进入课堂用户的idconst userId = "JIUzI1NiIsIn123456";// token 需要动态从后台接口获取,防止登录态过期失效const token = 'yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODAwNzQwMjEsImlhdCI6MTY3OTQ2OTIyMSwiaXNzIjoibFpNQ2tvTjNkSGlnVmhhcXJkdFc0cU9JYWpleVh2RWwiLCJzY2hvb2xfaWQiOjM5MjMxOTMsInVzZXJfaWQiOiIyTG9XREU2aHhzOUNCNVhCczZHT1BnVXpweUgifQ.2wzh6eUC4llbbGhchGDOYbDrsdSdymfP3zjLLPjnOII';const url = `tcic://class.qcloudclass.com/latest/class.html?classid=${classId}&userid=${userId}&token=${token}`;console.log(`callClient->start: ${url}`);// 唤起客户端ElectronProtocolCheck(url,successCallBack: (res) => {// 呼起成功console.log('callClient->success! ');},failCallBack: (res) => {console.log('callClient->failed! ');// 没有呼起来, 建议此处实现提示下载的弹窗// 如果用户点击下载 --> 换弹窗口信息,打开客户端。// 如果用户取消下载或关闭弹窗。在让用户尝试体验web/H5 版本的课堂// 也可以加上超时弹窗 一般 2500ms 内用户没有做出点击操作,可以出现模态点击框},unsupportedCallBack: () {// 浏览器不支持等情况,可以走 web 链接加载});
userid
与当前课堂指定的teacherid
是一致的,则当前用户为老师。若与当前课堂的助教 ID(assistantid
)一致,则为助教,否则为学生。开发框架 | 版本 |
Electron | 10.4.3+ |
Node | 10.14.1+ |
npm install tcic-electron-sdk@latest
const TCIC = require('tcic-electron-sdk')TCIC.initialize({classId: '368507569',userId: '123456',token: 'yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODAwNzQwMjEsImlhdCI6MTY3OTQ2OTIyMSwiaXNzIjoibFpNQ2tvTjNkSGlnVmhhcXJkdFc0cU9JYWpleVh2RWwiLCJzY2hvb2xfaWQiOjM5MjMxOTMsInVzZXJfaWQiOiIyTG9XREU2aHhzOUNCNVhCczZHT1BnVXpweUgifQ.2wzh6eUC4llbbGhchGDOYbDrsdSdymfP3zjLLPjnOII',})
window
全局变量上的 joinClass
方法进入课堂 ,若之前业务侧已通过 URL 或 SDK 集成方式实现进课逻辑,可参考以下示例进行兼容。const options = {classId: '368507569',userId: '123456',token: 'yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODAwNzQwMjEsImlhdCI6MTY3OTQ2OTIyMSwiaXNzIjoibFpNQ2tvTjNkSGlnVmhhcXJkdFc0cU9JYWpleVh2RWwiLCJzY2hvb2xfaWQiOjM5MjMxOTMsInVzZXJfaWQiOiIyTG9XREU2aHhzOUNCNVhCczZHT1BnVXpweUgifQ.2wzh6eUC4llbbGhchGDOYbDrsdSdymfP3zjLLPjnOII',};// 点击进入课堂的逻辑方法window.joinClass(options);// 如何同时兼容原有逻辑呢?请参考下面的代码逻辑// 判断是否存在这个方法if (window.joinClass) {window.joinClass(options);} else {// 原有的进入课堂逻辑}
window
全局变量上的closeWin
关闭当前的客户端。 window.closeWin();
字段 | 含义 | 必填 |
AppName | App 名称,如XX课堂 | 是 |
Logo | 应用 Logo,请提供规格为256x256的 ico/png 图片 | 是 |
URL | 业务 URL | 是 |
debugjs
及debugcss
参数拼接到上方的链接上即可(此参数只用于调试),如下代码所示:// URL拼接方式const url = `tcic://class.qcloudclass.com/latest/class.html?classid=${classId}&userid=${userId}&token=${token}debugjs=http://localhost:443/demo/dist/myLib.umd.min.js&debugcss=http://localhost:443/demo/dist/myLib.css`;// SDK集成方式TCIC.initialize({classId: '368507569',userId: '123456',token: 'yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODAwNzQwMjEsImlhdCI6MTY3OTQ2OTIyMSwiaXNzIjoibFpNQ2tvTjNkSGlnVmhhcXJkdFc0cU9JYWpleVh2RWwiLCJzY2hvb2xfaWQiOjM5MjMxOTMsInVzZXJfaWQiOiIyTG9XREU2aHhzOUNCNVhCczZHT1BnVXpweUgifQ.2wzh6eUC4llbbGhchGDOYbDrsdSdymfP3zjLLPjnOII',})// 流水线打包方式const options = {classId: '368507569',userId: '123456',token: 'yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODAwNzQwMjEsImlhdCI6MTY3OTQ2OTIyMSwiaXNzIjoibFpNQ2tvTjNkSGlnVmhhcXJkdFc0cU9JYWpleVh2RWwiLCJzY2hvb2xfaWQiOjM5MjMxOTMsInVzZXJfaWQiOiIyTG9XREU2aHhzOUNCNVhCczZHT1BnVXpweUgifQ.2wzh6eUC4llbbGhchGDOYbDrsdSdymfP3zjLLPjnOII',};window.joinClass(options);
scene
参数拼接到 URL 或添加到对应入参上,即可加载对应场景的布局及组件。在涉及多种班型、多种布局时,业务侧可根据此参数实现场景的切换。
本页内容是否解决了您的问题?