add ios conversion method
This commit is contained in:
parent
470bbb960e
commit
f503ba50e3
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
.DS_Store
|
||||||
|
/.packages
|
||||||
|
/.dart_tool
|
||||||
|
/example/ios/Podfile.lock
|
@ -9,6 +9,7 @@
|
|||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||||
|
6F7F8B794B6D663E7A65A104 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1971A63CCEC4B744C25980F8 /* Pods_Runner.framework */; };
|
||||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||||
@ -29,12 +30,16 @@
|
|||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
|
076751BE520B721535096B75 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||||
|
1971A63CCEC4B744C25980F8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
3A6AB9CCD90A2F5C2CE719D0 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||||
|
7CF14C3CACE83F04F858C9EC /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
@ -49,12 +54,21 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
6F7F8B794B6D663E7A65A104 /* Pods_Runner.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
4B877210D623EE0FDE18A08F /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1971A63CCEC4B744C25980F8 /* Pods_Runner.framework */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
9740EEB11CF90186004384FC /* Flutter */ = {
|
9740EEB11CF90186004384FC /* Flutter */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -72,6 +86,8 @@
|
|||||||
9740EEB11CF90186004384FC /* Flutter */,
|
9740EEB11CF90186004384FC /* Flutter */,
|
||||||
97C146F01CF9000F007C117D /* Runner */,
|
97C146F01CF9000F007C117D /* Runner */,
|
||||||
97C146EF1CF9000F007C117D /* Products */,
|
97C146EF1CF9000F007C117D /* Products */,
|
||||||
|
E653626F5A38799455FF26C4 /* Pods */,
|
||||||
|
4B877210D623EE0FDE18A08F /* Frameworks */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
@ -98,6 +114,17 @@
|
|||||||
path = Runner;
|
path = Runner;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
E653626F5A38799455FF26C4 /* Pods */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
7CF14C3CACE83F04F858C9EC /* Pods-Runner.debug.xcconfig */,
|
||||||
|
3A6AB9CCD90A2F5C2CE719D0 /* Pods-Runner.release.xcconfig */,
|
||||||
|
076751BE520B721535096B75 /* Pods-Runner.profile.xcconfig */,
|
||||||
|
);
|
||||||
|
name = Pods;
|
||||||
|
path = Pods;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
@ -105,12 +132,14 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
|
FA9CAD2EF743D14467F7D993 /* [CP] Check Pods Manifest.lock */,
|
||||||
9740EEB61CF901F6004384FC /* Run Script */,
|
9740EEB61CF901F6004384FC /* Run Script */,
|
||||||
97C146EA1CF9000F007C117D /* Sources */,
|
97C146EA1CF9000F007C117D /* Sources */,
|
||||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||||
97C146EC1CF9000F007C117D /* Resources */,
|
97C146EC1CF9000F007C117D /* Resources */,
|
||||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||||
|
215A1CA82008A326A8ECBF65 /* [CP] Embed Pods Frameworks */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -169,6 +198,23 @@
|
|||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
215A1CA82008A326A8ECBF65 /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputFileListPaths = (
|
||||||
|
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -197,6 +243,28 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
||||||
};
|
};
|
||||||
|
FA9CAD2EF743D14467F7D993 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||||
|
"${PODS_ROOT}/Manifest.lock",
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
@ -4,4 +4,7 @@
|
|||||||
<FileRef
|
<FileRef
|
||||||
location = "group:Runner.xcodeproj">
|
location = "group:Runner.xcodeproj">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
|
<FileRef
|
||||||
|
location = "group:Pods/Pods.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
@ -68,7 +68,7 @@ packages:
|
|||||||
path: ".."
|
path: ".."
|
||||||
relative: true
|
relative: true
|
||||||
source: path
|
source: path
|
||||||
version: "0.0.6"
|
version: "0.0.8+1"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -180,6 +180,11 @@ public class CommonUtil {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static func getUserid(methodCall: FlutterMethodCall)->String{
|
||||||
|
let result: String = getParamValue(methodCall: methodCall, param: KEY_SINGLE_MESSAGE_USERID) as! String
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
public static func getGroupMessageGroupid(methodCall: FlutterMethodCall)->String{
|
public static func getGroupMessageGroupid(methodCall: FlutterMethodCall)->String{
|
||||||
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_MESSAGE_GROUPID) as! String
|
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_MESSAGE_GROUPID) as! String
|
||||||
return result
|
return result
|
||||||
@ -190,12 +195,17 @@ public class CommonUtil {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func getFindMessageIds(methodCall: FlutterMethodCall)->String{
|
public static func getMessageIds(methodCall: FlutterMethodCall)->String{
|
||||||
let result = getParamValue(methodCall: methodCall, param: KEY_FIND_MESSAGE_IDS) as AnyObject
|
let result = getParamValue(methodCall: methodCall, param: KEY_MESSAGE_IDS) as AnyObject
|
||||||
let r = JsonUtil.toString(object: result)
|
let r = JsonUtil.toString(object: result)
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static func getTyping(methodCall: FlutterMethodCall)->String {
|
||||||
|
let result: String = getParamValue(methodCall: methodCall, param: "typing") as! String
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
public static func getConversationId(methodCall: FlutterMethodCall)->String{
|
public static func getConversationId(methodCall: FlutterMethodCall)->String{
|
||||||
let result: String = getParamValue(methodCall: methodCall, param: KEY_CONVERSATION_ID) as! String
|
let result: String = getParamValue(methodCall: methodCall, param: KEY_CONVERSATION_ID) as! String
|
||||||
return result
|
return result
|
||||||
@ -303,7 +313,7 @@ public class CommonUtil {
|
|||||||
//group chat
|
//group chat
|
||||||
private static let KEY_GROUP_MESSAGE_GROUPID: String = "groupID";
|
private static let KEY_GROUP_MESSAGE_GROUPID: String = "groupID";
|
||||||
// find message
|
// find message
|
||||||
private static let KEY_FIND_MESSAGE_IDS: String = "messageIDList";
|
private static let KEY_MESSAGE_IDS: String = "messageIDList";
|
||||||
// conversation
|
// conversation
|
||||||
private static let KEY_CONVERSATION_ID: String = "conversationID";
|
private static let KEY_CONVERSATION_ID: String = "conversationID";
|
||||||
private static let KEY_CONVERSATION_IDS: String = "conversationIDList";
|
private static let KEY_CONVERSATION_IDS: String = "conversationIDList";
|
||||||
|
@ -42,6 +42,23 @@ public class ConversationManager:NSObject{
|
|||||||
func pinConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func pinConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
Open_im_sdkPinConversation(CommonUtil.getConversationId(methodCall: methodCall), CommonUtil.isPinnedConversation(methodCall: methodCall), BaseImpl(result: result))
|
Open_im_sdkPinConversation(CommonUtil.getConversationId(methodCall: methodCall), CommonUtil.isPinnedConversation(methodCall: methodCall), BaseImpl(result: result))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func markSingleMessageHasRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkMarkSingleMessageHasRead(BaseImpl(result: result), CommonUtil.getSingleMessageUserid(methodCall: methodCall))
|
||||||
|
}
|
||||||
|
|
||||||
|
func markGroupMessageHasRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkMarkGroupMessageHasRead(BaseImpl(result: result), CommonUtil.getGroupMessageGroupid(methodCall: methodCall))
|
||||||
|
}
|
||||||
|
|
||||||
|
func getTotalUnreadMsgCount(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkGetTotalUnreadMsgCount(BaseImpl(result: result))
|
||||||
|
}
|
||||||
|
|
||||||
|
func getConversationIDBySessionType(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
let conversationID = Open_im_sdkGetConversationIDBySessionType(CommonUtil.getConversationSourceId(methodCall: methodCall), CommonUtil.getConversationSessionType(methodCall: methodCall))
|
||||||
|
DispatchQueue.main.async { result(conversationID) }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,7 +62,6 @@ public class MessageManager:NSObject{
|
|||||||
}
|
}
|
||||||
|
|
||||||
func deleteMessages(methodCall: FlutterMethodCall, result: FlutterResult){
|
func deleteMessages(methodCall: FlutterMethodCall, result: FlutterResult){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func insertSingleMessageToLocalStorage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func insertSingleMessageToLocalStorage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
@ -70,11 +69,18 @@ public class MessageManager:NSObject{
|
|||||||
}
|
}
|
||||||
|
|
||||||
func findMessages(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func findMessages(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
Open_im_sdkFindMessages(BaseImpl(result: result), CommonUtil.getFindMessageIds(methodCall: methodCall))
|
Open_im_sdkFindMessages(BaseImpl(result: result), CommonUtil.getMessageIds(methodCall: methodCall))
|
||||||
}
|
}
|
||||||
|
|
||||||
func markSingleMessageHasRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func markC2CMessageAsRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
Open_im_sdkMarkSingleMessageHasRead(BaseImpl(result: result), CommonUtil.getSingleMessageUserid(methodCall: methodCall))
|
Open_im_sdkMarkC2CMessageAsRead(BaseImpl(result: result), CommonUtil.getUserid(methodCall: methodCall), CommonUtil.getMessageIds(methodCall: methodCall))
|
||||||
|
}
|
||||||
|
|
||||||
|
func typingStatusUpdate(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
let receiver = CommonUtil.getUserid(methodCall: methodCall)
|
||||||
|
let typing = CommonUtil.getTyping(methodCall: methodCall)
|
||||||
|
Open_im_sdkTypingStatusUpdate(receiver, typing)
|
||||||
|
DispatchQueue.main.async { result(nil) }
|
||||||
}
|
}
|
||||||
|
|
||||||
func markGroupMessageHasRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
func markGroupMessageHasRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
||||||
@ -121,76 +127,70 @@ public class MessageManager:NSObject{
|
|||||||
DispatchQueue.main.async { result(prama) }
|
DispatchQueue.main.async { result(prama) }
|
||||||
}
|
}
|
||||||
|
|
||||||
func getTotalUnreadMsgCount(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
|
||||||
Open_im_sdkGetTotalUnreadMsgCount(BaseImpl(result: result))
|
|
||||||
}
|
|
||||||
|
|
||||||
func forceSyncMsg(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func forceSyncMsg(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
Open_im_sdkForceSyncMsg()
|
Open_im_sdkForceSyncMsg()
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SendMsgProgressListener:NSObject, Open_im_sdkSendMsgCallBackProtocol {
|
public class SendMsgProgressListener:NSObject, Open_im_sdkSendMsgCallBackProtocol {
|
||||||
|
|
||||||
private let channel: FlutterMethodChannel
|
private let channel: FlutterMethodChannel
|
||||||
private var result: FlutterResult?
|
private var result: FlutterResult?
|
||||||
private var call: FlutterMethodCall?
|
private var call: FlutterMethodCall?
|
||||||
private let values: NSMutableDictionary = NSMutableDictionary(capacity: 0)
|
private let values: NSMutableDictionary = NSMutableDictionary(capacity: 0)
|
||||||
|
|
||||||
init(channel: FlutterMethodChannel) {
|
init(channel: FlutterMethodChannel) {
|
||||||
self.channel = channel
|
self.channel = channel
|
||||||
}
|
}
|
||||||
|
|
||||||
func setResult(result: @escaping FlutterResult){
|
func setResult(result: @escaping FlutterResult){
|
||||||
self.result = result
|
self.result = result
|
||||||
}
|
}
|
||||||
|
|
||||||
func setCall(methodCall: FlutterMethodCall){
|
func setCall(methodCall: FlutterMethodCall){
|
||||||
self.call = methodCall
|
self.call = methodCall
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onError(_ errCode: Int, errMsg: String?) {
|
public func onError(_ errCode: Int, errMsg: String?) {
|
||||||
print("=================onError============\nerrcode:\(errCode),errMsg:\(errMsg!)");
|
print("=================onError============\nerrcode:\(errCode),errMsg:\(errMsg!)");
|
||||||
DispatchQueue.main.async { self.result!(FlutterError(code: "\(errCode)", message: errMsg, details: nil)) }
|
DispatchQueue.main.async { self.result!(FlutterError(code: "\(errCode)", message: errMsg, details: nil)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onProgress(_ progress: Int) {
|
public func onProgress(_ progress: Int) {
|
||||||
print("=================onProgress============\nprogress:\(progress)");
|
print("=================onProgress============\nprogress:\(progress)");
|
||||||
values.setValue(CommonUtil.getSendMessageClientMsgID(methodCall: self.call!), forKey: "clientMsgID")
|
values.setValue(CommonUtil.getSendMessageClientMsgID(methodCall: self.call!), forKey: "clientMsgID")
|
||||||
values.setValue(progress, forKey: "progress")
|
values.setValue(progress, forKey: "progress")
|
||||||
CommonUtil.emitEvent(channel: channel, method: "msgSendProgressListener", type: "onProgress", errCode: nil, errMsg: nil, data: values)
|
CommonUtil.emitEvent(channel: channel, method: "msgSendProgressListener", type: "onProgress", errCode: nil, errMsg: nil, data: values)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onSuccess(_ data: String?) {
|
public func onSuccess(_ data: String?) {
|
||||||
print("=================onSuccess============\nsuccess:\(data!)");
|
print("=================onSuccess============\nsuccess:\(data!)");
|
||||||
DispatchQueue.main.async { self.result!(data) }
|
DispatchQueue.main.async { self.result!(data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AdvancedMsgListener: NSObject, Open_im_sdkOnAdvancedMsgListenerProtocol {
|
public class AdvancedMsgListener: NSObject, Open_im_sdkOnAdvancedMsgListenerProtocol {
|
||||||
private let channel: FlutterMethodChannel
|
private let channel: FlutterMethodChannel
|
||||||
private let values: NSMutableDictionary = NSMutableDictionary(capacity: 0)
|
private let values: NSMutableDictionary = NSMutableDictionary(capacity: 0)
|
||||||
|
|
||||||
init(channel: FlutterMethodChannel, id: String) {
|
init(channel: FlutterMethodChannel, id: String) {
|
||||||
self.channel = channel
|
self.channel = channel
|
||||||
values.setValue(id, forKey: "id")
|
values.setValue(id, forKey: "id")
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onRecvC2CReadReceipt(_ msgReceiptList: String?) {
|
public func onRecvC2CReadReceipt(_ msgReceiptList: String?) {
|
||||||
values.setValue(msgReceiptList, forKey: "message")
|
values.setValue(msgReceiptList, forKey: "message")
|
||||||
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvC2CReadReceipt", errCode: nil, errMsg: nil, data: values)
|
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvC2CReadReceipt", errCode: nil, errMsg: nil, data: values)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onRecvMessageRevoked(_ msgId: String?) {
|
public func onRecvMessageRevoked(_ msgId: String?) {
|
||||||
values.setValue(msgId, forKey: "message")
|
values.setValue(msgId, forKey: "message")
|
||||||
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvMessageRevoked", errCode: nil, errMsg: nil, data: values)
|
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvMessageRevoked", errCode: nil, errMsg: nil, data: values)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onRecvNewMessage(_ message: String?) {
|
public func onRecvNewMessage(_ message: String?) {
|
||||||
values.setValue(message, forKey: "message")
|
values.setValue(message, forKey: "message")
|
||||||
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvNewMessage", errCode: nil, errMsg: nil, data: values)
|
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvNewMessage", errCode: nil, errMsg: nil, data: values)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,14 @@ public class SwiftFlutterOpenimSdkPlugin: NSObject, FlutterPlugin {
|
|||||||
conversationManager.setConversationDraft(methodCall: call, result: result)
|
conversationManager.setConversationDraft(methodCall: call, result: result)
|
||||||
}else if method == "pinConversation" {
|
}else if method == "pinConversation" {
|
||||||
conversationManager.pinConversation(methodCall: call, result: result)
|
conversationManager.pinConversation(methodCall: call, result: result)
|
||||||
|
}else if method == "markSingleMessageHasRead" {
|
||||||
|
conversationManager.markSingleMessageHasRead(methodCall: call, result: result)
|
||||||
|
}else if method == "markGroupMessageHasRead" {
|
||||||
|
conversationManager.markGroupMessageHasRead(methodCall: call, result: result)
|
||||||
|
}else if method == "getTotalUnreadMsgCount" {
|
||||||
|
conversationManager.getTotalUnreadMsgCount(methodCall: call, result: result)
|
||||||
|
}else if method == "getConversationIDBySessionType" {
|
||||||
|
conversationManager.getConversationIDBySessionType(methodCall: call, result: result)
|
||||||
}else{
|
}else{
|
||||||
print("Handle MethodName Error: ConversationManager method: \(method) not found")
|
print("Handle MethodName Error: ConversationManager method: \(method) not found")
|
||||||
}
|
}
|
||||||
@ -145,26 +153,42 @@ public class SwiftFlutterOpenimSdkPlugin: NSObject, FlutterPlugin {
|
|||||||
messageManager.insertSingleMessageToLocalStorage(methodCall: call, result: result)
|
messageManager.insertSingleMessageToLocalStorage(methodCall: call, result: result)
|
||||||
}else if method == "findMessages" {
|
}else if method == "findMessages" {
|
||||||
messageManager.findMessages(methodCall: call, result: result)
|
messageManager.findMessages(methodCall: call, result: result)
|
||||||
}else if method == "markSingleMessageHasRead" {
|
}else if method == "markC2CMessageAsRead" {
|
||||||
messageManager.markSingleMessageHasRead(methodCall: call, result: result)
|
messageManager.markC2CMessageAsRead(methodCall: call, result: result)
|
||||||
|
}else if method == "typingStatusUpdate" {
|
||||||
|
messageManager.typingStatusUpdate(methodCall: call, result: result)
|
||||||
}else if method == "createTextMessage" {
|
}else if method == "createTextMessage" {
|
||||||
messageManager.createTextMessage(methodCall: call, result: result)
|
messageManager.createTextMessage(methodCall: call, result: result)
|
||||||
}else if method == "createTextAtMessage" {
|
}else if method == "createTextAtMessage" {
|
||||||
messageManager.createTextAtMessage(methodCall: call, result: result)
|
messageManager.createTextAtMessage(methodCall: call, result: result)
|
||||||
}else if method == "createImageMessage" {
|
}else if method == "createImageMessage" {
|
||||||
messageManager.createImageMessage(methodCall: call, result: result)
|
messageManager.createImageMessage(methodCall: call, result: result)
|
||||||
|
}else if method == "createImageMessageFromFullPath" {
|
||||||
|
// TODO:
|
||||||
}else if method == "createSoundMessage" {
|
}else if method == "createSoundMessage" {
|
||||||
messageManager.createSoundMessage(methodCall: call, result: result)
|
messageManager.createSoundMessage(methodCall: call, result: result)
|
||||||
|
}else if method == "createSoundMessageFromFullPath" {
|
||||||
|
// TODO:
|
||||||
}else if method == "createVideoMessage" {
|
}else if method == "createVideoMessage" {
|
||||||
messageManager.createVideoMessage(methodCall: call, result: result)
|
messageManager.createVideoMessage(methodCall: call, result: result)
|
||||||
|
}else if method == "createVideoMessageFromFullPath" {
|
||||||
|
// TODO:
|
||||||
}else if method == "createFileMessage" {
|
}else if method == "createFileMessage" {
|
||||||
messageManager.createFileMessage(methodCall: call, result: result)
|
messageManager.createFileMessage(methodCall: call, result: result)
|
||||||
}else if method == "createMergerMessage" {
|
}else if method == "createMergerMessage" {
|
||||||
messageManager.createMergerMessage(methodCall: call, result: result)
|
messageManager.createMergerMessage(methodCall: call, result: result)
|
||||||
}else if method == "createForwardMessage" {
|
}else if method == "createForwardMessage" {
|
||||||
messageManager.createForwardMessage(methodCall: call, result: result)
|
messageManager.createForwardMessage(methodCall: call, result: result)
|
||||||
}else if method == "getTotalUnreadMsgCount" {
|
}else if method == "createLocationMessage" {
|
||||||
messageManager.getTotalUnreadMsgCount(methodCall: call, result: result)
|
// TODO:
|
||||||
|
}else if method == "createCustomMessage" {
|
||||||
|
// TODO:
|
||||||
|
}else if method == "createQuoteMessage" {
|
||||||
|
// TODO:
|
||||||
|
}else if method == "createCardMessage" {
|
||||||
|
// TODO:
|
||||||
|
}else if method == "forceSyncMsg" {
|
||||||
|
// TODO:
|
||||||
}else{
|
}else{
|
||||||
print("Handle MethodName Error: MessageManager method: \(method) not found")
|
print("Handle MethodName Error: MessageManager method: \(method) not found")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user