From b99ac0c086487d5cc98295cf5a38555ad8f61c53 Mon Sep 17 00:00:00 2001 From: bekannax Date: Thu, 6 Feb 2025 12:24:38 +0700 Subject: [PATCH] 0.2.4 --- OnlineChatSdk/Classes/ChatApi.swift | 9 +++++++ OnlineChatSdk/Classes/ChatController.swift | 29 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/OnlineChatSdk/Classes/ChatApi.swift b/OnlineChatSdk/Classes/ChatApi.swift index 03ac8cc..be4118e 100644 --- a/OnlineChatSdk/Classes/ChatApi.swift +++ b/OnlineChatSdk/Classes/ChatApi.swift @@ -34,6 +34,11 @@ open class ChatApi { } } + public func setInfo(_ token: String, params: Dictionary, callback: @escaping (NSDictionary?) -> Void) { + send(token, "chat/client/setInfo", params, callback: callback) + } + + public func messages(_ token: String, params: Dictionary, callback: @escaping (NSDictionary?) -> Void) { send(token, "chat/message/getList", params, callback: callback) } @@ -53,4 +58,8 @@ open class ChatApi { ] as [String : Any] (ChatApi()).messages(token, params: params, callback: callback) } + + public static func setInfo(_ token: String, _ params: Dictionary, callback: @escaping (NSDictionary?) -> Void) { + (ChatApi()).setInfo(token, params: params, callback: callback) + } } diff --git a/OnlineChatSdk/Classes/ChatController.swift b/OnlineChatSdk/Classes/ChatController.swift index 42e0aa5..44124e7 100644 --- a/OnlineChatSdk/Classes/ChatController.swift +++ b/OnlineChatSdk/Classes/ChatController.swift @@ -134,6 +134,23 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa callback( ChatController.getNewMessagesCallback(result!) ) }) } + + public static func setInfoCustomDataValue(key: String, value: String, callback: @escaping (NSDictionary?) -> Void) { + DispatchQueue.global().async { + ChatApi.setInfo( + ChatConfig.getApiToken(), + [ + "client": [ + "id": ChatConfig.getClientId(), + "customData": [ + key: value + ] + ], + ] as [String : Any], + callback: callback + ) + } + } override public func loadView() { let contentController = WKUserContentController() @@ -288,6 +305,7 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa } private func callJs(_ script: String) { + print("callJs : \(script)") chatView.evaluateJavaScript(script) } @@ -487,6 +505,7 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa switch name { case ChatController.method_pageLoaded: injectCss(style: self.css) + onChatWasOpen() break case ChatController.event_closeSupport: onCloseSupport() @@ -520,6 +539,14 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa onEvent(name, data!) } + open func onChatWasOpen() { + + } + + open func onChatWasClosed() { + + } + open func onCloseSupport() { if chatView == nil { return @@ -530,6 +557,8 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa dismiss(animated: true, completion: nil) navigationController?.popViewController(animated: true) + + onChatWasClosed() } open override func viewDidDisappear(_ animated: Bool) {