Commit b62d4d75 authored by pete谢兆麟's avatar pete谢兆麟

工作经验逻辑

parent 3ef508f1
......@@ -86,6 +86,7 @@
04C6936F2B7350E7004C1758 /* YHEducationDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C6936E2B7350E7004C1758 /* YHEducationDetailVC.swift */; };
04C693712B735C6F004C1758 /* YHQualificationDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C693702B735C6F004C1758 /* YHQualificationDetailVC.swift */; };
04C8F4832B7216D800ADF59B /* YHUserInfoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C8F4822B7216D800ADF59B /* YHUserInfoHeaderView.swift */; };
04D5C5662B8ED92600190021 /* YHBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D5C5652B8ED92600190021 /* YHBaseModel.swift */; };
04E86E092B707ACE00A35F4B /* YHPhoneLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E082B707ACE00A35F4B /* YHPhoneLoginViewController.swift */; };
04E86E0B2B70C13300A35F4B /* YHCodeSueecssViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0A2B70C13300A35F4B /* YHCodeSueecssViewController.swift */; };
04E86E0D2B70D51D00A35F4B /* YHWebViewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0C2B70D51D00A35F4B /* YHWebViewViewController.swift */; };
......@@ -381,6 +382,7 @@
04C6936E2B7350E7004C1758 /* YHEducationDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEducationDetailVC.swift; sourceTree = "<group>"; };
04C693702B735C6F004C1758 /* YHQualificationDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHQualificationDetailVC.swift; sourceTree = "<group>"; };
04C8F4822B7216D800ADF59B /* YHUserInfoHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserInfoHeaderView.swift; sourceTree = "<group>"; };
04D5C5652B8ED92600190021 /* YHBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseModel.swift; sourceTree = "<group>"; };
04E86E082B707ACE00A35F4B /* YHPhoneLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPhoneLoginViewController.swift; sourceTree = "<group>"; };
04E86E0A2B70C13300A35F4B /* YHCodeSueecssViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCodeSueecssViewController.swift; sourceTree = "<group>"; };
04E86E0C2B70D51D00A35F4B /* YHWebViewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWebViewViewController.swift; sourceTree = "<group>"; };
......@@ -601,13 +603,6 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
040FA3352B6F700F0069D17F /* M */ = {
isa = PBXGroup;
children = (
);
path = M;
sourceTree = "<group>";
};
041B52852B565798007EBCEB /* IM */ = {
isa = PBXGroup;
children = (
......@@ -856,6 +851,14 @@
path = "Child(子女)";
sourceTree = "<group>";
};
04D5C5642B8ED91200190021 /* M */ = {
isa = PBXGroup;
children = (
04D5C5652B8ED92600190021 /* YHBaseModel.swift */,
);
path = M;
sourceTree = "<group>";
};
04E86E212B81E9FA00A35F4B /* Recovered References */ = {
isa = PBXGroup;
children = (
......@@ -1460,7 +1463,7 @@
A5ACE91E2B4564F7002C94D2 /* Base */ = {
isa = PBXGroup;
children = (
040FA3352B6F700F0069D17F /* M */,
04D5C5642B8ED91200190021 /* M */,
A5ACE91F2B4564F7002C94D2 /* C */,
A5ACE9232B4564F7002C94D2 /* V */,
);
......@@ -1997,6 +2000,7 @@
04E86E6E2B87388100A35F4B /* YHCompanyViewModel.swift in Sources */,
A5FD63CB2B63D6C300D1D9DA /* YHInformationFillTipsCell.swift in Sources */,
04C693712B735C6F004C1758 /* YHQualificationDetailVC.swift in Sources */,
04D5C5662B8ED92600190021 /* YHBaseModel.swift in Sources */,
04E86E492B8445F400A35F4B /* YHWorkActionView.swift in Sources */,
A5ACE9272B4564F7002C94D2 /* YHLoginViewController.swift in Sources */,
);
......
//
// YHBaseModel.swift
// galaxy
//
// Created by EDY on 2024/2/28.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import HandyJSON
class YHBaseModel: HandyJSON {
required init() {
}
}
......@@ -355,6 +355,7 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
} else if indexPath.row == 4 {
//工作经历
let vc = YHWorkExperienceListViewController()
vc.orderId = orderId ?? 0
navigationController?.pushViewController(vc)
} else if indexPath.row == 5 {
......
......@@ -53,7 +53,7 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
stepView = {
let step = YHStepView()
step.dataSource = ["初始信息", "证件上传", "基本信息", "证件信息"]
step.dataSource = ["初始信息", "证件上传", "证件信息", "基本信息"]
step.block = { [weak self] (index) in
guard let self = self else { return }
self.updateDataSource()
......
......@@ -7,19 +7,9 @@
//
import Foundation
import SmartCodable
struct YHCountryMessage: SmartCodable {
class YHCountryMessage: YHBaseModel {
var name_cn: String?
var name_en: String?
var code: String?
init(name_cn: String? = nil, name_en: String? = nil, code: String? = nil) {
self.name_cn = name_cn
self.name_en = name_en
self.code = code
}
init() {
}
}
......@@ -7,58 +7,57 @@
//
import Foundation
import SmartCodable
struct YHMainInformationModel: SmartCodable {
var id: Int? = 0
var order_id: String? = ""
var nationality: String? = ""
var is_handled: Int? = 0
var username: String? = ""
var used_name: String? = ""
var birthday: String? = ""
var age: String? = ""
var birth_place_aboard: Int? = 0
var sex: Int? = 0
var married: Int? = 0
var mobile: String? = ""
var email: String? = ""
var address_aboard: Int? = 0
var has_hk_id: Int? = 0
var hk_id_number: String? = ""
var step: Int? = 0
var surname: String? = ""
var is_live_oversea_year: Int? = 0
var username_pinyin: YHUserNameModel? = YHUserNameModel()
var birth_place: YHAddressModel? = YHAddressModel()
var address: YHAddressModel? = YHAddressModel()
var certificates: YHCertificatesModels? = YHCertificatesModels()
class YHMainInformationModel: YHBaseModel {
var id: Int = 0
var order_id: String = ""
var nationality: String = ""
var is_handled: Int = 0
var username: String = ""
var used_name: String = ""
var birthday: String = ""
var age: String = ""
var birth_place_aboard: Int = 0
var sex: Int = 0
var married: Int = 0
var mobile: String = ""
var email: String = ""
var address_aboard: Int = 0
var has_hk_id: Int = 0
var hk_id_number: String = ""
var step: Int = 0
var surname: String = ""
var is_live_oversea_year: Int = 0
var username_pinyin: YHUserNameModel = YHUserNameModel()
var birth_place: YHAddressModel = YHAddressModel()
var address: YHAddressModel = YHAddressModel()
var certificates: YHCertificatesModels = YHCertificatesModels()
}
struct YHUserNameModel: SmartCodable {
var family_name: String? = ""
var given_name: String? = ""
class YHUserNameModel: YHBaseModel {
var family_name: String = ""
var given_name: String = ""
}
struct YHAddressModel: SmartCodable {
var area: [String]? = []
var country: String? = ""
var details: String? = ""
var foreign: String? = ""
class YHAddressModel: YHBaseModel {
var area: [String] = []
var country: String = ""
var details: String = ""
var foreign: String = ""
}
struct YHCertificatesModels: SmartCodable {
var hk_macao_pass: YHCertificatesModel? = YHCertificatesModel()
var passport: YHCertificatesModel? = YHCertificatesModel()
var cn_identity_card: YHCertificatesModel? = YHCertificatesModel()
class YHCertificatesModels: YHBaseModel {
var hk_macao_pass: YHCertificatesModel = YHCertificatesModel()
var passport: YHCertificatesModel = YHCertificatesModel()
var cn_identity_card: YHCertificatesModel = YHCertificatesModel()
}
struct YHCertificatesModel: SmartCodable {
var number: String? = ""
var issue_at: String? = ""
var issue_date_start_at: String? = ""
var issue_date_end_at: String? = ""
var img_front: String? = ""
var img_back: String? = ""
var passport_type: String? = ""
class YHCertificatesModel: YHBaseModel {
var number: String = ""
var issue_at: String = ""
var issue_date_start_at: String = ""
var issue_date_end_at: String = ""
var img_front: String = ""
var img_back: String = ""
var passport_type: String = ""
}
......@@ -360,17 +360,15 @@ class YHItemView: UIView {
extension YHItemView: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
dataSource?.message = textField.text
if let block = block {
block(dataSource ?? YHItemModel())
}
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newText = (textField.text! as NSString).replacingCharacters(in: range, with: string)
dataSource?.message = newText
var data = dataSource ?? YHItemModel()
data.message = newText
if let block = block {
block(dataSource ?? YHItemModel())
block(data)
}
return true
}
......
......@@ -17,15 +17,12 @@ class YHSelectCountryViewModel: NSObject {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.OrderInformation.countryInformation + "?keyword = \(key)"
YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
//// printLog("model 是 ==> \(model)")
let dic = json.data
guard let resultArray = [YHCountryMessage].deserialize(array: dic as? [Any]) else {
let dic = json.data as? [Any]
guard let resultArray = [YHCountryMessage].deserialize(from: dic) else {
callBackBlock([],nil)
return
}
callBackBlock(resultArray, nil)
} failBlock: { err in
callBackBlock([],err)
......
......@@ -15,7 +15,8 @@ class YHWorkExperienceListViewController: YHBaseViewController {
var dataSource: [YHWorkItemListModel]?
var viewModel: YHWorkItemListViewModel?
var isMore: Bool = false
var orderId: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
viewModel = YHWorkItemListViewModel()
......@@ -26,7 +27,7 @@ class YHWorkExperienceListViewController: YHBaseViewController {
}
func getData() {
viewModel?.requestWorkList("133969", callBackBlock: {[weak self] success, error in
viewModel?.requestWorkList("\(orderId)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.dataSource = success
self.tableView.reloadData()
......@@ -112,6 +113,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
guard let self = self else { return }
let vc = YHWorkExperienceViewController()
vc.workExperienceID = "\(model.id ?? 0)"
vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true)
}
cell.deleteBlock = {[weak self] model in
......@@ -128,6 +130,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
cell.newWorkBlock = {[weak self] in
guard let self = self else { return }
let vc = YHWorkExperienceViewController()
vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true)
}
return cell
......
......@@ -18,6 +18,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
var introductionDataSource: [YHWorkExperienceProjectModel]?
var fileDataSource: [String]?
var workExperienceID: String?
var orderID: Int = 0
var isMore: Bool = false
override func viewDidLoad() {
......@@ -101,7 +102,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
let bottom = YHBottomNextView()
bottom.nextblock = { [weak self] in
guard let self = self else { return }
self.viewModel.saveWorkDetail(1, callBackBlock: {[weak self] flag, model in
self.viewModel.saveWorkDetail(1, orderID: self.orderID, callBackBlock: {[weak self] flag, model in
guard let self = self else { return }
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
......@@ -109,7 +110,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
}
bottom.saveBlock = { [weak self] in
guard let self = self else { return }
self.viewModel.saveWorkDetail(0, callBackBlock: {[weak self] flag, model in
self.viewModel.saveWorkDetail(0, orderID: self.orderID, callBackBlock: {[weak self] flag, model in
guard let self = self else { return }
})
}
......
......@@ -7,9 +7,8 @@
//
import UIKit
import SmartCodable
struct YHCompanyModel: SmartCodable {
class YHCompanyModel: YHBaseModel {
var current_page: Int?
var first_page_url: String?
var from: Int?
......@@ -23,7 +22,7 @@ struct YHCompanyModel: SmartCodable {
var data: [YHCompanyModelListModel]?
}
struct YHCompanyModelListModel: SmartCodable {
class YHCompanyModelListModel: YHBaseModel {
var id: Int?
var name: String?
var customer_num: Int?
......
......@@ -7,9 +7,8 @@
//
import UIKit
import SmartCodable
struct YHWorkExampleModel: SmartCodable {
class YHWorkExampleModel: YHBaseModel {
var type: Int?
var industry: String?
var wduty_list: [String]?
......
......@@ -7,56 +7,55 @@
//
import Foundation
import SmartCodable
struct YHWorkExperienceDetailModel: SmartCodable {
var id: Int?
var order_id: Int?
var company_name: String?
var is_famous_enterprise: Int?
var duty: String?
var entry_time: String?
var departure_time: String?
var industry: String?
var location: YHAddressModel?
var location_aboard: Int?
var professional_level: Int?
var professional_other: String?
var position: String?
var remark: String?
var old_id: Int?
var created_at: String?
var updated_at: String?
var is_show: Int?
var deleted_at: String?
var operator_name: String?
var operator_english_name: String?
var operator_id: Int?
var work_certificate: String?
var executives_certificate: String?
var is_executives: Int?
var wduty: String?
var highlights: String?
var file: [String]?
var not_need_upload_file: Int?
var company_member_total: Int?
var administrative_level: Int?
var company_manage_total: Int?
var top_manager_start_at: String?
var top_manager_end_at: String?
var master_of_important_project: Int?
var match_listing: Int?
var is_synthetic: Int?
var step: Int?
var create_from_appid: Int?
var update_from_appid: Int?
var international_work_experience: Int?
var turnover: Int?
var business_nature: String?
var company_website: String?
var company_introduce: String?
var business_remark: String?
var is_project_introduction: Int?
var customer_center_id: Int?
var projects: [String]?
class YHWorkExperienceDetailModel: YHBaseModel {
var id: Int = 0
var order_id: Int = 0
var company_name: String = ""
var is_famous_enterprise: Int = 0
var duty: String = ""
var entry_time: String = ""
var departure_time: String = ""
var industry: String = ""
var location: YHAddressModel = YHAddressModel()
var location_aboard: Int = 0
var professional_level: Int = 0
var professional_other: String = ""
var position: String = ""
var remark: String = ""
var old_id: Int = 0
var created_at: String = ""
var updated_at: String = ""
var is_show: Int = 0
var deleted_at: String = ""
var operator_name: String = ""
var operator_english_name: String = ""
var operator_id: Int = 0
var work_certificate: String = ""
var executives_certificate: String = ""
var is_executives: Int = 0
var wduty: String = ""
var highlights: String = ""
var file: [String] = []
var not_need_upload_file: Int = 0
var company_member_total: Int = 0
var administrative_level: Int = 0
var company_manage_total: Int = 0
var top_manager_start_at: String = ""
var top_manager_end_at: String = ""
var master_of_important_project: Int = 0
var match_listing: Int = 0
var is_synthetic: Int = 0
var step: Int = 0
var create_from_appid: Int = 0
var update_from_appid: Int = 0
var international_work_experience: Int = 0
var turnover: Int = 0
var business_nature: String = ""
var company_website: String = ""
var company_introduce: String = ""
var business_remark: String = ""
var is_project_introduction: Int = 0
var customer_center_id: Int = 0
var projects: [String] = []
}
......@@ -9,7 +9,7 @@
import UIKit
import SmartCodable
struct YHWorkExperienceProjectModel: SmartCodable {
class YHWorkExperienceProjectModel: YHBaseModel {
var id: Int?
var order_id: Int?
var work_id: Int?
......
......@@ -7,16 +7,15 @@
//
import UIKit
import SmartCodable
struct YHWorkModel: SmartCodable {
class YHWorkModel: YHBaseModel {
var count: Int?
var list: [YHWorkItemListModel]?
}
struct YHWorkItemListModel: SmartCodable {
class YHWorkItemListModel: YHBaseModel {
var id: Int?
var order_id: Int?
var company_name: String?
......
......@@ -14,12 +14,12 @@ class YHCompanyViewModel: YHBaseViewModel {
}
func requestCompany(_ key: String, callBackBlock:@escaping (_ success: [YHCompanyModelListModel]?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/company-search?company=\(key)&page_size=20"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.company + "?company=\(key)&page_size=20"
YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = YHCompanyModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
guard let result = YHCompanyModel.deserialize(from: dic as? Dictionary) else {
callBackBlock([],nil)
return
}
......
......@@ -16,12 +16,12 @@ class YHWorkIntroductionViewModel: YHBaseViewModel {
}
func requestIntroducetionExample(callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/item-example"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.projectExample
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = [YHWorkExampleModel].deserialize(array: dic as? [Any]) else {
guard let result = [YHWorkExampleModel].deserialize(from: dic as? [Any]) else {
callBackBlock(false,nil)
return
}
......@@ -34,16 +34,16 @@ class YHWorkIntroductionViewModel: YHBaseViewModel {
// 0保存 1下一步
func saveWorkProjectDetail(_ workModel: YHWorkExperienceDetailModel, projectModel: YHWorkExperienceProjectModel, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["app_id": workModel.create_from_appid ?? 0,
"id": projectModel.id ?? 0,
"order_id": workModel.order_id ?? 0,
"project_end_time": projectModel.project_end_time ?? "",
"project_highlights": projectModel.project_highlights ?? 0,
"project_name": projectModel.project_name ?? 0,
"project_start_time": projectModel.project_start_time ?? "",
"work_id": workModel.id ?? 0
]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/project/save"
let params: [String : Any] = ["app_id": workModel.create_from_appid,
"id": projectModel.id ?? 0,
"order_id": workModel.order_id,
"project_end_time": projectModel.project_end_time ?? "",
"project_highlights": projectModel.project_highlights ?? 0,
"project_name": projectModel.project_name ?? 0,
"project_start_time": projectModel.project_start_time ?? "",
"work_id": workModel.id
]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveProject
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return }
callBackBlock(true, nil)
......
......@@ -17,12 +17,12 @@ class YHWorkItemListViewModel: YHBaseViewModel {
}
func requestWorkList(_ orderId: String, callBackBlock:@escaping (_ success: [YHWorkItemListModel]?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/list?order_id=\(orderId)"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.list + "?order_id=\(orderId)"
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = YHWorkModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
let dic = json.data
guard let result = YHWorkModel.deserialize(from: dic as? Dictionary) else {
callBackBlock([],nil)
return
}
......@@ -35,7 +35,7 @@ class YHWorkItemListViewModel: YHBaseViewModel {
func requestDeleteWorkExperience(_ orderId: String, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/del"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.del
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
......
......@@ -114,4 +114,31 @@ class YHAllApiName {
// 主申请人国家信息
static let countryInformation = "infoflow/country"
}
struct WorkExperience {
//工作经验列表
static let list = "infoflow/work/list"
//工作经验详情
static let detail = "infoflow/work/detail"
//工作经验保存
static let save = "infoflow/work/save"
static let saveAll = "infoflow/work/save-all"
//公司列表
static let company = "infoflow/company/search"
//工作经历删除
static let del = "infoflow/work/del"
//工作经历参考模版
static let example = "infoflow/work/getWorkExampleList"
static let projectExample = "infoflow/work/getWorkProjectExampleList"
//工作经验项目保存
static let saveProject = "infoflow/work/saveWorkProject"
//工作经验项目列表
static let projectList = "infoflow/work/getWorkProjectList"
//工作经验项目列表
static let projectDetail = "infoflow/work/getWorkProjectDetail"
//删除工作经验项目
static let projectDel = "infoflow/work/delWorkProject"
//识别附件
static let ocrFileContent = "infoflow/work/getOcrFileContent"
}
}
......@@ -100,15 +100,10 @@ class YHNetRequest: NSObject {
}
private func testToken(_ requestHeader:inout HTTPHeaders) {
//杜宇的账号
// requestHeader.add(name: "token", value: "eyJpdiI6Ik5aeEVDclZTK0FISEFBZUgxN2VkdGc9PSIsInZhbHVlIjoiRFRJOHlObzVrZlp4T2tVYW1MSE1ZK0Z3dXlyK3p4QlczNmxsTXdkdW5GQVY4Q2VqZlNNUDdrdVpsb0JcLytpYmJheUp2MWZTUE5pOWgrVWRLdEtIUkx4R1wvS3F6SmRSQ0dWeFVXanFINGkyRWNMTXB4TVlcLzhjXC9NSzVoMFwvZ1ZOaVIwb0VqWlo1VERPSHY2RWJhME1RdWtkXC8yanBQdm9lMWM4WXJVK1BnMDd6SncwVVlWMDNnbSswSnM3eVwveFRRck03M3pOaDFSc3g0UmlYMTJQdmZpSkhUWHVMa21RV2xRbXBkalVTTUFicmFaN2NVNXl1ZTJOeEJoKzhrMnZtdzdvM1U5Qmh4WXNiSEFERUpiZHNWNkxoM2ZkVVRUdFlMMU1MQnIyaWNxNSt4S1NocDVEbnNqeHphUCtVVk1qTlVnMk1ydVNPamJ0c2tDQ1wvWFk1SkxtSWtDMU9oT3ZqaFpuNU5aVUVicHpYVU56VnlqK01Cb20welJMbkQrcTFWOHFUbzlPK0RGdDRcLzJ1T094MjNjYTVZZmJcL2txRE93cEFUYzlKWWdVWE9cLzFnYnVwTFZ4VUtqMFQ5QlgzZitDQjhyNURpU3p0bktqblBicUxPekNBcWRWM0g0WklSOEc0T0RPVkNBMGZQdEtWV3ZqN3IrcHZDYm9UNjREdnA3U1RZY1Z1dFE3K1RRM2F2eGY0QXc2dGlha0RBUDVpVHdFWE53dzl2eVczVk9VNTJSa1Fzb1J4ZGd0c0RCdktPQ1FWOUQ5Y0krckQ3bFc4NkNJMHliSXlnNGtYU1ZCUHRZWTdCKzA5d1wvdldzWTlpeUdYaEg4eGhITHpRSUthMWpSVlZvZVhwZ3BvamxCTHFSUXJmQ1hQNThYbUNNanZnVGs0b3RDTUFmYkdsYTEzeEtnTXJpZVU0QnJHWDJoUk9sUklzaFFhUkJiNWk0Z2E0cUUwejU4RmF2RnE4Z2U0eEo3VmZ2SmFMTlVacFBvSFlZUmM2N3liVTdhTk5NWU9YS0xtalk3QUN3NWV2UTlPeE5hMmk0aHU4MSt0YjNJQytFczRMa2l6XC9jV0Jxc01QYU0yYXdTXC92RXBxTFNVOVd6SlwvRm9KM21jUHlcL2diRlMyU3REeEl0K1RxSjRuck8xaXlOaWY4NXVzMVBibXpVSEZJWkVZQnFUd2k5TUVJcDUwUEFjTmljTzYyaWFYaFkzZUtkR294d29LUzBUTFF1Y0xxbWtMNFF4ZlZkN2k4YktEUnRGekU3OEdaN2J3TUR4T2FpVHRKaGlqRWNcL2c5dlwvOUVEVmdLNUhBSk1wSGV5UXVoOFJydlczc09HU1EyeXI4SFZZQmJJQWx1cGFIaXhmK1VJNmdoNmwrOElMZXFxSHZtazQreW84RFBlOXFnVDI2bm1tZWl0K01OcU1DSGJEQXdnWW9Hc0ptWFVJbXVXdEpyT2FKUHprTzJ1MkxFSEViZGV4cFpuOWRXK3dUdVR4bmJHZ1VRRGJycFRBME5lWUtaT0JCYjViSWVvcVJ3RXllb2tQZ1VkUWFqVWo0UHQzMUQwWVMwZ05rTTU0Nk1QQUdxTm9rZFNISVYrTG5DWlArNkt5RkZxajdZN1luakRKQVdUaVpnOUhCUExYMEVKRXRRT3QyZTI4cU9TdlBrbWxVZkFLSWZFbXNha3lCZUhFRVpyTmxQOERjbVwvMytCc0JpNnZcL1Nvek9yR2pUWGF2XC9VMzN4OEY5T3VsdUNGRFNWbHZZMnBzNHhMeEdIR21majBOOUJNbEhlK1J4S3dFTnlJamdTeFQyTWlTTlhCUWxnSDF6VmNhWHIzVGpoREY5clB2XC9uZHZjSm1iTHZ1bjFIUUFRait6dUJlUk1WQ1FhdXFoN002YlQ5MVwvQVMzYzJJQ0RFR1czdEtqMFBTQT09IiwibWFjIjoiOGVlZjBmNTVmMzEwNjhkZjVmYTlkYzAwYzllMjJmNjUyZmRmN2U1ODFiZTIzNzRjMDVjMTNiOTNhOWRhMmVkYSJ9")
//明杰的账号
// requestHeader.add(name: "token", value: "eyJpdiI6InM0a3dcL1hQYUtPOENKOXNJYzRoMHJnPT0iLCJ2YWx1ZSI6Ik12dW9PUWI2SGRIZDF1cGVrREZ0b2tyd3ZLeUJkVXp5am9vRWhhYVVNRnRyT0FNNW· 、dlNW9cL1BpMFBSS1RKd3B6Y2dyaVM0aHV0NXlIcXJkc1MxdG11d3hMZ3RsZHJ4aGNiRnZLZDJ0Q0NSYndUMUNuODRaYW1lQk1KZ0FqTFFVbTZ1TllMTGdtY1dlV0ZkRm5TeW9Vc1FYY09ZMFMrbGo4TmRnZ0syOWRhUFFRbjBjWDFDKzEwQWxLWjExNWJ5R3VxRGNEbWN0K0Z6Z1VieFIrMmdSbTZ6dU9CZGdFcDJlTktPMTY2cHYyeGhKVXpSNVhxT0VTQjRCa05OTE9aalQzWVFPczRpS1lldk16Zk9BUmZYbnRybDVoVXdRZWM3V1BUV3J0NkIxRHBCT3JDd1czQ0Q3YjU4cnVxVE5Lb0ZnbnlmMWN1RU9ocnU1ZE5pUmVDS21CbmhWTDdxTmYrRCtNNHZLQzdNXC9Bb0lRWXdNcE5HNW5ielwvWGtCZmpKNlNHWW9MaE94TXNSOURlemVSSkNkUXVveFJkUHVWbFIyeXNVZFJ3K0pXNElUWVhLSXpvUGNQek1cLzRBc3BaRE1lUVdKSENCS0FJdjFyeUVBSnNXeTZcL0RNajJIeFF0QUdndzBWRllOQ2R5UzZMK3lqdFZTanRxbXhmeGFrRVRJOE95enA1cUl0VzVjUytpVnBkRTFXMm9uQytobG1vWTlRQWhvNGN4THdRSTUyS0tub29xK25VZkNIb1FVOEh6YktGbjgzdjQ0NlA1cVc0aWNqYWp6OElSb3Vlb0ZPWmVzdVRLQW5SejVJa09kUDIrZW5jbmVtTzYyOFwvQnRTV3ExZVFhOWh4XC9BbDUxaHNRSDlIXC96QThkVGlBcEVkOUZCelBIV21WVXZ0OFlQaWtsclFPOXJzOXFoeGc1QXcyeEgwU2NqcWxXb2g4aTJBK2tCZkxoNjBTU1VrNDEwWWxVUW50STcyMFwvQjlCU2lxc3RSRGFOemdJTDN5NGRhN1RLSHVXVlFVRHdWN1dIVGppTVFNZEkzMWU4ckpXZ1lcL3BKRENnZGpuR0ZaTlpBVFowMVRWc1dpOFEzcERUY3RjXC9nUGYrTkxLdkFGSlc3b0dSUWVuQkRVR2tzZVN2UDFEdCtKNnNMMHNQZnJaT0tGV293OHMxXC9WZ1V5Z0dmM1VLeFM5QVdvVGVcL2IrS0Y3M0Zya0tQbXl6ZTNkWm00V1hZUUdiY3p5UVwvZWthUVlkNGV6cVlNaDMwazJNS0FoejlLT3FlZlBzWklnWkRZclhwUmFqTzk1VWF2eHJ1c1pqYzI2eThqOEJVZDZIbUt1dE81VjZoM0xiWm1NOVBrcjlhM1djOUJvb3VLTjJ2VTJvMzd3MHA1cmRuSWxTMGgzclYrUHF0NnFRN1BPSE4rM1ZTWWF5VlBTWE56aTV0U3Y5M0NrcDNBYVFHTTJvOUsyR1Y4S2k3N05CZUFDMk4xUVwvVWZKSUdiMjdmOXIxSXZjSTdvaGhMSHFISk12N2xDdlRrZUloaVBMS0cyMkVrclhcL3loenQ1MTF2V0lORDZyVmZMaytiWVJyMnk4SzhDRktQSFRQR1FoTFpQZHBzUllRbUUza3NaXC9lMXFSSFZud05JTWo1UkVTTXZjZmZucUF3Mzh2OVpkT2QyaVQ2VXRFVHltRW1MQjlzaHh1Ym02YW1LRUphSVNUeEltMWN5WGxRdlgzSE96V0ErbDdldnQ0ZkRjdGxsQVVpRFZCdnlMSnVrSW5aS3BrT3FRbDh0NWR0TWoxdjNMb3ZUVEJwbkVMbzJjeHRibGJJTGlMOHhSU0tNaTk5VHJxSk9xanRIOTMreVVmZm5lXC82SThIXC9iVXFudW9VOVd1S1RNYlwvbzF5b2V0bDVtRWNkalBTdkVVRGFPVlE9PSIsIm1hYyI6IjNkOTZlZDhiOTVlNmUxZmVlMzZmNDIyYmMzYTc4N2Y2ZmE0ZTI3MGI2YjQxZGVkZGRmMTY0N2IyOGZiM2RhNjYifQ==")
//金龙的账号
requestHeader.add(name: "token", value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE2MDcwNjQsImkiOjE0NDg0MTczMjc0MjE2LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.KwTWdaLy5UG4LLs6i-D9ne0RflRTT5v4zvu-66yihDE")
// requestHeader.add(name: "token", value:"eyJpdiI6InhISTlXZjA2cXE5Z2pqMDZDa2NrTkE9PSIsInZhbHVlIjoiR3NkRVR0dVdjWE5GN2N3UmNiU0xobVYzZTR6SXlGXC9XVEhWV0xcL1F1YXVBOU9jRDlFZ2pOanBcL1RBMUVkUDlRQ2xhREx0c3dKeHNJQjMwaVVuYkloZHBiUXQzZkJlS2dTWDJrTE90K2FpM0FDWm10a3FFUGZpdW90TDNscStud0tSenRRV2kyV3JVbEZ6eXppUHZ5ajFQMXpBejh0YUZ4Z0VPZkwwdEtwXC9mNjh4bWQySGpSS2pzVkJ1Y3ZrbGFKdGVsMkhkRXJrTlRHbzkxcVdkcE1yWXRja2xDRHVmRUhhdU9ybkJmXC9VRVJnY2RXeVpXMzZVc2h2eUsxYVRmSXR0QXB1WjVsaDBLTllVOEtKWUhSTE5yNXFvYWlaQzdQSWZ0T0V2VTZwTFJjb25OZGdYbE1lNHZOZ0ZWcWhWWkhnUm8rWGJqSE1Jdm1DY3hlWVliY2F0YkplZFwvQ0pMMndtdHFBQUF0MjJYTFNZYk14Tzh0d0g1K2c2M1U2bXFZY3JUbXptbEhCSXR5R3hFZ0JHNmpXTHgzeTJvc0Z2UXpENk5LOTlBN0VjWE8rNmYzTklBN3d0YVVPb2VyS0lNK3FINUZlTmR6UTlBdENuZEtDKzE3emwxMGxvaEc1Sm1mc0E3Y251cU5xcjd4ZzdSbHNNQ2xoRUc4VUJTR24zQ1lRSE5VRGtUd0s0ZTljSlRxRmdwMFVqY0RsMjQwcm1SaVdSN29lNjYrd1JDSlwvSUtiSWpneFpuR2VzeUFBbzNBUUh2MnNVTFZ5bXVLTGVLNFM5TjdzdXpaM1ZFRDdvRUVlRFF0QUY4d2pXcmF4NkFwMGVodXRVUFlxVGhVRmVpYlwvRUJFT05idFhyeXp4TUtcLzN0MlVcL3ZIc2dWSncxaW55TDVUVXFIWjZZMUdHakJKVnpzRkxGeE52RWdLaW9WT0tCb3pTQW1xelNwaTRaQmtGeEpITjVEUU44Q3VGSnBGdzdOcFRyTE9sYmFTT3RrMDJYU3l0XC9PcVJ1OXo2MUpJdm5XSHZFZ0lIMGh5OGR2TEJkNTZjVHFKM1hSYnVEbm9vVFU1VUUzcmRDZ3JhZWRYQWZ1cU9aajVKMHdOMGpxczBSVU5GejNrNzk3bnVBa210dFdCblVBaUs5Y0VIWmxCdE04UlV6T2NEN3ZTN2E0MEhRYmlCNGk3V2xZN1R2ZUM4cVVZZ1Rlb1BndmFcL2phemNnbEhKb05QeHhxa1BldFFqK2ErcWZmYWs1RnNPWEpNK0x4MFo4MTU4OEttZTNxeDMrcCtkNUVwSUd4b1krOXRFdU1UNVFxZyszXC9Lb21TSG5hSFI2OVRVWmxIRm9UcTRlU2kyNWF6K1pQR3lMK1MyS0FvQ2ZFaTViTmdybm1xQ1BscVMzM2tjeUFCQVlvZFdPMTJTb2ttZDl2Q3BuTXVvTnJkUDRpa0g5cE4rWlRcL1l2MWdNdmY0MFVsMFArWWYzWVNmMW5oUnkwWk1mTVc3WUluU3dyQUM4TTZBbHJac0lOMDNiYVhVWks2TCs3QnN0VDlOXC9xaEwyUEtmblVmOXpcL3hoekQ1K3JKWVozVWxrdElKbTdWTHpaMnk2bXFQQ0VJalR1TVpIc1d4bmJjVVIwdTR1VXY1M1wvMEJMODVTWkNreVpCVmh3MWRDeERROGh5YnVsMkVKV2poMFwvYnZHakMycHJmQjUycDQ3b3laUUlTSjdmaDdFMnFtTHhIN1RvUnhhcUhCWXkybkhoMlFwZUVtM0VPUVZrcXp3S0lLMFwvOUtvZnhibE1ZUnp0bGVkcGdqTlp0dGV0cGhCa3hjUmxZXC96SWRFXC83OWxEUnRma1MyYnZqWGhMN0lSM0x2Z0NCTWxIR0pUYjByWDN4Y3JCT3JLTzFzUWkzS3NYTDVDZVJ3MmhEbXlXSENqYWc9PSIsIm1hYyI6Ijc1YmU5YTE4ZGEwNzExZGJlZWQ0MzZhNGVkNWE1NGMzYmE1YWFjNjBhYTgxYjFlYjUyN2M1Yzc4ZjkwNTcyNmMifQ==")
}
///  链式语法
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment