91 lines
3.5 KiB
Swift
91 lines
3.5 KiB
Swift
//
|
||
// DBUser.swift
|
||
// IOS_study
|
||
//
|
||
// Created by CC-star on 2025/7/14.
|
||
//
|
||
|
||
import Foundation
|
||
|
||
struct DBUser: Codable, Identifiable {//用户相关
|
||
var id = UUID().uuidString//id
|
||
var nickName = ""//昵称
|
||
|
||
var cName = ""//公式名字
|
||
var cLogoURLStr = ""//公司logo
|
||
var cImageURLStrs: [String] = []//公司相关图片
|
||
var cAboutUS = ""//公式简介
|
||
var cProvince = "重庆"//省份
|
||
var cCity = ""//城市
|
||
var cIsUploaded: Bool { !cName.isEmpty }//公司信息是否上传
|
||
|
||
var hasPLJobs = false//长期兼职
|
||
var hasReviews = false//点评
|
||
|
||
enum CodingKeys: String,CodingKey {
|
||
case id
|
||
case nickName
|
||
case cName
|
||
case cLogoURLStr
|
||
case cImageURLStrs
|
||
case cAboutUS
|
||
case cProvince
|
||
case cCity
|
||
case hasPLJobs
|
||
case hasReviews
|
||
}
|
||
|
||
func encode(to encoder: any Encoder) throws {
|
||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||
try container.encode(self.id, forKey: .id)
|
||
try container.encode(self.nickName, forKey: .nickName)
|
||
try container.encode(self.cName, forKey: .cName)
|
||
try container.encode(self.cLogoURLStr, forKey: .cLogoURLStr)
|
||
try container.encode(self.cImageURLStrs, forKey: .cImageURLStrs)
|
||
try container.encode(self.cAboutUS, forKey: .cAboutUS)
|
||
try container.encode(self.cProvince, forKey: .cProvince)
|
||
try container.encode(self.cCity, forKey: .cCity)
|
||
try container.encode(self.hasPLJobs, forKey: .hasPLJobs)
|
||
try container.encode(self.hasReviews, forKey: .hasReviews)
|
||
}
|
||
|
||
init(from decoder: any Decoder) throws {
|
||
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||
self.id = try container.decode(String.self, forKey: .id)
|
||
self.nickName = try container.decodeIfPresent(String.self, forKey: .nickName) ?? ""
|
||
self.cName = try container.decodeIfPresent(String.self, forKey: .cName) ?? ""
|
||
self.cLogoURLStr = try container.decodeIfPresent(String.self, forKey: .cLogoURLStr) ?? ""
|
||
self.cImageURLStrs = try container.decodeIfPresent([String].self, forKey: .cImageURLStrs) ?? []
|
||
self.cAboutUS = try container.decodeIfPresent(String.self, forKey: .cAboutUS) ?? ""
|
||
self.cProvince = try container.decodeIfPresent(String.self, forKey: .cProvince) ?? "重庆"
|
||
self.cCity = try container.decodeIfPresent(String.self, forKey: .cCity) ?? ""
|
||
self.hasPLJobs = try container.decodeIfPresent(Bool.self, forKey: .hasPLJobs) ?? false
|
||
self.hasReviews = try container.decodeIfPresent(Bool.self, forKey: .hasReviews) ?? false
|
||
}
|
||
|
||
//先注释上面的init,在输入init生成下面的
|
||
init(id: String = UUID().uuidString, nickName: String = "", cName: String = "", cLogoURLStr: String = "", cImageURLStrs: [String] = [], cAboutUS: String = "", cProvince: String = "重庆", cCity: String = "", hasPLJobs: Bool = false, hasReviews: Bool = false) {
|
||
self.id = id
|
||
self.nickName = nickName
|
||
self.cName = cName
|
||
self.cLogoURLStr = cLogoURLStr
|
||
self.cImageURLStrs = cImageURLStrs
|
||
self.cAboutUS = cAboutUS
|
||
self.cProvince = cProvince
|
||
self.cCity = cCity
|
||
self.hasPLJobs = hasPLJobs
|
||
self.hasReviews = hasReviews
|
||
}
|
||
|
||
}
|
||
|
||
//struct Company: Codable {//公司相关
|
||
// var name = ""//公式名字
|
||
// var logoURLStr = ""//公司logo
|
||
// var imageURLStrs: [String] = []//公司相关图片
|
||
// var aboutUS = ""//公式简介
|
||
// var province = "重庆"//省份
|
||
// var city = ""//城市
|
||
// var isUploaded: Bool { !name.isEmpty }//公司信息是否上传
|
||
//}
|