🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
为了方便开发者快速接入,百城推送推出了适用于常规 Web、H5、Vue 等支持 WebSocket 项目的 WebSDK。 SDK与REST API对接的主要区别在于SDK封装了连接、发送消息、接收消息、错误监听等方法,您只需要调用即可,免去了大量重复的开发工作。 #### SDK & DEMO [下载WebSDK](https://console.xiangbaicheng.com/static/xbcim_jssdk_1.0.0.min.js) #### 引入SDK SDK的引入很简单,只需要通过 script 标签引入即可。 #### 初始化SDK ``` var xbcim = XBCIM.init(token); ``` 1、参数 token 为连接授权码,需要通过平台注册账号的 appKey 等参数进行获取,具体方法请参考[获取授权码](https://console.xiangbaicheng.com/doc/token.html)。 2、参数可以直接传递 token 字符串,也可以传入 json 格式,如 { token: token }。 3、初始化时,默认就会创建WebSocket链接。 #### 监听初始化成功 ``` xbcim.onsuccess(callback); // callback回调,可以在里面进行连接成功后的其他逻辑操作。 ``` #### 监听错误 ``` xbcim.onerror(callback); ``` 1、onerror 会监听初始化失败、token 校验等错误回调。 2、callback回调,可以在里面进行连接成功后的其他逻辑操作。 #### 监听连接是否断开 ``` xbcim.onclose(callback); // callback回调,可以在里面进行连接断开后的其他逻辑操作。 ``` #### 手动断开连接 ``` xbcim.close(callback); // callback回调,可以在里面进行连接断开后的其他逻辑操作。 ``` #### 重新连接 ``` xbcim.reconnect(); ``` #### 发送单聊 ``` xbcim.sendSingle(data); ``` data 为要发送的消息数据,其具体参数及含义如下: | 参数 | 描述 | | --- | --- | | type | 消息类型,默认文本,支持其他自定义消息类型 | | source | 消息发送者ID | | target | 消息接收者ID | | content | 消息内容,字符串 | | extra | 额外数据,支持任意格式 | #### 发送群聊 ``` xbcim.sendGroup(data); ``` data 为要发送的消息数据,其具体参数及含义如下: | 参数 | 描述 | | --- | --- | | type | 消息类型,默认文本,支持其他自定义消息类型 | | source | 消息发送者ID | | target | 群ID | | content | 消息内容,字符串 | | extra | 额外数据,支持任意格式 | #### 接收消息 ``` xbcim.onmessage(callback); // callback 回调,回调会返回接收到的消息数据。 ```