# 消息api ## 统一封装 对于这些东西其实每个类型都对应python的`/msgs.py`里的一个消息类,每个消息类都有todict方法来将消息类转为字典来方便转为json 每个类的含义如下: |类|含义|参数| |-|-|-| |connect_ok|连接成功的返回|无| |dm|default.dm的封装|msg:str:消息,who:dict:消息发出者| |info|default.info的 封装|| ### 连接认证 客户端向服务端发送: ``` json {"code":200,"msg":ok,"param":{param1: str ,param2 :str}} ``` 这里的param是前端的get参数,通过websocket回传(感觉多此一举但是实际上websocket和http这两个其实被部署为两个应用) 服务端返回(msg.connect_ok): ``` json {"code":200,"msg":connect ok} ``` 无加密和客户端防伪,但是这些功能希望在以后加入到服务器 ## 弹幕接口 ### 消息封装 也是json格式,具体如下: - root: - message_class:消息类,省略即为default,这个会决定前端对消息处理程序的选择,标准处理程序将会处理下面格式的消息 - msg_type:消息类型,暂时设有弹幕(dm)和消息(info) - message_body:消息主题,具体要取决于消息类,标准消息类如下 虽说这里允许自定义非主类消息格式,不过我还是很希望对于固定的类型有一个固定的标准,这样就能够避免对于其他人的困扰 ### 标准消息类 #### dm类型 - root: - msg:消息主体 - who:消息发送者(对象) - type:身份 - name:名字 - face:头像url - time:持续时间(不设置将会用预估) #### info类型 - root: - msg:消息内容 - who:消息的主体人(对象) - type:身份 - name:名字 - face:头像url - pic:图片(对象) - border:边框类型,T或者F - pic url:图片链接 - time:持续时间(不设置将会用预估) #### 身份等级 - 身份等级: - 0 :观众 - 1 :粉丝团/赞助用户 - 2 :舰长/普通付费用户 - 3 :提督/中级付费用户 - 4 :总督/高级付费用户 - 5 :管理员/房管 - 6 :主播