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