悟空IM Flutter SDK
快速入门
安装
dependencies:
wukongimfluttersdk: ^1.3.9
引入
import 'package:wukongimfluttersdk/wkim.dart';
初始化sdk
WKIM.shared.setup(Options.newDefault('uid', 'token'));
初始化IP
WKIM.shared.options.getAddr = (Function(String address) complete) async {
// 可通过接口获取后返回
String ip = await HttpUtils.getIP();
complete(ip);
};
连接
WKIM.shared.connectionManager.connect();
断开
// isLogout true:退出并不再重连 false:退出保持重连
WKIM.shared.connectionManager.disconnect(isLogout)
发消息
WKIM.shared.messageManager.sendMessage(WKTextContent('我是文本消息'), WKChannel(channelID, channelType));
监听
连接监听
WKIM.shared.connectionManager.addOnConnectionStatus('home',
(status, reason) {
if (status == WKConnectStatus.connecting) {
// 连接中
} else if (status == WKConnectStatus.success) {
// 成功
} else if (status == WKConnectStatus.noNetwork) {
// 网络异常
} else if (status == WKConnectStatus.syncMsg) {
//同步消息中
}
});
消息入库
WKIM.shared.messageManager.addOnMsgInsertedListener((wkMsg) {
// todo 展示在UI上
});
收到新消息
WKIM.shared.messageManager.addOnNewMsgListener('chat', (msgs) {
// todo 展示在UI上
});
刷新某条消息
WKIM.shared.messageManager.addOnRefreshMsgListener('chat', (wkMsg) {
// todo 刷新消息
});
命令消息(cmd)监听
WKIM.shared.cmdManager.addOnCmdListener('chat', (cmdMsg) {
// todo 按需处理cmd消息
});
- 包含
key
的事件监听均有移除监听的方法,为了避免重复收到事件回掉,在退出或销毁页面时通过传入的key
移除事件
Libraries
- db/channel
- entity/channel
- manager/channel_manager
- entity/channel_member
- db/channel_member
- manager/channel_member_manager
- entity/cmd
- manager/cmd_manager
- manager/connect_manager
- type/const
- db/const
- db/conversation
- entity/conversation
- manager/conversation_manager
- common/crypto_utils
- common/logs
- main
- db/message
- manager/message_manager
- common/mode
- entity/msg
- common/options
- proto/packet
- proto/proto
- db/reaction
- db/reminder
- entity/reminder
- manager/reminder_manager
- model/wk_card_content
- db/wk_db_helper
- model/wk_image_content
- model/wk_media_message_content
- model/wk_message_content
- model/wk_text_content
- model/wk_unknown_content
- model/wk_video_content
- model/wk_voice_content
- wkim
- proto/write_read