AdminHelper.swift 1.98 KB
//
//  AdminHelper.swift
//  Twear
//
//  Created by yangbin on 2021/12/18.
//

import UIKit
import HandyJSON

class AdminHelper: NSObject {
    static let shared = AdminHelper()
    
    func isFirstLaunch() -> Bool {
        if UserDefaults.standard.bool(forKey: "isFirstLaunch") {
            return false
        } else {
            UserDefaults.standard.set(true, forKey: "isFirstLaunch")
            return true
        }
    }
    
    
    func savaAdminInfo(_ adminInfo: AdminModel) {
        let jsonStr = adminInfo.toJSONString()
//                print(jsonStr)
        UserDefaults.standard.set(jsonStr, forKey: UserKey)
        
    }
    
    func savaWeather(_ weathers: [WeatherModel]) {
        let jsonStr = weathers.toJSONString()
        UserDefaults.standard.set(jsonStr, forKey: WeatherKey)
    }
    
    func loadLocalWeatherData() -> [WeatherModel] {
        if let str = UserDefaults.standard.string(forKey: WeatherKey)
        {
            //            print(str)
            guard let result = [WeatherModel].deserialize(from: str) as? [WeatherModel] else {
                print("WeatherModel数据解析错误")
                return []
            }
            return result
        }
        return []
    }
    
    
    func loadLocalAdminData() -> AdminModel {
        if let str = UserDefaults.standard.string(forKey: UserKey)
        {
            //            print(str)
            guard let result = AdminModel.deserialize(from: str) else {
                print("AdminInfoModel数据解析错误")
                return AdminModel()
            }
            //            print(str)
            return result
        }
        return AdminModel()
    }
    
    func updateDevice(_ device: DeviceModel) {
        let admin = loadLocalAdminData()
        admin.device = device
        savaAdminInfo(admin)
    }
    
    
    func updateUser(_ user: UserInfoModel) {
        let admin = loadLocalAdminData()
        admin.userInfo = user
        savaAdminInfo(admin)
    }
}