Wallpaper_Home/wallpaper_project/Tool/historyManager.swift
忆海16 5ff1070967 mtg
2024-07-23 11:44:01 +08:00

252 lines
7.5 KiB
Swift
Raw Permalink 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
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")
//}