<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 說明 發送消息以及接受消息都是通過這個類的說明。具體的消息分類在另一篇文檔中有詳細的說明,這里只是說明下配置的發送和轉換的入口位置。 - 白板項目的消息類型文檔:[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; } ``` ## 發送消息 ## 接受轉發消息
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看