央馆播放器1.0.0设计文档

系统上下文

系统上下文图

流程图

主程序与央馆播放器关键业务流程图

主程序与央馆播放器关键业务流程图

接口

1. 网页端接口

网页端通过URL Protocal跳转到央馆实验播放器,其种跳转的约定接口为
ncetlabshell:channel=NCET&playmode={PlayMode}&name={LabName}&url={URL}&contextid={ContexID}&operationmode={OpMode}&uploadurl={UploadUrl}&sdpappid={AppId}&&uctoken={UcToken}

  1. {PlayMode}的值可选范围为[TDCourse,VRCourse,TDPractice,VRPractice,TDTest,VRExam,TDExam,VRTest,TDEdit]
  • TDCourse 其义为3D课件播放模式
  • VRCourse 其义为VR课件播放模式
  • TDPractice 其义为3D练习模式
  • VRPractice 其义为VR练习模式
  • TDTest 其义为3D测验模式
  • VRExam 其义为VR考试模式
  • TDExam 其义为3D考试模式
  • VRTest 其义为VR测验模式
  • TDEdit 其义为3D创编模式
  1. {LabName}为实验的名字,播放时会展示在播放器UI上
  2. {URL}为实验颗粒的下载地址,由NDR接口查询获得
  3. {ContexID}创编新增,用于上传服务端的上下文id
  4. {OpMode} 练习:0, 自测:1
  5. {UploadUrl}创编新增,用于数据上报的服务器地址
  6. {AppId} 创编新增,应用 id
  7. {UcToken} 创编新增,UC鉴权token,使用 uploadurl + POST 方式生成

web端定义的更多参数

https://www.kdocs.cn/l/cIu7yYduO

2.主程序与央馆播放器通信接口

1.简要描述

主程序与央馆播放器采用socket方式通信,通信内容为具体消息类型转换的json数据

2.接口说明

发送消息:

void SendMsgToClient(string msg)

参数:

参数名 类型 说明
msg string 消息内容

返回值说明:
void

接收消息

void User_OnRecieveClientMsg(string clientIP, string msg)

参数:

参数名 类型 说明
clientIP string 消息发送方IP
msg string 消息内容

返回值说明:

void

3.消息内容:

{
    "msgType": 4, //消息类型
    "value": "ncetlabshell:channel=NCET&playmode=TDCourse&name=lab_10-%E7%94%A8%E5%81%9C%E8%A1%A8%E6%B5%8B%E9%87%8F%E6%97%B6%E9%97%B4&url=https://gcdncs.101.com/v0.1/static/edu_product/esp/coursewareobjects/5c139572-6984-4589-bf59-835e00282d3c.pkg/c58c393e-9555-416d-8515-1ffb99c9137f.lab" //值
}

4.消息数据结构:

4.1.子程序向小程序发送的消息结构

 public class DataToNCET
    {
        public DataToNcetMsgType msgType;//消息类型
        public string value;//值
    }

4.2.小程序向子程序发送到的消息结构

 /// <summary>
    /// 小程序向播放器发送消息的结构
    /// </summary>
    public class DataToPlayer
    {
        public DataToPlayerMsgType msgType;
        public string value;
    }

5.消息类型枚举:

5.1子程序发送给小程序的消息类型

public enum DataToNcetMsgType
    {
        playerStarted = 0,//播放器启动
        playerStartFail,//启动失败
        playerStartSuccess,//启动成功
        playerExit,//播放器退出

        newAppMsg_FromWeb,
        newAppMsg_DoubleClick,
        newAppMsg_IpInfo,

        editorStarted,//创编启动
        editorStartFail,//创编启动失败
        editorStartSuccess,//创编启动成功
        editorExit,//创编退出
        editorRunPlayer,//创编启动播放器

        labEditorStarted,//实验编辑器启动
        labEditorStartFail,//实验编辑器启动失败
        labEditorStartSuccess,//实验编辑器启动成功
        labEditorExit,//实验编辑器退出
        labEditorChangeLanguage_zh,//实验编辑器切换语言-中文
        labEditorChangeLanguage_en,//实验编辑器切换语言-英文
        labEditorChangeLanguage_ar,//实验编辑器切换语言-阿拉伯文

        labEditorExitPreview,//编辑器/创编退出预览

    }

5.2 小程序发送给子程序的消息类型

   /// <summary>
    /// 小程序像播放器发送消息的类型
    /// </summary>
    public enum DataToPlayerMsgType
    {
        PlayerExit = 0,//播放器退出
    }

最新参数

https://doc.weiyun.com/a5411d458e3f60636ade9110994bd579