You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.1 KiB
51 lines
2.1 KiB
import Flutter
|
|
import UIKit
|
|
|
|
public class SwiftFlutterOpenimSdkPlugin: NSObject, FlutterPlugin {
|
|
let imManager: IMMananger
|
|
let conversationManager: ConversationManager
|
|
let friendshipManager: FriendshipManager
|
|
let messageManager: MessageManager
|
|
let groupManager: GroupManager
|
|
let userManger: UserManager
|
|
let channelManager: ChannelManager
|
|
|
|
init(channel: FlutterMethodChannel) {
|
|
self.imManager = IMMananger(channel: channel)
|
|
self.conversationManager = ConversationManager(channel: channel)
|
|
self.friendshipManager = FriendshipManager(channel: channel)
|
|
self.messageManager = MessageManager(channel: channel)
|
|
self.groupManager = GroupManager(channel: channel)
|
|
self.channelManager = ChannelManager(channel: channel)
|
|
self.userManger = UserManager(channel: channel)
|
|
}
|
|
|
|
public static func register(with registrar: FlutterPluginRegistrar) {
|
|
let channel = FlutterMethodChannel(name: "flutter_openim_sdk", binaryMessenger: registrar.messenger())
|
|
let instance = SwiftFlutterOpenimSdkPlugin(channel: channel)
|
|
registrar.addMethodCallDelegate(instance, channel: channel)
|
|
}
|
|
|
|
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
let managerName: String = call[string: "ManagerName"]
|
|
switch managerName {
|
|
case "imManager":
|
|
imManager.handleMethod(call: call, result: result)
|
|
case "conversationManager":
|
|
conversationManager.handleMethod(call: call, result: result)
|
|
case "messageManager":
|
|
messageManager.handleMethod(call: call, result: result)
|
|
case "friendshipManager":
|
|
friendshipManager.handleMethod(call: call, result: result)
|
|
case "groupManager":
|
|
groupManager.handleMethod(call: call, result: result)
|
|
case "channelManager":
|
|
channelManager.handleMethod(call: call, result: result)
|
|
case "userManager":
|
|
userManger.handleMethod(call: call, result: result)
|
|
default:
|
|
print("Handle ManagerName Error: \(managerName) not found")
|
|
}
|
|
}
|
|
}
|
|
|
|
|