Update README.md

main
hrxiang 4 years ago committed by GitHub
parent f4d18c8ba4
commit 871f335ea2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 187
      README.md

@ -21,51 +21,155 @@ A Flutter im plugin.
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
### Usage
#### 初始化
var msgListener = AdvancedMsgListener();
/// 初始化SDK
OpenIM.iMManager
..initSDK(
platform: 0,
ipApi: 'Api接口地址',
ipWs: 'WebSocket地址',
dbPath: '数据库目录',
listener: new InitSDKListener(),
#### 3, 初始化配置
```
/// 初始化SDK
OpenIM.iMManager
..initSDK(
platform: IMPlatform.ios,
ipApi: 'Api接口地址',
ipWs: 'WebSocket地址',
dbPath: '数据库目录',
listener: InitSDKListener(),
)
/// 添加消息监听(不使用的时候remove)
..messageManager.addAdvancedMsgListener(AdvancedMsgListener())
/// 设置消息发送进度监听
..messageManager.setMsgSendProgressListener(MsgSendProgressListener())
/// 设置好友关系监听
..friendshipManager.setFriendshipListener(FriendshipListener())
/// 设置会话监听
..conversationManager.setConversationListener(ConversationListener())
/// 设置群监听
..groupManager.setGroupListener(GroupListener());
```
#### 4, 登录
```
OpenIM.iMManager.login(uid: uid, token: token).then((value){
///登录成功
});
```
#### 5,获取会话列表
```
OpenIM.iMManager.conversationManager.getAllConversationList().then((list) {
/// 返回会话列表list
});
```
#### 6,获取联系人列表
```
OpenIM.iMManager.friendshipManager.getFriendList().then((list) {
/// 返回好友列表list
});
```
#### 7,获取聊天记录
```
List<Message> chatMsgList = List.empty(growable: true);
/// 自定义消息监听
class CustomAdvancedMsgListener extends AdvancedMsgListener {
final ValueChanged<Message>? onNewMessage;
CustomAdvancedMsgListener({
this.onNewMessage,
});
@override
void onRecvNewMessage(Message msg) {
if (null != onNewMessage) onNewMessage!(msg);
}
}
```
- 历史消息
```
/// 如果userID不为null,groupID为null,获取的是单聊消息
/// 如果userID为null,groupID不为null,获取的是群聊消息
OpenIM.iMManager.messageManager.getHistoryMessageList(
userID: uid,//用户id
startMsg: startMsg,//上一条消息,取chatMsgList[0]
groupID: gid,//群id
count: 12,//分页大小
)
/// 添加消息监听(移除消息监听: OpenIM.iMManager.messageManager.removeAdvancedMsgListener(msgListener))
..messageManager.addAdvancedMsgListener(msgListener)
/// 设置发送消息进度监听
..messageManager.setMsgSendProgressListener(MsgSendProgressListener())
/// 设置好友关系监听
..friendshipManager.setFriendshipListener(FriendshipListener())
/// 设置会话监听
..conversationManager.setConversationListener(ConversationListener())
/// 设置群监听
..groupManager.setGroupListener(GroupListener());
.then((list) => chatMsgList.addAll(list));
```
- 新消息
```
/// 创建消息监听
var msgListener = CustomAdvancedMsgListener(onNewMessage: (message) {
if (message.sendID == uid || message.groupID == gid) {
if (!chatMsgList.contains(message)) {
chatMsgList.add(event.message);
}
}
});
/// 添加消息监听
OpenIM.iMManager.messageManager.addAdvancedMsgListener(msgListener);
/// 移除消息监听
// OpenIM.iMManager.messageManager.removeAdvancedMsgListener(msgListener);
```
#### 8,发送消息
```
/// 创建消息
var message = await OpenIM.iMManager.messageManager.createTextMessage(
text: '我是消息内容',
);
/// 发送
OpenIM.iMManager.messageManagersendMessage(
message: message,
onlineUserOnly: false,
userID: uid,
groupID: gid,
).then((v) {
/// 发送成功
}).catchError((e){
/// 发送失败
});
```
#### 9,登出
```
OpenIM.iMManager.logout();
```
#### OpenIM.iMManager
| 方法 | 描述 |
| ---------------- | ------------------------------------------------------- |
| initSDK | 初始化sdk,platform:iOS-1,Android-0;listener初始监听 |
| unInitSDK | |
| login | 登录 |
| logout | 登出 |
| getLoginStatus | 登录状态 |
| getLoginUid | 当前uid |
| getLoginUserInfo | 当前用户信息 |
| setSelfInfo | 修改资料 |
| getUsersInfo | 根据uid获取用户资料 |
| forceReConn | 强制重连 |
| 方法 | 描述 |
| ---------------- | ------------------- |
| initSDK | 初始化sdk |
| unInitSDK | |
| login | 登录 |
| logout | 登出 |
| getLoginStatus | 登录状态 |
| getLoginUid | 当前uid |
| getLoginUserInfo | 当前用户信息 |
| setSelfInfo | 修改资料 |
| getUsersInfo | 根据uid获取用户资料 |
| forceReConn | 强制重连 |
@ -150,4 +254,3 @@ A Flutter im plugin.
| getGroupApplicationList | 获取群申请列表 |
| acceptGroupApplication | 接受群邀请 |
| refuseGroupApplication | 拒绝群邀请 |

Loading…
Cancel
Save