commit
fdc3300c1f
1
.idea/flutter_openim_sdk.iml
generated
1
.idea/flutter_openim_sdk.iml
generated
@ -20,6 +20,5 @@
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Dart SDK" level="project" />
|
||||
<orderEntry type="library" name="Flutter Plugins" level="project" />
|
||||
<orderEntry type="library" name="Dart Packages" level="project" />
|
||||
</component>
|
||||
</module>
|
196
.idea/libraries/Dart_Packages.xml
generated
196
.idea/libraries/Dart_Packages.xml
generated
@ -1,196 +0,0 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Dart Packages" type="DartPackagesLibraryType">
|
||||
<properties>
|
||||
<option name="packageNameToDirsMap">
|
||||
<entry key="async">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.6.1/lib" />
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.1/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="boolean_selector">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="characters">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="charcode">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0/lib" />
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="clock">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="collection">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="cupertino_icons">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-1.0.3/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="fake_async">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="flutter">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/packages/flutter/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="flutter_test">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/packages/flutter_test/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="matcher">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="meta">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0/lib" />
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="path">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="sky_engine">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/bin/cache/pkg/sky_engine/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="source_span">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="stack_trace">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="stream_channel">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="string_scanner">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="term_glyph">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="test_api">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.3.0/lib" />
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.2/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="typed_data">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="vector_math">
|
||||
<value>
|
||||
<list>
|
||||
<option value="$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0/lib" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
</option>
|
||||
</properties>
|
||||
<CLASSES>
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.6.1/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.1/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-1.0.3/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.3.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.2/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/bin/cache/pkg/sky_engine/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/packages/flutter/lib" />
|
||||
<root url="file://$USER_HOME$/Development/flutter/packages/flutter_test/lib" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
4
.idea/libraries/Flutter_Plugins.xml
generated
4
.idea/libraries/Flutter_Plugins.xml
generated
@ -1,6 +1,8 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Flutter Plugins" type="FlutterPluginsLibraryType">
|
||||
<CLASSES />
|
||||
<CLASSES>
|
||||
<root url="file://$PROJECT_DIR$" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
|
@ -1,3 +1,9 @@
|
||||
## 0.0.1
|
||||
|
||||
* TODO: Describe initial release.
|
||||
|
||||
### 0.0.2
|
||||
|
||||
1,将 markSingleMessageHasRead、markGroupMessageHasRead和getTotalUnreadMsgCount方法从类MessageManager移动到类ConversationManager。
|
||||
2,修改setFriendInfo方法的参数。
|
||||
3,修改createGroup和setGroupInfo方法的参数。
|
||||
|
@ -19,9 +19,7 @@ A flutter IM plugin for android and ios.
|
||||
|
||||
#### 1,Add dependency in yaml
|
||||
|
||||
flutter_openim_sdk:
|
||||
git:
|
||||
url: https://github.com/OpenIMSDK/Open-IM-SDK-Flutter.git
|
||||
flutter_openim_sdk: ^0.0.1
|
||||
|
||||
#### 2,Import package
|
||||
|
||||
|
1878
README.zh-cn.md
1878
README.zh-cn.md
File diff suppressed because it is too large
Load Diff
@ -96,6 +96,24 @@ class ConversationManager {
|
||||
}))
|
||||
.then((value) => _printValue(value));
|
||||
|
||||
///
|
||||
/// @params userID: receiver's userID
|
||||
Future<dynamic> markSingleMessageHasRead({required String userID}) {
|
||||
return _channel.invokeMethod(
|
||||
'markSingleMessageHasRead', _buildParam({'userID': userID}));
|
||||
}
|
||||
|
||||
///
|
||||
Future<dynamic> markGroupMessageHasRead({required String groupID}) {
|
||||
return _channel.invokeMethod(
|
||||
'markGroupMessageHasRead', _buildParam({'groupID': groupID}));
|
||||
}
|
||||
|
||||
///
|
||||
Future<dynamic> getTotalUnreadMsgCount() {
|
||||
return _channel.invokeMethod('getTotalUnreadMsgCount', _buildParam({}));
|
||||
}
|
||||
|
||||
static Map _buildParam(Map param) {
|
||||
param["ManagerName"] = "conversationManager";
|
||||
return param;
|
||||
|
@ -55,8 +55,14 @@ class FriendshipManager {
|
||||
|
||||
/// modify friend information, only [comment] can be modified
|
||||
///
|
||||
Future<dynamic> setFriendInfo({required UserInfo info}) {
|
||||
return _channel.invokeMethod('setFriendInfo', _buildParam(info.toJson()));
|
||||
Future<dynamic> setFriendInfo(
|
||||
{required String uid, required String comment}) {
|
||||
return _channel.invokeMethod(
|
||||
'setFriendInfo',
|
||||
_buildParam({
|
||||
'uid': uid,
|
||||
'comment': comment,
|
||||
}));
|
||||
}
|
||||
|
||||
/// add to blacklist
|
||||
|
@ -130,16 +130,23 @@ class GroupManager {
|
||||
}
|
||||
|
||||
/// create a group
|
||||
/// @params groupInfo: Group information
|
||||
/// @params list[List<GroupMemberRole>]: Group members you invited
|
||||
Future<dynamic> createGroup({
|
||||
GroupInfo? groupInfo,
|
||||
String? groupName,
|
||||
String? notification,
|
||||
String? introduction,
|
||||
String? faceUrl,
|
||||
required List<GroupMemberRole> list,
|
||||
}) {
|
||||
return _channel.invokeMethod(
|
||||
'createGroup',
|
||||
_buildParam({
|
||||
'gInfo': groupInfo?.toJson(),
|
||||
'gInfo': {
|
||||
"groupName": groupName,
|
||||
"notification": notification,
|
||||
"introduction": introduction,
|
||||
"faceUrl": faceUrl,
|
||||
},
|
||||
'memberList': list.map((e) => e.toJson()).toList()
|
||||
}));
|
||||
/*.then((value) => _formatJson(value)['groupID'])*/
|
||||
@ -147,12 +154,20 @@ class GroupManager {
|
||||
|
||||
/// Edit group information
|
||||
Future<dynamic> setGroupInfo({
|
||||
required GroupInfo groupInfo,
|
||||
String? groupName,
|
||||
String? notification,
|
||||
String? introduction,
|
||||
String? faceUrl,
|
||||
}) {
|
||||
return _channel.invokeMethod(
|
||||
'setGroupInfo',
|
||||
_buildParam({
|
||||
'gInfo': groupInfo.toJson(),
|
||||
'gInfo': {
|
||||
"groupName": groupName,
|
||||
"notification": notification,
|
||||
"introduction": introduction,
|
||||
"faceUrl": faceUrl,
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
|
@ -98,14 +98,14 @@ class MessageManager {
|
||||
/// @params userID: receiver's user ID
|
||||
/// @params sender: current user ID
|
||||
Future insertSingleMessageToLocalStorage({
|
||||
String? userID,
|
||||
Message? message,
|
||||
String? receiver,
|
||||
String? sender,
|
||||
Message? message,
|
||||
}) {
|
||||
return _channel.invokeMethod(
|
||||
'insertSingleMessageToLocalStorage',
|
||||
_buildParam({
|
||||
"userID": userID,
|
||||
"userID": receiver,
|
||||
"message": message?.toJson(),
|
||||
"sender": sender,
|
||||
}));
|
||||
@ -120,19 +120,6 @@ class MessageManager {
|
||||
}));
|
||||
}
|
||||
|
||||
///
|
||||
/// @params userID: receiver's userID
|
||||
Future<dynamic> markSingleMessageHasRead({required String userID}) {
|
||||
return _channel.invokeMethod(
|
||||
'markSingleMessageHasRead', _buildParam({'userID': userID}));
|
||||
}
|
||||
|
||||
///
|
||||
Future<dynamic> markGroupMessageHasRead({required String groupID}) {
|
||||
return _channel.invokeMethod(
|
||||
'markGroupMessageHasRead', _buildParam({'groupID': groupID}));
|
||||
}
|
||||
|
||||
///
|
||||
/// @params userID: receiver's user ID
|
||||
Future markC2CMessageAsRead({
|
||||
@ -373,11 +360,6 @@ class MessageManager {
|
||||
.then((value) => _toObj(value));
|
||||
}
|
||||
|
||||
///
|
||||
Future<dynamic> getTotalUnreadMsgCount() {
|
||||
return _channel.invokeMethod('getTotalUnreadMsgCount', _buildParam({}));
|
||||
}
|
||||
|
||||
///
|
||||
void forceSyncMsg() {
|
||||
_channel.invokeMethod('forceSyncMsg', _buildParam({}));
|
||||
|
@ -1,6 +1,7 @@
|
||||
import 'dart:convert';
|
||||
|
||||
|
||||
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
|
||||
import 'package:flutter_openim_sdk/src/openim.dart';
|
||||
|
||||
void main() {
|
||||
/* const MethodChannel channel = MethodChannel('flutter_openim_sdk');
|
||||
@ -41,4 +42,7 @@ void main() {
|
||||
// print('${now.millisecond}');
|
||||
// print('${now.microsecondsSinceEpoch}');
|
||||
// print('${now.millisecondsSinceEpoch}');
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user