Wallpaper_Home/wallpaper_project/Tool/historyManager.swift
2024-07-15 11:54:44 +08:00

254 lines
7.5 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// historyManager.swift
// wallpaper_project
//
// Created by 16 on 2024/3/27.
//
import Foundation
class HistoryManager {
static let shared = HistoryManager()
private let historyKey = "com.example.app.history"
//
var history: [WA_3DModel] {
get {
if let data = UserDefaults.standard.data(forKey: historyKey),
let history = try? JSONDecoder().decode([WA_3DModel].self, from: data) {
return history
}
return []
}
set {
let data = try? JSONEncoder().encode(newValue)
UserDefaults.standard.set(data, forKey: historyKey)
}
}
//
func addHistoryItem(item: WA_3DModel) {
//
if history.contains(where: { $0.title == item.title }) {
return
}
var updatedHistory = history
updatedHistory.append(item)
history = updatedHistory
}
//
func clearHistory() {
UserDefaults.standard.removeObject(forKey: historyKey)
}
}
class liveManager {
static let shared = liveManager()
private let historyKey = "com.example.app.live"
//
var history: [WA_3DModel] {
get {
if let data = UserDefaults.standard.data(forKey: historyKey),
let history = try? JSONDecoder().decode([WA_3DModel].self, from: data) {
return history
}
return []
}
set {
let data = try? JSONEncoder().encode(newValue)
UserDefaults.standard.set(data, forKey: historyKey)
}
}
//
func addHistoryItem(item: WA_3DModel) {
//
if history.contains(where: { $0.title == item.title }) {
return
}
var updatedHistory = history
updatedHistory.append(item)
history = updatedHistory
}
//
func clearHistory() {
UserDefaults.standard.removeObject(forKey: historyKey)
}
}
//
class PreferencesManager {
static let shared = PreferencesManager()
let defaults = UserDefaults.standard
//
func saveRakModels(_ models: [WA_RakModel]) {
do {
let encoder = JSONEncoder()
let encodedData = try encoder.encode(models)
defaults.set(encodedData, forKey: "rakModels")
} catch {
print("Error encoding rakModels: \(error)")
}
}
//
func addRakModel(_ model: WA_RakModel) {
var existingModels = retrieveRakModels() ?? [] // 使
existingModels.append(model) //
saveRakModels(existingModels) //
}
//
func retrieveRakModels() -> [WA_RakModel]? {
if let savedData = defaults.data(forKey: "rakModels") {
do {
let decoder = JSONDecoder()
let loadedModels = try decoder.decode([WA_RakModel].self, from: savedData)
return loadedModels
} catch {
print("Error decoding rakModels: \(error)")
return nil
}
}
return nil
}
}
class HistoryjpgManager {
static let shared = HistoryjpgManager()
private let historyKey = "com.example.app.jpg"
//
var history: [WallpaperData] {
get {
if let data = UserDefaults.standard.data(forKey: historyKey),
let history = try? JSONDecoder().decode([WallpaperData].self, from: data) {
return history
}
return []
}
set {
let data = try? JSONEncoder().encode(newValue)
UserDefaults.standard.set(data, forKey: historyKey)
}
}
//
func addHistoryItem(item: WallpaperData) {
//
if history.contains(where: { $0.previewThumb == item.previewThumb }) {
return
}
var updatedHistory = history
updatedHistory.append(item)
history = updatedHistory
}
//
func clearHistory() {
UserDefaults.standard.removeObject(forKey: historyKey)
}
}
class scjpgManager {
static let shared = scjpgManager()
private let historyKey = "com.example.app.scjpg"
//
var history: [WallpaperData] {
get {
if let data = UserDefaults.standard.data(forKey: historyKey),
let history = try? JSONDecoder().decode([WallpaperData].self, from: data) {
return history
}
return []
}
set {
let data = try? JSONEncoder().encode(newValue)
UserDefaults.standard.set(data, forKey: historyKey)
}
}
//
func addHistoryItem(item: WallpaperData) {
//
if history.contains(where: { $0.previewThumb == item.previewThumb }) {
return
}
var updatedHistory = history
updatedHistory.append(item)
history = updatedHistory
}
//
func clearHistory() {
UserDefaults.standard.removeObject(forKey: historyKey)
}
}
class sc4kManager {
static let shared = sc4kManager()
private let historyKey = "com.example.app.sc4k"
//
var history: [WA_3DModel] {
get {
if let data = UserDefaults.standard.data(forKey: historyKey),
let history = try? JSONDecoder().decode([WA_3DModel].self, from: data) {
return history
}
return []
}
set {
let data = try? JSONEncoder().encode(newValue)
UserDefaults.standard.set(data, forKey: historyKey)
}
}
//
func addHistoryItem(item: WA_3DModel) {
//
if history.contains(where: { $0.title == item.title }) {
return
}
var updatedHistory = history
updatedHistory.append(item)
history = updatedHistory
}
//
func clearHistory() {
UserDefaults.standard.removeObject(forKey: historyKey)
}
}
//
func setLoggedIn(_ value: Bool) {
UserDefaults.standard.set(value, forKey: "isLoggedIn")
}
///
func isLoggedIn() -> Bool {
if UserDefaults.standard.object(forKey: "isLoggedIn") != nil {
return UserDefaults.standard.bool(forKey: "isLoggedIn")
} else {
//
return false
}
}
//func issave(_ value: Bool) {
// UserDefaults.standard.set(value, forKey: "issave")
//}
//
//func issure(_ value: Bool) {
// UserDefaults.standard.set(value, forKey: "issure")
//}