You need to sign in or sign up before continuing.
远程教学相关文档.md 3.26 KB

简介

盒子鱼远程教学基于腾讯云通信IM的自定义消息进行客户端之间的通信与动作协调。
老师端的教学动作和学生端的学习动作都会产生相应的消息通知给相应的客户端。

关于登录

1. 发送请求
http://192.168.0.100:8788/home/sign?identifier=7 (identifier是用户id)

2. 在返回的Json信息中获取urlSig
 {
    errMessage = "";
    expireTime = 0;
    initTime = 0;
    urlSig = "eJxNkEtvgzAQhP*Lz1WLXyGulAPpI6KhSVOoUHuxCLbRFkEcMFWiqv89gIjUve3MzjfS-qIkim9bVcrMWlDoHmHm9cMo5*hmNPXJQqNlZpxuBp9zTvqLyR1jMnOSNkP6Kjuo9Ajj3Pcoo2zSQenagYER5V8ZeX7oaifd2ep-jBaKfnt92j2Ey50Q7-5jflrOWQhf*83LJkhVQsqOCHNerUnxNlOdnVW8CiCoton63pa4BBYdXVtEdybVeL7-iEUAKxP74hiy9Sd*TovFYir70U0Lh7ovJB7mmNDhCx76uwCbqVSq";    
}

3. 设置TIMLoginParam
以下以IOS代码为例
#define TIMAppid 1400004355
#define TIMAppidString @"1400004355"
#define TIMAccountType @"2243"

 TIMLoginParam *param = [[TIMLoginParam alloc] init];
 param.userSig = sig;
 param.identifier = identifier;
 param.sdkAppId = TIMAppid;
 param.appidAt3rd = TIMAppidString;
 param.accountType = TIMAccountType;

4. 利用TIMManager进行登录操作

消息定义

采用Json格式发送命令信息 通用的命令信息应该包括command键值对以区分不同的命令。

控件Id定义

详细内容

流程相关消息

详细内容

  • 启动课程

    • type = flow
    • command = prepareCourse
    • resourceInfo = 本课需要下载的资源列表
    • screenWidth = 屏幕宽度
    • screenHeight = 屏幕高度
  • 发送课程页信息

    • type = flow
    • command = coursePage
    • pageInfo = 页面Json信息
  • 结束课程

    • type = flow
    • command = endCourse

页面动作相关消息

详细内容

页面动作相关消息应该附加上消息在页面内的操作序号,通过客户端逻辑保证教师版和学生版的操作顺序一致。

页面动作命令定义

通用的基本动作定义

  • 按钮点击(command:clickButton)
  • 单击控件(command:singleTap)
  • 双击控件(command:doubleTap)
  • 分段控件的点击(command:clickSegmentedControl)
  • 分页ScrollView的滚动(command:gotoSpecifiedScrollViewPage)

例子

type:templateAction
command:clickButton
controlId:WordExplanationTextSwitcher
index:2(保证页面内消息按顺序)

type:templateAction
command:clickSegmentedControl
controlId:WordCompareSegmentedControl
parameter:1(在这里是分段的索引)
index:2(保证页面内消息按顺序)

type:templateAction
command:gotoSpecifiedScrollViewPage
controlId:LogicTreeScrellView
parameter:3(在这里是页码)
index:2(保证页面内消息按顺序)

多媒体播放器动作定义

  • 播放(play)
  • 暂停(pause)
  • 停止(stop)
  • 全屏(fullscreen)
  • 小屏(smallscreen)
  • 进度消息(progress)
type:templateAction
subType:playerAction
command:play
index:2

type:templateAction
subType:playerAction
command:progress
parameter:进度百分比(这个应该更通用)
index:2

画板相关消息

详细内容

回答相关消息

详细内容

消息的顺序保证机制

详细内容