147 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
| //
 | |
| //  FriendshipManager.swift
 | |
| //  Runner
 | |
| //
 | |
| //  Created by z1u24 on 2021/6/29.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| import OpenIMCore
 | |
| 
 | |
| public class FriendshipManager: BaseServiceManager {
 | |
|     
 | |
|     public override func registerHandlers() {
 | |
|         super.registerHandlers()
 | |
|         self["setFriendListener"] = setFriendListener
 | |
|         self["getFriendsInfo"] = getFriendsInfo
 | |
|         self["addFriend"] = addFriend
 | |
|         self["getFriendApplicationList"] = getFriendApplicationList
 | |
|         self["getFriendList"] = getFriendList
 | |
|         self["setFriendInfo"] = setFriendInfo
 | |
|         self["addToBlackList"] = addToBlackList
 | |
|         self["getBlackList"] = getBlackList
 | |
|         self["deleteFromBlackList"] = deleteFromBlackList
 | |
|         self["checkFriend"] = checkFriend
 | |
|         self["deleteFromFriendList"] = deleteFromFriendList
 | |
|         self["acceptFriendApplication"] = acceptFriendApplication
 | |
|         self["refuseFriendApplication"] = refuseFriendApplication
 | |
|         self["forceSyncFriendApplication"] = forceSyncFriendApplication
 | |
|         self["forceSyncFriend"] = forceSyncFriend
 | |
|         self["forceSyncBlackList"] = forceSyncBlackList
 | |
|     }
 | |
|     
 | |
|     func setFriendListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkSetFriendListener(FriendshipListener(channel: channel))
 | |
|         callBack(result)
 | |
|     }
 | |
|     
 | |
|     func getFriendsInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkGetFriendsInfo(BaseCallback(result: result), methodCall[jsonString: "uidList"])
 | |
|     }
 | |
|     
 | |
|     func addFriend(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkAddFriend(BaseCallback(result: result), methodCall.toJsonString())
 | |
|     }
 | |
|     
 | |
|     func getFriendApplicationList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkGetFriendApplicationList(BaseCallback(result: result))
 | |
|     }
 | |
|     
 | |
|     func getFriendList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkGetFriendList(BaseCallback(result: result))
 | |
|     }
 | |
|     
 | |
|     func setFriendInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkSetFriendInfo(methodCall.toJsonString(), BaseCallback(result: result))
 | |
|     }
 | |
|     
 | |
|     func addToBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkAddToBlackList(BaseCallback(result: result), methodCall[string: "uid"])
 | |
|     }
 | |
|     
 | |
|     func getBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkGetBlackList(BaseCallback(result: result))
 | |
|     }
 | |
|     
 | |
|     func deleteFromBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkDeleteFromBlackList(BaseCallback(result: result), methodCall[string: "uid"])
 | |
|     }
 | |
|     
 | |
|     func checkFriend(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkCheckFriend(BaseCallback(result: result), methodCall[jsonString: "uidList"])
 | |
|     }
 | |
|     
 | |
|     func deleteFromFriendList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkDeleteFromFriendList(methodCall[string: "uid"], BaseCallback(result: result))
 | |
|     }
 | |
|     
 | |
|     func acceptFriendApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkAcceptFriendApplication(BaseCallback(result: result), methodCall[string: "uid"])
 | |
|     }
 | |
|     
 | |
|     func refuseFriendApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkRefuseFriendApplication(BaseCallback(result: result), methodCall[string: "uid"])
 | |
|     }
 | |
|     
 | |
|     func forceSyncFriendApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkForceSyncFriendApplication()
 | |
|         callBack(result)
 | |
|     }
 | |
|     
 | |
|     func forceSyncFriend(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkForceSyncFriend()
 | |
|         callBack(result)
 | |
|     }
 | |
|     
 | |
|     func forceSyncBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
 | |
|         Open_im_sdkForceSyncBlackList()
 | |
|         callBack(result)
 | |
|     }
 | |
| }
 | |
| 
 | |
| public class FriendshipListener: NSObject, Open_im_sdkOnFriendshipListenerProtocol {
 | |
|     private let channel:FlutterMethodChannel
 | |
|     
 | |
|     init(channel:FlutterMethodChannel) {
 | |
|         self.channel = channel
 | |
|     }
 | |
|     
 | |
|     public func onBlackListAdd(_ userInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onBlackListAdd", errCode: nil, errMsg: nil, data: userInfo)
 | |
|     }
 | |
|     
 | |
|     public func onBlackListDeleted(_ userInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onBlackListDeleted", errCode: nil, errMsg: nil, data: userInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendApplicationListAccept(_ applyUserInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListAccept", errCode: nil, errMsg: nil, data: applyUserInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendApplicationListAdded(_ applyUserInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListAdded", errCode: nil, errMsg: nil, data: applyUserInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendApplicationListDeleted(_ applyUserInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListDeleted", errCode: nil, errMsg: nil, data: applyUserInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendApplicationListReject(_ applyUserInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListReject", errCode: nil, errMsg: nil, data: applyUserInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendInfoChanged(_ friendInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendInfoChanged", errCode: nil, errMsg: nil, data: friendInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendListAdded(_ friendInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendListAdded", errCode: nil, errMsg: nil, data: friendInfo)
 | |
|     }
 | |
|     
 | |
|     public func onFriendListDeleted(_ friendInfo: String?) {
 | |
|         CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendListDeleted", errCode: nil, errMsg: nil, data: friendInfo)
 | |
|     }
 | |
|     
 | |
| }
 | |
| 
 |