65 lines
1.6 KiB
Swift
65 lines
1.6 KiB
Swift
//
|
|
// Account.swift
|
|
// SHECommunity
|
|
//
|
|
// Created by 林 on 2024/11/27.
|
|
//
|
|
|
|
import Foundation
|
|
import SwiftyUserDefaults
|
|
import ObjectMapper
|
|
|
|
extension DefaultsKeys {
|
|
var userConfig: DefaultsKey<Data?> { .init("UserConfig") }
|
|
var loginToken: DefaultsKey<String?> { .init("LoginToken") }
|
|
var searchHistory: DefaultsKey<[String: [String]]?> { .init("searchHistory") }
|
|
var locationHistory: DefaultsKey<[String: [[String: Any]]]?> { .init("locationHistory") }
|
|
var searchShopHistory: DefaultsKey<[String]> { .init("searchShopHistory", defaultValue: []) }
|
|
var searchOrderHistory: DefaultsKey<[String]> { .init("searchOrderHistory", defaultValue: []) }
|
|
}
|
|
|
|
struct Account: Mappable {
|
|
var token: String?
|
|
var phone: String?
|
|
var name: String?
|
|
|
|
init?(map: Map) {
|
|
|
|
}
|
|
|
|
init(token: String, phone: String, name: String) {
|
|
self.token = token
|
|
self.phone = phone
|
|
self.name = name
|
|
}
|
|
|
|
mutating func mapping(map: Map) {
|
|
token <- map["sn"]
|
|
phone <- map["phone"]
|
|
name <- map["name"]
|
|
}
|
|
}
|
|
|
|
struct LocationHistoryModel: Mappable {
|
|
|
|
var latitude: CGFloat?
|
|
var longitude: CGFloat?
|
|
var placemark: String?
|
|
|
|
init(latitude: CGFloat, longitude: CGFloat, placemark: String) {
|
|
self.latitude = latitude
|
|
self.longitude = longitude
|
|
self.placemark = placemark
|
|
}
|
|
|
|
init?(map: Map) {
|
|
|
|
}
|
|
|
|
mutating func mapping(map: Map) {
|
|
latitude <- map["latitude"]
|
|
longitude <- map["longitude"]
|
|
placemark <- map["placemark"]
|
|
}
|
|
}
|