聊天室WebSocket开发说明
WebSocket连接地址
WebSocket连接地址: wss://socket.micecube.com/ws?room_id=" + room_id + "&user_id=" + user_id
room_id : 直播间ID
user_id : 当前用户ID,默认为0
客户端上行内容(所有数据格式均为json)
初始化连接传递信息
{"type":3,"room_id":"1195","name":"qXTCWdmVZe3acOtMVx3c7lA+Dz10gprg","avatar":""}
type : 固定值为3,代表进入直播间
room_id : 直播间ID
name : 当前用户昵称需加密 openssl_encrypt("用户昵称","DES-ECB","live".strrev("直播间ID"))
avatar : 头像,默认为空
发送心跳包,建议30s发送一次
{"type":0,"room_id":"1195"}
type : 固定值为0,代表心跳包数据
room_id : 直播间ID
发送消息(建议设置发送频次和时间间隔)
{"type":7,"room_id":"1195","name":"qXTCWdmVZe3Y1d1R8P59rVA+Dz10gprg","message":"111","send_message_id":"l1vl2wgv","avatar":""}
type : 固定值为7,代表发送消息
room_id : 直播间ID
name : 当前用户昵称需加密 openssl_encrypt("用户昵称","DES-ECB","live".strrev("直播间ID"))
message : 消息内容
send_message_id : 消息唯一编号(编号规则自行定义)
avatar : 头像,默认为空
服务器端下行内容(所有数据格式均为json)
直播开始
{"type":"1"}
直播结束
{"type":"2"}
有用户进入直播间
{"type":"3","num":"2","user_id":"0","name":"热心观众","avatar":""}
type : 固定值为3,代表有用户进入直播间
num : 当前聊天室人数
user_id : 进入直播间用户ID,默认为0
name : 进入直播间用户昵称
avatar : 头像,默认为空
有用户离开直播间
{"type":"4","num":"1","user_id":"0"}
type : 固定值为4,代表有用户离开直播间
num : 当前聊天室人数
user_id : 离开直播间用户ID,默认为0
直播间公告信息
{"type":"5","data":"新的公告"}
type : 固定值为5,代表有新的公告信息
data : 公告信息内容
主持人后台发送消息
{"type":"6","message":"消息内容","id":"1","text_type":"1","color":"","name":""}
type : 固定值为6,代表主持人在后台发送了消息
message : 消息内容
id : 消息ID
text_type : 文字是否加粗 1 默认 2 加粗
color : 文字颜色
name : 主持人在直播间昵称
有新消息
{"type":"7","name":"xxx","avatar":"","message":"消息内容","is_self":"true","id":"1","send_message_id":""}
type : 固定值为7,代表聊天室有新的消息
name : 发消息的用户昵称
avatar : 发消息的用户头像
message : 消息内容
is_self : 是否是当前用户发送的消息,true 是,false 不是
id : 消息ID
send_message_id : 客户端生成的唯一消息ID
点赞数量变更
{"type":"8","num":"10"}
type : 固定值为8,代表点赞数量变化
num : 点赞数量
消息发送失败
{"type":"9","message":"你已被禁言"}
type : 固定值为9,代表消息发送失败
message : 失败原因
消息删除
{"type":"10","id":"10"}
type : 固定值为10,代表消息删除
id : 删除的消息ID
当前用户在别的地方打开了直播间
{"type":"12"}
返回类型还在完善中,请根据自身需求进行判读返回类型(type)