## 說明
發送消息以及接受消息都是通過這個類的說明。具體的消息分類在另一篇文檔中有詳細的說明,這里只是說明下配置的發送和轉換的入口位置。
- 白板項目的消息類型文檔:[http://www.hmoore.net/melot/melot-white-board/1165811](http://www.hmoore.net/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項目
- 消息類型
- 白板項目分析
- 入口