## 说明
发送消息以及接受消息都是通过这个类的说明。具体的消息分类在另一篇文档中有详细的说明,这里只是说明下配置的发送和转换的入口位置。
- 白板项目的消息类型文档:[https://www.kancloud.cn/melot/melot-white-board/1165811](https://www.kancloud.cn/melot/melot-white-board/1165811)
## 类文件定义
/ws/libs/message.js,websocket的实例化message的过程,Message.instance.init()。
## 具体可选字段定义
/ws/proto/index.proto,类型定义文件,这里直接定义了大部分的二类消息,其他的二类消息在单独的文件中维护。
### template 定义在page.proto
其中模板消息的相关配置在page.proto,在信令消息的模板中我们能够看到这几个可选参数包括connection/choice/dice/wheel/free几种对应题型,也可以看到必填参数pageType的使用与传参。
```
message TemplateMessage{
enum PageType{
CONNECTION = 0;
}
required PageType type = 0;
optional ConnectionProblem connection = 1;
optional ChoiceProblem choice = 2;
optional DiceProblem dice = 3;
optional WheelProblem wheel = 4;
optional FreeProblem free = 5;
}
```
而在具体的每个消息类型中会定义需要传参的部分,其中最重要的是payload字段,可以看到这里大多数的设置是string字段,所以在消息中都需要进行JSON.stringfy进行一次转换。
```
message ConnectionProblem{
required string type = 0;
optional string payload = 1;
}
message ChoiceProblem{
optional string payload = 0;
}
message DiceProblem{
optional string payload = 0;
}
message WheelProblem{
optional string payload = 0;
}
message FreeProblem{
required string type = 0;
optional string payload = 1;
}
```
### media.proto
media.proto 中定义了媒体消息的字段说明,其可能的媒体状态传值都在下面的枚举中。
```
message MediaEvent{
optional string objectId = 1;
enum MediaState{
START = 0;
PAUSE = 1;
STOP = 2;
RESTART = 3;
GO_TO = 4;
PLAY_END = 5;
VOLUME = 6;
}
required MediaState state = 2;
optional string payload = 3;
}
message SyncMediaEvent{
optional string objectId = 0;
optional bool paused = 1;
optional float position = 2;
optional float volume = 3;
}
```
## 发送消息
## 接受转发消息
- 相关资源链接
- 米乐星球小程序内调研
- 项目结构说明
- 交互课件说明
- server项目说明
- 项目说明
- 项目启动
- app.js做的事情
- 获取互动课件的地址
- 分析互动课件地址的参数
- policy目录--lesson.js
- 解析ppt--api/lesson.js
- 信令中的key:template
- 信令中的key:media
- kk-talkee-engine.js
- Message
- 课件模板页的识别过程
- 解析课件模板的源文件
- 场景与模板的对应关系
- 所有场景的基类
- choiceScence为例
- 注意事项
- ws
- online项目的说明
- online消息
- 课件编辑项目
- 资源链接
- 基本项目信息
- electron项目结构分析
- ipc
- 模板题组
- 普通题组
- 游戏题组
- 课件导出内容分析
- 课件模板分类明细
- 图片题
- 视频题
- 音频题
- 选择题
- 判断题
- 转盘
- 筛子
- 图层拖拽
- 动画题
- 翻拍题
- 语音题
- 201908变更
- 课件制作流程分析
- 菜单配置
- 入口操作
- 定义模板布局与初始化
- 选择素材
- 导出过程
- egret
- interface
- ad选择器模板
- ab选择器模板
- 图层拖拽模板
- 判断题模板
- xml
- 转盘
- events
- components
- 父类组件
- 基本组件
- 判断题组件
- 龙骨动画调研
- 基本了解
- 产品原型
- 白板Client项目
- 消息类型
- 白板项目分析
- 入口