mirror of
https://gitee.com/farsunset/cim.git
synced 2025-06-16 23:29:57 +08:00
**文档最新更新时间:**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)