1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- //
- // AccountTools.swift
- // PDF Reader Pro
- //
- // Created by User-Tangchao on 2024/11/5.
- //
- import Cocoa
- @objcMembers class AccountTools: NSObject {
- @available(macOS 10.15.0, iOS 13.0, *)
- public class func canUseAdvance() async -> Bool {
- return await withCheckedContinuation({ continuation in
- self.canUseAdvance { success, err in
- continuation.resume(returning: success)
- }
- })
- }
-
- public class func canUseAdvance(callback: @escaping ((Bool, String?)->Void)) {
- if AccountManager.manager.isTrialing {
- callback(true, nil)
- return
- }
-
- guard let token = KMDataManager.ud_string(forKey: kAccountTokenKey), token.isEmpty == false else {
- return callback(false, nil)
- }
- let state = Self._isConnectionAvailable()
- if !state {
- // self._showHud(msg: NSLocalizedString("Unable to connect to server, please check your connection.", comment: ""))
- return callback(false, nil)
- }
-
- let header = ["Token" : token]
-
- let uuid = GetHardwareUUID()
- let params = ["device_code" : uuid]
- // 绑定设备
- KMHTTP.OEM_POST(urlString: kURLAPI_oemBind, parameter: params, headers: header) { success, dataModel, err in
- callback(success, "")
- }
- }
-
- public class func canUseAdvance_success(callback: @escaping ((Bool)->Void)) {
- if AccountManager.manager.isTrialing {
- callback(true)
- return
- }
-
- guard let token = KMDataManager.ud_string(forKey: kAccountTokenKey), token.isEmpty == false else {
- self.gotoCompare()
- return callback(false)
- }
- let state = Self._isConnectionAvailable()
- if !state {
- // self._showHud(msg: NSLocalizedString("Unable to connect to server, please check your connection.", comment: ""))
- self.gotoCompare()
- return callback(false)
- }
-
- let header = ["Token" : token]
-
- let uuid = GetHardwareUUID()
- let params = ["device_code" : uuid]
- // 绑定设备
- KMHTTP.OEM_POST(urlString: kURLAPI_oemBind, parameter: params, headers: header) { success, dataModel, err in
- if success == false {
- self.gotoCompare()
- }
- callback(success)
- }
- }
-
- class func gotoCompare() {
- KMMainThreadExecute {
- let winC = KMPurchaseCompareWindowController.sharedInstance()
- winC?.showWindow(nil)
- }
- }
- private class func _isConnectionAvailable() -> Bool {
- if Reachability.forInternetConnection().currentReachabilityStatus().rawValue == 0 {
- return false
- }
- return true
- }
- }
|