**文档最新更新时间:**2023年10月25日

1、常用功能接口

所有开放外部接口都集中在uni.socket.js 服务端配置地址配置以及客户端相关配置都在这里面

1.0连接服务器

初始化完成后,调用连接服务器

const uniSocket =  new UniSocket({
	url: 'websocketUrl'
});

1.1绑定账号

当socket连接成功回调然后绑定用户ID

uniSocket.on('connectioned', function() {
  uniSocket.bindAccount(id)
}, true)

1.2绑定会议房间号

当socket连接成功回调绑定会议房间号Tag

uniSocket.bindRoomTag(tag) // 会议结束删除房间号传null或者空

1.3接收消息

uniSocket.on('*', async (message) => {
	
})

1.4停止接收消息

停止接受推送,将会退出当前账号登录,端口与服务端的连接

uniSocket.close();

1.5恢复接收消息

重新恢复接收推送,重新连接服务端,并登录当前账号

uniSocket.reconnection();

1.6发送SentBody请求

支持通过长连接发送一个异步请求到服务的进行处理 例如发送一个位置上报请求 key client_cycle_location 需要在服务端创建一个实现的handler参照BindHandler

1.6.1 protobuf序列化

const SENT_BODY = 3
var body = new proto.com.farsunset.cim.sdk.web.model.SentBody();
body.setKey("client_cycle_location");
body.getDataMap().set("uid","10000");
body.getDataMap().set("latitude","123.82455");
body.getDataMap().set("longitude","412.245645");
body.getDataMap().set("location","上海市徐汇区云景路8弄");
uniSocket.sendRequest(body)

1.6.2 json序列化

let body = {};
body.key ="client_cycle_location";
body.timestamp=new Date().getTime();
body.data = {};
body.data.uid = 10000;
body.data.latitude = 123.82455;
body.data.longitude = 412.245645;
body.data.location = "上海市徐汇区云景路8弄";
uniSocket.sendRequest(body)