// // KMWebsocketManager.swift // PDF Reader Pro DMG // // Created by wanjun on 2023/6/29. // import Cocoa enum KMWebsocketEvent : Int { case KMWebsocketEventPaySuccess = 0 case KMWebsocketEventPayFail } class KMWebsocketManager: NSObject { static let defaultManager = KMWebsocketManager() var websocket: KMWebsocket? var content: [String : String] = [:] override init() { super.init() self.websocket = KMWebsocket() self.websocket?.delegate = self } //MARK: Private Methods //MARK: Public Methods func connect() -> Void { #if VERSION_DMG let endPoint: String = "" #endif self.websocket?.connect(endPoint: endPoint) } func disconnect() -> Void { self.websocket?.disconnect() } } extension KMWebsocketManager: KMWebsocketDelegate { func websocketDidConnect() { } func websocketDidDisconnect() { } func websocketDidError(error: Error) { self.disconnect() } func websocketDidReceive(content: String) { DispatchQueue.main.async { let data: Data = content.data(using: .utf8)! let content: [String : String] = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String : String] self.content = content let event: String = content["event"]! if event == "pay_success" { } else if event == "pay_fail" { } } } func webSocketDidReceiveData(data: Data) { } }