echo

Updated 远程教学之流程消息 (markdown)

[返回在线授课相关文档](在线授课相关文档)
### 流程描述(**已过时,需要更新**)
### 流程描述
* 教师端从在线授课课表发起在线授课。
* 教师端从盒子鱼服务器获取在线授课信息
* 公共群信息,用于交互
... ... @@ -21,31 +21,18 @@
* 如果需要下载,则进入下载过程,同时通知教师端,客户端开始下载资源
* 如果不需要下载,或者已经下载完毕,通知教师端已经准备好上课。
* 考虑下载失败的处理
* 学生端进入等待上课的页面
* 客户端在启动的时候,登录腾讯通信云服务,登录后记录状态。在用户登出的的时候,同时登出腾讯通信云服务。
* 教师根据课表打开课程,选择远程教学模式进入,开始远程授课,
* 如果当前登录成功,则教师向服务器申请本次上课所需要的公开群信息和音视频Room的信息(a)。
* 如果当前未登录成功,则再次尝试登录,登录成功后,执行(a)
* 登录不成功,则提示用户,服务当前不可用。请退出重试,或者联系我们。
* 教师创建公开群,并且进入音视频房间,进入后通知盒子鱼服务器通知给相应的学生
* 学生接到通知后选择同意,加入公开群,并且进入音视频房间。
* 如果学生加入群成功,教师端应该能收到有人入群的系统消息
* 如果学生之前已经加入过此群,则通过自定义消息把自己的id信息发送到群里。
* 以上两种情况,教师端都可以获取到学生的id信息,判断对方是本课合法邀约的学生,则开始上课的过程
* 教师下放本次课程所需要的资源信息。
* 学生端检查是否已经下载完全部的资源,
如果未下载则进行下载,下载完通知给教师端。
(或者在学生已经确定上哪一课的时候,由后台先偷偷下载一批,
但是上课的时候,仍然需要再次检查)
* 教师端收到学生端资源齐备的消息后,进入课程,开始上课,同时通知给服务器上课开始了,同时发送各种控制消息。
* 学生端收到控制消息后,展现相应的课程内容,在教师允许学生回答的时候,可以进行答题操作
* 教师结束课程,上报给服务器,同时回到书架或者课表页面。学生则回到课表页面。
以上为开发第一阶段的流程设计。
* 第一阶段,服务器只负责公共群和音视频房间的信息管理
* 第二阶段,服务器可以通过腾讯云通信IM的API进行更多的控制工作,例如公共群和音视频房间的创建可以由服务器进行。
* 学生端进入等待上课的页面,初始化音视频通讯,进入聊天室(需要有错误处理)
* 教师端收到学生准备完毕的信息后,初始化音视频通讯,进入聊天室(需要有错误处理)
* 教师端发送学习页的信息
* 教师端发送学习页的页面动作信息
* 教师端通知学生结束课程
* 学生端结束课程,同时报告给教师端
* 退出聊天室
* 登出腾讯云(需要错误处理)
* 教师结束课程,上报给服务器(服务器在课程结束之后,可能会解散群或者把双方踢出),回到前一页面。
* 退出聊天室
* 登出腾讯云(需要错误处理)
* 学生则回到课表页面。
### 在线授课接口定义
... ...