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.
59 lines
2.8 KiB
59 lines
2.8 KiB
import Foundation
|
|
import OpenIMCore
|
|
|
|
public class OrganizationManager: BaseServiceManager {
|
|
|
|
public override func registerHandlers() {
|
|
super.registerHandlers()
|
|
self["setOrganizationListener"] = setOrganizationListener
|
|
self["getSubDepartment"] = getSubDepartment
|
|
self["getDepartmentMember"] = getDepartmentMember
|
|
self["getUserInDepartment"] = getUserInDepartment
|
|
self["getDepartmentMemberAndSubDepartment"] = getDepartmentMemberAndSubDepartment
|
|
self["getDepartmentInfo"] = getDepartmentInfo
|
|
self["searchOrganization"] = searchOrganization
|
|
}
|
|
|
|
func setOrganizationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
|
Open_im_sdkSetOrganizationListener(OrganizationListener(channel: channel))
|
|
callBack(result)
|
|
}
|
|
|
|
func getSubDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
Open_im_sdkGetSubDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"], methodCall[int: "offset"], methodCall[int: "count"])
|
|
}
|
|
|
|
func getDepartmentMember(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
Open_im_sdkGetDepartmentMember(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"], methodCall[int: "offset"], methodCall[int: "count"])
|
|
}
|
|
|
|
func getUserInDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
Open_im_sdkGetUserInDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"])
|
|
}
|
|
|
|
func getDepartmentMemberAndSubDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
Open_im_sdkGetDepartmentMemberAndSubDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"])
|
|
}
|
|
|
|
func getDepartmentInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
Open_im_sdkGetDepartmentInfo(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"])
|
|
}
|
|
|
|
func searchOrganization(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
Open_im_sdkSearchOrganization(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "searchParam"], methodCall[int: "offset"], methodCall[int: "count"])
|
|
}
|
|
}
|
|
|
|
public class OrganizationListener: NSObject, Open_im_sdk_callbackOnOrganizationListenerProtocol {
|
|
|
|
private let channel:FlutterMethodChannel
|
|
|
|
init(channel:FlutterMethodChannel) {
|
|
self.channel = channel
|
|
}
|
|
|
|
public func onOrganizationUpdated() {
|
|
CommonUtil.emitEvent(channel: self.channel, method: "organizationListener", type: "onOrganizationUpdated", errCode: nil, errMsg: nil, data: nil)
|
|
}
|
|
|
|
}
|
|
|