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.
 
 
 
 
 
open-im-sdk-flutter-m/ios/Classes/Module/IMManager.swift

89 lines
3.6 KiB

import Foundation
import OpenIMCore
public class IMMananger: BaseServiceManager {
public override func registerHandlers() {
super.registerHandlers()
self["initSDK"] = initSDK
self["login"] = login
self["logout"] = logout
self["getLoginStatus"] = getLoginStatus
// self["getLoginUid"] = getLoginUid
// self["getUsersInfo"] = getUsersInfo
// self["setSelfInfo"] = setSelfInfo
// self["forceSyncLoginUerInfo"] = forceSyncLoginUerInfo
// self["forceReConn"] = forceReConn
// self["setSdkLog"] = setSdkLog
}
func initSDK(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkInitSDK(ConnListener(channel: self.channel), methodCall[string: "operationID"], methodCall.toJsonString())
callBack(result)
}
func login(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkLogin(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "uid"], methodCall[string: "token"])
}
func logout(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkLogout(BaseCallback(result: result), methodCall[string: "operationID"])
}
func getLoginStatus(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
callBack(result, Open_im_sdkGetLoginStatus())
}
// func getLoginUid(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
// callBack(result, Open_im_sdkGetLoginUser())
// }
// func getUsersInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
// Open_im_sdkGetUsersInfo(methodCall[jsonString: "uidList"], BaseCallback(result: result))
// }
// func setSelfInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
// Open_im_sdkSetSelfInfo(methodCall.toJsonString(), BaseCallback(result: result))
// }
// func forceSyncLoginUerInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
// Open_im_sdkForceSyncLoginUerInfo()
// callBack(result)
// }
// func setSdkLog(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
// Open_im_sdkSetSdkLog(methodCall[int32: "sdkLog"])
// }
// func forceReConn(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
// Open_im_sdkForceReConn()
// callBack(result)
// }
}
public class ConnListener: NSObject, Open_im_sdk_callbackOnConnListenerProtocol {
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
public func onConnectFailed(_ errCode: Int32, errMsg: String?) {
CommonUtil.emitEvent(channel: self.channel, method: "connectListener", type: "onConnectFailed", errCode: errCode, errMsg: errMsg, data: nil)
}
public func onConnectSuccess() {
CommonUtil.emitEvent(channel: self.channel, method: "connectListener", type: "onConnectSuccess", errCode: nil, errMsg: nil, data: nil)
}
public func onConnecting() {
CommonUtil.emitEvent(channel: self.channel, method: "connectListener", type: "onConnecting", errCode: nil, errMsg: nil, data: nil)
}
public func onKickedOffline() {
CommonUtil.emitEvent(channel: self.channel, method: "connectListener", type: "onKickedOffline", errCode: nil, errMsg: nil, data: nil)
}
public func onUserTokenExpired() {
CommonUtil.emitEvent(channel: self.channel, method: "connectListener", type: "onUserTokenExpired", errCode: nil, errMsg: nil, data: nil)
}
}