123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- //
- // KMLightMemberToken.swift
- // PDF Reader Pro
- //
- // Created by lizhe on 2023/2/27.
- //
- import Cocoa
- class KMLightMemberToken: NSObject, Codable{
- var access_token: String = ""
- var expires_in: String = ""
- var refresh_token: String = ""
- var token_type: String = ""
- // var scope: String = ""
- }
- extension KMLightMemberToken {
- static public func parseData(data: NSDictionary, completion:(_ data: KMLightMemberToken) -> Void) -> Void {
- if (data.count != 0) {
- KMLightMemberCache.cache.saveData(data: data, type: .token)
- }
-
- var result: KMLightMemberToken = KMLightMemberToken()
-
- let jsonString: String = DictionaryToJson.dictionary(toJson: data)!
- let jsonData: Data = jsonString.data(using: .utf8)!
-
- let decoder = JSONDecoder()
- // decoder.dataDecodingStrategy = .base64
- // decoder.keyDecodingStrategy = .convertFromSnakeCase //带下划线命名
- decoder.nonConformingFloatDecodingStrategy = .convertFromString(positiveInfinity: "+∞", negativeInfinity: "-∞", nan: "NaN")
- #if DEBUG
- //MARK: 测试使用
- var lightMemberToken = try! decoder.decode(KMLightMemberToken.self, from: jsonData)
- if (lightMemberToken != nil) {
- result = lightMemberToken
- }
- #else
- // MARK: 此处try 使用 ? ,如果数据出问题 advertisementModel将无参数, 测试时使用!
- var lightMemberToken = try? decoder.decode(KMLightMemberToken.self, from: jsonData)
- if (lightMemberToken != nil) {
- result = lightMemberToken!
- }
- #endif
- completion(result)
- }
- }
- public class DictionaryToJson: NSObject {
- public static func dictionary(toJson dic: AnyObject?) -> String? {
- var jsonData: Data? = nil
- do {
- if let dic = dic {
- jsonData = try JSONSerialization.data(withJSONObject: dic, options: .prettyPrinted)
- }
- } catch let parseError {
- KMPrint("(parseError.localizedDescription)")
- }
- if let jsonData = jsonData {
- return String(data: jsonData, encoding: .utf8)
- }
- return nil
- }
- }
|