CNLiveSaveAuthStateDB.swift
2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//
// CNLiveSavePointDB.swift
// metaCode
//
// Created by open on 2023/11/15.
//
import Foundation
let CNLiveSaveAuthStateCacheKey = "kCNLiveSaveAuthStateCacheKey"
class CNLiveSaveAuthStateDB: NSObject {
static let shared = CNLiveSaveAuthStateDB.init()
open func save(object: MineStandInfoBaseModel, key: String) {
var temp_dic = NSMutableDictionary.init(contentsOfFile: userFileDir+"\(key)storage.plist")
if (temp_dic == nil) {
temp_dic = NSMutableDictionary.init()
}
temp_dic?.setObject((object.toJSON() ?? Dictionary()) as Dictionary, forKey: CNLiveSaveAuthStateCacheKey as NSCopying)
temp_dic?.write(toFile: userFileDir+"\(key)storage.plist", atomically: true)
}
open func take(key: String) -> MineStandInfoBaseModel {
let temp_dic = NSMutableDictionary.init(contentsOfFile: userFileDir+"\(key)storage.plist")
if (temp_dic == nil) {
return MineStandInfoBaseModel()
}
let resp = temp_dic?.object(forKey: CNLiveSaveAuthStateCacheKey)
let listModel = dictionaryToModel(resp as! [String : Any], MineStandInfoBaseModel.self,"") as! MineStandInfoBaseModel
return listModel
}
private lazy var userFileDir: String = {
let userFileDir = NSString()
var path: String = ""
path = "\(fileDir)/userId_\(UserInfoManager.shared.userInfo.uid)/"
let fileManager = FileManager.default
var isDir: ObjCBool = false
let exist: Bool = fileManager.fileExists(atPath: path, isDirectory: &isDir)
if !(isDir.boolValue && exist) {
do {
try fileManager.createDirectory(atPath: path, withIntermediateDirectories: true)
} catch {
debugPrint("文件目录创建失败")
return ""
}
}
return path as String
}()
private lazy var fileDir: String = {
let path = "\(NSHomeDirectory())/Documents/metaCode/saveAuthState"
let fileManager = FileManager.default
var isDir: ObjCBool = false
let exist: Bool = fileManager.fileExists(atPath: path, isDirectory: &isDir)
if !(isDir.boolValue && exist) {
do {
try fileManager.createDirectory(atPath: path, withIntermediateDirectories: true)
} catch {
debugPrint("文件目录创建失败")
return ""
}
}
return path as String
}()
}