下载安装
ohpm install @wukong/wkim
引入
import { WKIM } from '@wukong/wkim';
初始化
await WKIM.shared.init(uid, token)
连接地址
WKIM.shared.config.provider.connectAddrCallback = (): Promise<string> => {
// 通过网络获取连接地址后返回
let add = HttpUtil.getIP()
return add
}
连接
WKIM.shared.connectionManager().connection()
断开
// isLogout true:退出并清空用户信息 false:退出保持用户信息
WKIM.shared.connectionManager().disConnection(isLogout)
发消息
// 构造消息model
let textModel: WKTextContent = new WKTextContent('你好,我是文本消息')
// 指定频道
let channel: WKChannel = new WKChannel('uid',WKChannelType.personal)
// 发送
WKIM.shared.messageManager().send(textModel,channel)
连接状态
WKIM.shared.connectionManager()
.addConnectStatusListener((status: number, reasonCode?: number, connInfo?: ConnectionInfo) => {
switch (status) {
case WKConnectStatus.success: {
// `悟空IM(连接成功-节点:${connInfo?.nodeId})`
break
}
case WKConnectStatus.fail:
// '连接失败'
break
case WKConnectStatus.connecting:
// '连接中...'
break
case WKConnectStatus.syncing:
// '同步中...'
break
case WKConnectStatus.syncCompleted:
// `悟空IM(连接成功-节点:${this.nodeId})`
break
case WKConnectStatus.noNetwork:
// '网络异常'
break
case WKConnectStatus.kicked:
// '其他账号登录'
break
}
})
消息入库
WKIM.shared.messageManager().addInsertedListener((msg) => {
// 展示在UI上
})
新消息
newMsgsListener = (msgs: WKMsg[]) => {
// 展示在UI上
}
WKIM.shared.messageManager().addNewMsgListener(this.newMsgsListener)
悟空IM 使用 Apache 2.0 许可证。有关详情,请参阅 LICENSE 文件。