// // 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 }//公司信息是否上传 //}