Commit cb7fd7f1 authored by Steven杜宇's avatar Steven杜宇

Merge branch 'develop' into duyu

# Conflicts:
#	galaxy/galaxy.xcodeproj/project.pbxproj
parents e98bba03 8405c037
This diff is collapsed.
......@@ -139,7 +139,7 @@ extension AppDelegate {
private func setupRootVC() {
let tabBarController = YHTabBarViewController()
let v0 = YHNavigationController(rootVC:YHHomeViewController())
let v1 = YHNavigationController(rootVC:YHIntelligentServiceViewController())
let v1 = YHNavigationController(rootVC:YHServiceCenterMainViewController())
let v2 = YHNavigationController(rootVC:YHMyViewController())
v0.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "首页", image: UIImage(named: "photo"), selectedImage: UIImage(named: "photo_1"))
......
......@@ -106,7 +106,7 @@ class YHDavidTestViewController: YHBaseViewController {
view.backgroundColor = .white
gk_navigationBar.isHidden = true
self.items = [AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高")]
self.items = [AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高")]
self.myCollectView.reloadData()
}
}
......
......@@ -87,8 +87,8 @@ class YHHomeViewController: YHBaseViewController {
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
// tableView.rowHeight = UITableView.automaticDimension
// tableView.estimatedRowHeight = 100
// tableView.rowHeight = UITableView.automaticDimension
// tableView.estimatedRowHeight = 100
// tableView.register(YHHomeCustomCell.self, forCellReuseIdentifier: YHHomeCustomCell.cellReuseIdentifier)
tableView.register(YHDavidCell0.self,forCellReuseIdentifier: YHDavidCell0.cellReuseIdentifier)
......
......@@ -30,6 +30,7 @@ extension YHHomePageViewModel {
// printLog("model 是 ==> \(model)")
let dic = model.data?.peel
guard let resultModel = YHHomeCofigMode.deserialize(dict: dic as? [AnyHashable : Any]) else {
callBackBlock(false,nil)
return
}
configModel = resultModel
......
......@@ -6,10 +6,12 @@
//
import UIKit
import SmartCodable
//import SmartCodable
//服务中心
class YHIntelligentServiceViewController: YHBaseViewController {
class YHServiceCenterMainViewController: YHBaseViewController {
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
private lazy var topBkg : UIView = {
let imagV = UIImageView()
......@@ -33,12 +35,43 @@ class YHIntelligentServiceViewController: YHBaseViewController {
return view
}()
var homeTableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 81.0
tableView.register(YHContractCell.self,forCellReuseIdentifier: YHContractCell.cellReuseIdentifier)
return tableView
}()
override func viewDidLoad() {
super.viewDidLoad()
initView()
setupUI()
loadData()
}
}
extension YHServiceCenterMainViewController {
func loadData() {
self.serviceCenterMainReqVM.getContactList { success, error in
if success == true {
}
self.homeTableView.reloadData()
}
}
func initView() {
func setupUI() {
gk_navTitle = "服务中心"
gk_navBarAlpha = 1.0
......@@ -61,6 +94,58 @@ class YHIntelligentServiceViewController: YHBaseViewController {
make.centerY.equalToSuperview().offset(-64)
make.width.equalTo(KScreenWidth)
}
noDataView.isHidden = false
view.addSubview(homeTableView)
homeTableView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalToSuperview().offset(-k_Height_TabBar)
}
homeTableView.delegate = self
homeTableView.dataSource = self
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return self.serviceCenterMainReqVM.arrContactList.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 16
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 16))
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: YHContractCell.cellReuseIdentifier, for: indexPath) as! YHContractCell
cell.selectionStyle = .none
if indexPath.section < self.serviceCenterMainReqVM.arrContactList.count {
cell.dataModel = self.serviceCenterMainReqVM.arrContactList[indexPath.section]
}
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.row)")
}
}
//
// YHContactItemModel.swift
// galaxy
//
// Created by davidhuangA on 2024/1/23.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
struct YHContactItemModel : SmartCodable {
var id : String = ""
var orderSn : String = ""
var username : String = ""
var productName : String = ""
var createTime : String = ""
var type : String = ""
}
//
// YHContractCell.swift
// galaxy
//
// Created by davidhuangA on 2024/1/22.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHContractCell: UITableViewCell {
static let cellReuseIdentifier = "YHContractCell"
var dataModel : YHContactItemModel? {
didSet {
updateUI()
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
lazy var contractNameLable = {
let lable = UILabel()
lable.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable.font = kFont(name: "PingFangSC-Medium", size: 17)
lable.text = "香港优秀人才计划-张先生"
return lable
}()
lazy var contractIdLable = {
let lable = UILabel()
lable.font = kFont(name: "PingFangSC-Medium", size: 17)
lable.text = "订单号:10936"
lable.textColor = UIColor(red: 0.533, green: 0.561, blue: 0.596, alpha: 1)
lable.font = kFont(name: "PingFangSC-Regular", size: 12)
return lable
}()
}
extension YHContractCell {
func updateUI() {
contractNameLable.text = dataModel?.productName ?? "-"
contractIdLable.text = dataModel?.orderSn ?? "-"
}
func setupUI() {
let holdView = UIView()
holdView.backgroundColor = .white
holdView.layer.cornerRadius = 12
holdView.clipsToBounds = true
backgroundColor = .clear
contentView.backgroundColor = .clear
contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.left.equalTo(16)
make.right.equalTo(-16)
}
let nextImgV = UIImageView()
nextImgV.image = UIImage(named: "service_center_right_next_icon")
nextImgV.contentMode = .scaleAspectFill
holdView.addSubview(nextImgV)
nextImgV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(-16)
make.width.height.equalTo(16)
}
holdView.addSubview(contractNameLable)
contractNameLable.snp.makeConstraints { make in
make.top.equalTo(16)
make.left.equalTo(21)
make.right.equalTo(nextImgV.snp.left).offset(-10)
make.height.equalTo(24)
}
holdView.addSubview(contractIdLable)
contractIdLable.snp.makeConstraints { make in
make.top.equalTo(contractNameLable.snp.bottom).offset(4)
make.left.equalTo(contractNameLable)
make.right.equalTo(contractNameLable)
make.height.equalTo(20)
make.bottom.equalToSuperview().offset(-16)
}
}
}
//
// YHServiceCenterMainViewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/1/23.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHServiceCenterMainViewModel: YHBaseViewModel {
//合同列表 数据
var arrContactList : [YHContactItemModel] = []
}
extension YHServiceCenterMainViewModel {
//请求合同项
func getContactList(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.contractListApi
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard let model = NetBaseModel.deserialize(dict: json) else {
let error : YHErrorModel = YHErrorModel(errorCode:YHErrorCode.dictParseError.rawValue,errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false,error)
return
}
printLog("model 是 ==> \(model)")
let dic = model.data?.peel
guard let resultModel = YHContactItemHoldModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
self.arrContactList = []
callBackBlock(false,nil)
return
}
self.arrContactList = resultModel.orders
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
}
struct YHContactItemHoldModel : SmartCodable {
var orders : [YHContactItemModel] = []
}
......@@ -8,7 +8,6 @@
class YHAllApiName {
//接口 模块名 Common
struct Common {
//具体的业务接口
......@@ -17,16 +16,9 @@ class YHAllApiName {
static let homeConfigApi = "common/homepage-config/index"
}
//接口 模块名 Common2
struct Common2 {
//具体的业务接口
//首页配置接口
static let loginByPwd = "common/homepage-config/index"
//order 模块
struct Order {
//合同列表
static let contractListApi = "frontend/order/list"
}
}
......@@ -12,7 +12,10 @@ class YHBaseUrlManager {
static let shared = YHBaseUrlManager()
//开发环境
static let baseUrlTest : String = "https://test-private-sphere.galaxy-immi.com/"
// static let baseUrlTest : String = "https://test-private-sphere.galaxy-immi.com/"
static let baseUrlTest : String = "https://test.api.gateway.galaxy-immi.com/"
//正式环境
static let baseUrlRelease : String = "https://api.health.sleep321.com/"
......
......@@ -90,6 +90,7 @@ class YHNetRequest: NSObject {
let appkey = "958364f87222c200a72414f492bf0e26"
let signOrgiString = "appid=" + "1" + "&" + "timestamp=" + dateStr + "&" + "appkey=" + appkey
let sign = signOrgiString.md5()
print("sign = \(sign)")
requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6ImFheHNOa3dmYzZ0NUFSQzZUeDh2MVE9PSIsInZhbHVlIjoiblpTOVFWUFwvMHh4am5GUUxmaHkzTWUrZ1Roenk2QXp2V3FtbzJ2cHJSMXo2N2RnMGdpOG9JS3d3RlZtS1cweWhCcUpweVN6dGw5d2s2WldTRDdWODBhTGpFRWZmOFBiWDJib2lkSDNxSjJ2RXdRT2NhcXVLNGQ2ZjlFK1VIOTFRVjhld0F3eUk4amtcL0o1SDM5dm95TTB3RnZwcmVWaGZDU1FQckhCaGd6Y1cxMWNVUm5jRzZNOEhudWRrN1R1UzVreXR3YUhDeEdKNnhMbFlDNkIzendjVGJXRnFZbGpZUm1VRjltNHkxV0VXaUpHWTIwUVU3MjJCd3Z0YmgzTHNEOHRPTW5URks0T0lEdTFOYU5cL1lFZnJVdkpxRmpFSU9Dcms3R3NoQmlnbFRjY1ZpUFFtT0pDeE1SanpPemdoNFhSUUN0TkJ1V1VvXC9XWjdNSGVXMVNsVERHcThiM1dxVmZ1MlZrb3dDSUZLeFQ1SDBlcTl5NU1IUDJRQUtMeXZ4SnJOSjczWDhRWXZoZE1DVVIzclUzdEtNQkRRSHVRejNkSWpJNGZyUXVQOFlTbEd2Ujk1bjRKT3ZValltNXkwKzdTMCtJdDlRc015VDErMmdqQU52ejVcL0FLQ3BwdjJPQUZHeFozRjJKRzlINmxDTWdEcnQyaXZNaEVaZm1laXFMXC80TmJsblh0Q2JGWFVWRzhuWWF1SHc5SkFmMUdENExwR3FtRW1GTGpsZUcwNlFhbkdEU0dIZFQ5aU9FQlJWa2EzajRHOEt6NFwvXC9qNzhnWkpQOEFiOEIwbFdZWUVCcFd2YWZ4NHhcL1ZSOGZvaElnc3R2cVpFRG1GUTlwUEZwdFcxYnJEMjQ0Yk50bVd2ZU52cDlFZTBueEtmam55MUhLbDVlRjJGS0V3djlhQ1huZFU1QU1lYWZ6TEdQQ1wvK2V6VnFwSzJJeTVsZ2RCNE5qZkRRXC9GSzdvVkNcL1wvWUR2a2Q2NE5kVXBHYVloZDhtMlo1SHJFZnBITXlqWUQyZEVjQStGNGZiaXRPMVpJXC9ibDFXbG9HS21GSHhGVmNleG94UW9mQWhwY09qeDRJekpEQk9mMzZpdDNUSFwvUWpCa2xiYjlUcmRSdnZMTVpmajNkMU4zMk9mNWN3Mng2RlBWbEtYMGtwUDVZNjRsRlpTSmMyUWVMelo2K1J6R1VyYU9aYlVCMUFjZ2todm1kOWdcL3JUaXBCMjFleWliRTZhNDJ6d3dxb3llaHlSVmE4TjlkNCszMzJBbEdOY2N6ZE9zRW50K3VMUnV2d0xYMWtxM1RObkRiQTZDUGtpUHYzT01iQ2c1M1hxeEQ2RStTa3JRWUVpOGZ4d3lsOXpISTJzaGpLTHc0Z1NNZ0srRkdjbExET3drbFViVVdmRFhPVUZ2aU5VUkFqUTlkTUNDOHd4aUltUHNTSmtpWXlYMm9hY09JUCtGRlJ2amdYV2pIdEtBd2Frd1hEczA3Wk44T3FDY2t3dEk4RzhMMFJIK0x5WFB5cG9wTUR6dk9xdFZXVDk5eThFNmYzZ2IyTksyTGhDeHc4RlphTHBnc2ZJS2JRcWhtM1FYYm5TdFZLdnluYlZcL2N2TEYwYUNNOVNzMlpId0JKOXZSSEZ6d2tiQUdsdDErdkJYYXdvZnFsTTVnWFRNR1hcL2E2dXkrZ0h5bmRORFwvWW4yOVl1SHdZdjdra042bjBpUGIwWkJwZFZpMkY4RWtqTXpWT243Z0xBVGhLYzNiTStQSWhTQTNUV3BNSENTYXdYVGo0U0Y0WWlXTkRLdjBwend2Q3oySzJiUktKa1d2UlRrXC81emNwb0VEM3MzbFwvc3dLS0ZBcmxuaFladmtnXC9qb0JpOHFpYzlxeWNqVE5pYXNHbVcwajdnQUVPRngwK2xRdnZZOFdSXC9vb056UT09IiwibWFjIjoiN2MxYzYwYzFmMWY4ZmQyNjBjMjhjNTQ2ZGY2ZmY5NDE4MmRmN2IwNDg3ZWNmMWE1ZTk3YzhhMzFkNTBjYjhiMyJ9")
......@@ -144,7 +145,7 @@ class YHNetRequest: NSObject {
httpRequest?.responseString(completionHandler: { string in
#if DEBUG
// printLog("\n网络请求已返回 string=\(string)")
printLog("\n网络请求已返回 string=\(string)")
#endif
self.completeHandle(string: string)
})
......@@ -154,10 +155,8 @@ class YHNetRequest: NSObject {
/// 请求response完成处理
func completeHandle(string: AFDataResponse<String>) {
let responseResult = string.result
let errorCodeStr = "0"
var statusCode = string.response?.statusCode ?? 0
let errorResponseMsg = string.error?.localizedDescription ?? ""
_ = string.error?._code
let resultValue = string.value ?? ""
let serverDict = resultValue.toDictionary()
switch responseResult {
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "icon-展开@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "icon-展开@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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