3.0.8 • Published 6 years ago
ciim_sdk v3.0.8
JS SDK API
此版本与^2.0.0不兼容
安装
npm i --save ciim_sdk
使用
import IMSDK from 'ciim_sdk'
let im = new IMSDK.IMService(appkey, appsecret)
im.init(ws_url, api_url)
im.setDebug(false)
im.setLoginStatusListener(function(code, msg){
// ...
})
// 设置监听器
im.setGroupListener(function (data) {
console.log("setGroupListener,data=",data)
})
im.setPeerListener(function (data) {
console.log("setPeerListener,data=",data)
})
API
初始化
设置websocket地址,api地址
void init(ws_url:String,api_host:String)
登录
void login(username:string,token:string,platform:number)
设置debug模式
debug开启,logger日志输出
void setDebug(bool b)
设置登录状态回调
登录状态监听,断网重连会调用多次,需要在登录前设置
void setLoginStatusListener(cb:void function(code:number,msg:string){})
设置网络连接成功回调
void setConnectListener(cb:void function(){})
设置网络连接断开回调
void setDisconncetListener(cb:void function(){})
设置网络重连回调
在重连前回调
void setTryconnectListener(cb:void function(){})
网络失败
重试多次后彻底断开
void setNetFailListener(cb:void function(){})
进入房间
void enterRoom(roomId :string,cb:void function(code:number,msg:string){})
离开房间
void leaveRoom(cb:void function(code:number,msg:string){})
发送透传消息
to取值 username:string, groupId:number, roomId:String,
type分别对应:1,2,3
void sendTransMsg(to:String,content:String,type:number,cb:void function(code:number,msg:String){})
发送单聊
to: username
void sendPeerMsg(to:string,content:String,cb:void function(code:number,msg:String){})
发送群聊
to: group_id
void sendGroupMsg(to:number,content:String,cb:void function(code:number,msg:String){})
发送聊天室消息
void sendRoomMsg(content:String,cb:void function(code:number,msg:String){})
修改房间状态
修改聊天室状态 type取值'set'|'incr',
set表示房间状态中${key}=${value},
incr表示${key}=${old}+${value},incr限数字操作
void sendRoomStateModify(type:String,key:String,value:String,cb:void function(code:number,msg:String){})
单聊消息回调
setPeerListener
void setPeerListener(cb:void function(msg:IMMessage){})
e.g.
{FromUsername: 'xxx', Receiver: 1, Timestamp: 1536205803931, Content: "123"}
群聊消息回调
void setGroupListener(cb:void function(msg:IMMessage){})
e.g.
{FromUsername: 'xxx', Receiver: 4, Timestamp: 1536218349740, Content: "123"}
聊天室消息回调
void setRoomListener(cb:void function(msg:RoomMessage){})
e.g.
{FromUsername: 'xxx', Receiver: 4, Timestamp: 1536218349740, Content: "123"}
聊天室状态回调
void setRoomStateListener(cb:void function(state: Object){},interval_milles:number)
state 为键值对用于实现上层业务,其中member_count是固定字段
自定义系统消息
void setCustomSysListener(cb:void function(content:string){})
透传消息回调
void setTransListener(cb:void function(msg:TransMessage){})
e.g.
{Type: 3, FromUsername: 'xxx', Receiver: "room1", Content: "透传消息。。。", Timestamp: 1536219228297}
type: 1|2|3, receiver 分别代指 user_id, group_id, room_id
群成员加入回调
void setRoomMemberJoinListener(cb:void function(content:Object){})
群成员离开回调
void setRoomMemberLeftListener(cb:void function(content:Object){})
异地登录
void setAnotherLoginListener(cb:function(){})
主动断开
void disconnect()
是否登录
bool isLogin()
Error code
Code | 描述 |
---|---|
200 | ok |
201 | uid非法 |
202 | roomId非法 |
203 | receiver非法 |
204 | 禁言 |
205 | 群不存在 |
206 | 非群成员 |
207 | 敏感词 |
208 | 登录失败 |
300 | 内部错误 |
301 | 正在登录 |
302 | 已经登录 |
303 | 未登录 |
304 | 不在房间内 |
305 | 心跳包超时 |
306 | 登录失败 |
408 | 超时 |