Commit 7bf0a0bb authored by David黄金龙's avatar David黄金龙

完善 首页逻辑

parent 22724ec7
...@@ -449,6 +449,7 @@ ...@@ -449,6 +449,7 @@
A5A89FD12C254B5C005A71DD /* YHActivityTravelitemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD02C254B5C005A71DD /* YHActivityTravelitemView.swift */; }; A5A89FD12C254B5C005A71DD /* YHActivityTravelitemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD02C254B5C005A71DD /* YHActivityTravelitemView.swift */; };
A5A89FD32C25518B005A71DD /* YHActivityApplyInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD22C25518B005A71DD /* YHActivityApplyInfoView.swift */; }; A5A89FD32C25518B005A71DD /* YHActivityApplyInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD22C25518B005A71DD /* YHActivityApplyInfoView.swift */; };
A5A89FD52C255250005A71DD /* YHActivityTwoItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD42C255250005A71DD /* YHActivityTwoItemView.swift */; }; A5A89FD52C255250005A71DD /* YHActivityTwoItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD42C255250005A71DD /* YHActivityTwoItemView.swift */; };
A5A89FD72C256B94005A71DD /* YHHomeLastMessageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */; };
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */; }; A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */; };
A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */; }; A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */; };
A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */; }; A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */; };
...@@ -492,6 +493,8 @@ ...@@ -492,6 +493,8 @@
A5ACE9552B4564F7002C94D2 /* YHTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE9222B4564F7002C94D2 /* YHTabBarViewController.swift */; }; A5ACE9552B4564F7002C94D2 /* YHTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE9222B4564F7002C94D2 /* YHTabBarViewController.swift */; };
A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE9242B4564F7002C94D2 /* YHBouncesContentView.swift */; }; A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE9242B4564F7002C94D2 /* YHBouncesContentView.swift */; };
A5ACE9572B4564F7002C94D2 /* YHBasicContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE9252B4564F7002C94D2 /* YHBasicContentView.swift */; }; A5ACE9572B4564F7002C94D2 /* YHBasicContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE9252B4564F7002C94D2 /* YHBasicContentView.swift */; };
A5B6ED762C2593A1001B6732 /* YHSignerInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B6ED752C2593A1001B6732 /* YHSignerInfoModel.swift */; };
A5B6ED782C27FC0B001B6732 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B6ED772C27FC0B001B6732 /* Int+Extension.swift */; };
A5C382CA2B5E1F4C00C5E65C /* YHLoginTipsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C382C92B5E1F4C00C5E65C /* YHLoginTipsView.swift */; }; A5C382CA2B5E1F4C00C5E65C /* YHLoginTipsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C382C92B5E1F4C00C5E65C /* YHLoginTipsView.swift */; };
A5C382CC2B5EA11800C5E65C /* YHContractCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C382CB2B5EA11800C5E65C /* YHContractCell.swift */; }; A5C382CC2B5EA11800C5E65C /* YHContractCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C382CB2B5EA11800C5E65C /* YHContractCell.swift */; };
A5C382CF2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */; }; A5C382CF2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */; };
...@@ -1008,6 +1011,7 @@ ...@@ -1008,6 +1011,7 @@
A5A89FD02C254B5C005A71DD /* YHActivityTravelitemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityTravelitemView.swift; sourceTree = "<group>"; }; A5A89FD02C254B5C005A71DD /* YHActivityTravelitemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityTravelitemView.swift; sourceTree = "<group>"; };
A5A89FD22C25518B005A71DD /* YHActivityApplyInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityApplyInfoView.swift; sourceTree = "<group>"; }; A5A89FD22C25518B005A71DD /* YHActivityApplyInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityApplyInfoView.swift; sourceTree = "<group>"; };
A5A89FD42C255250005A71DD /* YHActivityTwoItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityTwoItemView.swift; sourceTree = "<group>"; }; A5A89FD42C255250005A71DD /* YHActivityTwoItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityTwoItemView.swift; sourceTree = "<group>"; };
A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeLastMessageModel.swift; sourceTree = "<group>"; };
A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeView.swift; sourceTree = "<group>"; }; A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeView.swift; sourceTree = "<group>"; };
A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeInputView.swift; sourceTree = "<group>"; }; A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeInputView.swift; sourceTree = "<group>"; };
A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginStyleButton.swift; sourceTree = "<group>"; }; A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginStyleButton.swift; sourceTree = "<group>"; };
...@@ -1052,6 +1056,8 @@ ...@@ -1052,6 +1056,8 @@
A5ACE9222B4564F7002C94D2 /* YHTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHTabBarViewController.swift; sourceTree = "<group>"; }; A5ACE9222B4564F7002C94D2 /* YHTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHTabBarViewController.swift; sourceTree = "<group>"; };
A5ACE9242B4564F7002C94D2 /* YHBouncesContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBouncesContentView.swift; sourceTree = "<group>"; }; A5ACE9242B4564F7002C94D2 /* YHBouncesContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBouncesContentView.swift; sourceTree = "<group>"; };
A5ACE9252B4564F7002C94D2 /* YHBasicContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBasicContentView.swift; sourceTree = "<group>"; }; A5ACE9252B4564F7002C94D2 /* YHBasicContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBasicContentView.swift; sourceTree = "<group>"; };
A5B6ED752C2593A1001B6732 /* YHSignerInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSignerInfoModel.swift; sourceTree = "<group>"; };
A5B6ED772C27FC0B001B6732 /* Int+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Extension.swift"; sourceTree = "<group>"; };
A5C382C92B5E1F4C00C5E65C /* YHLoginTipsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginTipsView.swift; sourceTree = "<group>"; }; A5C382C92B5E1F4C00C5E65C /* YHLoginTipsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginTipsView.swift; sourceTree = "<group>"; };
A5C382CB2B5EA11800C5E65C /* YHContractCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHContractCell.swift; sourceTree = "<group>"; }; A5C382CB2B5EA11800C5E65C /* YHContractCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHContractCell.swift; sourceTree = "<group>"; };
A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceCenterMainViewModel.swift; sourceTree = "<group>"; }; A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceCenterMainViewModel.swift; sourceTree = "<group>"; };
...@@ -2415,6 +2421,8 @@ ...@@ -2415,6 +2421,8 @@
A567E5702BD7643D00D5D5A0 /* YHBannerModel.swift */, A567E5702BD7643D00D5D5A0 /* YHBannerModel.swift */,
A567E5712BD7643D00D5D5A0 /* YHHomeKingKongBlockModel.swift */, A567E5712BD7643D00D5D5A0 /* YHHomeKingKongBlockModel.swift */,
A567E5722BD7643D00D5D5A0 /* YHWebModel.swift */, A567E5722BD7643D00D5D5A0 /* YHWebModel.swift */,
A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */,
A5B6ED752C2593A1001B6732 /* YHSignerInfoModel.swift */,
); );
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2639,6 +2647,7 @@ ...@@ -2639,6 +2647,7 @@
A5ACE9032B4564F7002C94D2 /* UILable+Extension.swift */, A5ACE9032B4564F7002C94D2 /* UILable+Extension.swift */,
A5ACE9042B4564F7002C94D2 /* Array+Extension.swift */, A5ACE9042B4564F7002C94D2 /* Array+Extension.swift */,
04754A942B96FF3D00F8ADCA /* UITextField+Extension.swift */, 04754A942B96FF3D00F8ADCA /* UITextField+Extension.swift */,
A5B6ED772C27FC0B001B6732 /* Int+Extension.swift */,
); );
path = Extention; path = Extention;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -3081,6 +3090,7 @@ ...@@ -3081,6 +3090,7 @@
045EEEBD2B9F171A0022A143 /* YHWorkExampleTypeView.swift in Sources */, 045EEEBD2B9F171A0022A143 /* YHWorkExampleTypeView.swift in Sources */,
049AB5EE2C0EF68700155DDF /* YHOrderTipsView.swift in Sources */, 049AB5EE2C0EF68700155DDF /* YHOrderTipsView.swift in Sources */,
045EEEB12B9F171A0022A143 /* YHClipperView.swift in Sources */, 045EEEB12B9F171A0022A143 /* YHClipperView.swift in Sources */,
A5B6ED762C2593A1001B6732 /* YHSignerInfoModel.swift in Sources */,
A567E5962BD7643D00D5D5A0 /* YHConfigModel.swift in Sources */, A567E5962BD7643D00D5D5A0 /* YHConfigModel.swift in Sources */,
04FD85722C21786900BEF9C5 /* YHNameCardInfoView.swift in Sources */, 04FD85722C21786900BEF9C5 /* YHNameCardInfoView.swift in Sources */,
044D0C182C22AB7300C5CF5E /* YHEditBaseInfoFootView.swift in Sources */, 044D0C182C22AB7300C5CF5E /* YHEditBaseInfoFootView.swift in Sources */,
...@@ -3329,6 +3339,7 @@ ...@@ -3329,6 +3339,7 @@
A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */, A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */,
045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */, 045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */,
04F5F86A2C1A95BB004A463C /* YHOtherServiceViewController.swift in Sources */, 04F5F86A2C1A95BB004A463C /* YHOtherServiceViewController.swift in Sources */,
A5B6ED782C27FC0B001B6732 /* Int+Extension.swift in Sources */,
045EEED32B9F171A0022A143 /* YHScoreItemCell.swift in Sources */, 045EEED32B9F171A0022A143 /* YHScoreItemCell.swift in Sources */,
045EEEEE2B9F171A0022A143 /* YHCertificateUploadVC.swift in Sources */, 045EEEEE2B9F171A0022A143 /* YHCertificateUploadVC.swift in Sources */,
04EA37742BEA0A3400DBAF64 /* YHShareManager.swift in Sources */, 04EA37742BEA0A3400DBAF64 /* YHShareManager.swift in Sources */,
...@@ -3514,6 +3525,7 @@ ...@@ -3514,6 +3525,7 @@
A5EF21312BA6DF94005027E6 /* YHMineSchemeViewController.swift in Sources */, A5EF21312BA6DF94005027E6 /* YHMineSchemeViewController.swift in Sources */,
045EEE872B9F171A0022A143 /* YHPreviewControllerHoldViewController.swift in Sources */, 045EEE872B9F171A0022A143 /* YHPreviewControllerHoldViewController.swift in Sources */,
04AAA8DC2BF5E5A200FE9FD5 /* YHEmptyDataView.swift in Sources */, 04AAA8DC2BF5E5A200FE9FD5 /* YHEmptyDataView.swift in Sources */,
A5A89FD72C256B94005A71DD /* YHHomeLastMessageModel.swift in Sources */,
045EEF172B9F171A0022A143 /* YHSelectCountryViewController.swift in Sources */, 045EEF172B9F171A0022A143 /* YHSelectCountryViewController.swift in Sources */,
044CF8D62BBA57DC00008CE8 /* YHFailPromptView.swift in Sources */, 044CF8D62BBA57DC00008CE8 /* YHFailPromptView.swift in Sources */,
A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */, A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */,
......
...@@ -98,19 +98,51 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -98,19 +98,51 @@ class YHHomePageViewController: YHBaseViewController {
// 请求订单数据 // 请求订单数据
func requestOrder() { func requestOrder() {
serviceCenterMainReqVM.getContactList {
[weak self] success, error in DispatchQueue.global().async {
guard let self = self else { return } self.serviceCenterMainReqVM.getContactList {
let isShow = self.serviceCenterMainReqVM.arrContactList.count > 0 [weak self] success, error in
DispatchQueue.main.async { guard let self = self else { return }
self.showOrderTipsView(isShow) let isShow = self.serviceCenterMainReqVM.arrContactList.count > 0
if isShow {
self.viewModel.getBasicInfoForSigner { success, error in
if success {
self.homeHeaderView.orderTipsView.dataModelForBasicInfo = self.viewModel.signerModel
} else {
}
DispatchQueue.main.async {
self.showOrderTipsView(isShow)
}
}
self.viewModel.getLastTwoMessagesForSigner { success, error in
if success {
self.homeHeaderView.orderTipsView.arrLastTwoMessage = self.viewModel.arrLastTwoMessages
} else {
}
DispatchQueue.main.async {
self.showOrderTipsView(isShow)
}
}
} else {
DispatchQueue.main.async {
self.showOrderTipsView(isShow)
}
}
} }
} }
} }
// 是否展示订单提示视图 // 是否展示订单提示视图
func showOrderTipsView(_ show:Bool) { func showOrderTipsView(_ show:Bool) {
homeHeaderViewHeight = show ? YHHomeHeadView.viewHWithOrderTips : YHHomeHeadView.fixViewH homeHeaderViewHeight = show ? homeHeaderView.homeHeadViewH : YHHomeHeadView.fixViewH
homeHeaderView.frame = CGRect(x: 20, y: -homeHeaderViewHeight, width: KScreenWidth - 40, height: homeHeaderViewHeight) homeHeaderView.frame = CGRect(x: 20, y: -homeHeaderViewHeight, width: KScreenWidth - 40, height: homeHeaderViewHeight)
homeHeaderView.isNeedHideOrderTipsView = !show homeHeaderView.isNeedHideOrderTipsView = !show
homeCollectView.contentInset = UIEdgeInsets(top: homeHeaderViewHeight, left: 0, bottom: 0, right: 0) homeCollectView.contentInset = UIEdgeInsets(top: homeHeaderViewHeight, left: 0, bottom: 0, right: 0)
......
//
// YHHomeLastMessageModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import HandyJSON
class YHHomeLastMessageModel: HandyJSON {
var id: String = ""
var content: Int = 0
var time: Int64 = -1
var type: Int64 = -1 //消息类型:1-资料填写;2-证件上传;3-文书定稿;4-文件签字; 5-资料递交
required init() {
}
}
//
// YHSignerInfoModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHSignerInfoModel: SmartCodable {
var name: String = ""
var sex: Int = 0 //0未知 1男 2女
var registration_timestamp: Int64 = -1
required init() {
}
}
...@@ -13,7 +13,11 @@ class YHHomeHeadView: UIView { ...@@ -13,7 +13,11 @@ class YHHomeHeadView: UIView {
static let fixViewH : CGFloat = (YHHomeBannerView.viewH) + (20 + YHHkLifeAndIdView.viewH) + (20 + YHHomeKingKongBlockView.viewH) + (20 + 1) + (20 + YHAiRadarAreaView.viewH) + (20 + YHHomeSalonAreaView.viewH) + (20 + 1) + 20 static let fixViewH : CGFloat = (YHHomeBannerView.viewH) + (20 + YHHkLifeAndIdView.viewH) + (20 + YHHomeKingKongBlockView.viewH) + (20 + 1) + (20 + YHAiRadarAreaView.viewH) + (20 + YHHomeSalonAreaView.viewH) + (20 + 1) + 20
// 包含订单提示视图的总高度 // 包含订单提示视图的总高度
static let viewHWithOrderTips: CGFloat = YHHomeHeadView.fixViewH + (20 + YHOrderTipsView.viewH) // private static let viewHWithOrderTips: CGFloat = YHHomeHeadView.fixViewH + (20 + YHOrderTipsView.viewH)
var homeHeadViewH : CGFloat {
return YHHomeHeadView.fixViewH + (20 + self.orderTipsView.tipViewH)
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
...@@ -85,7 +89,7 @@ class YHHomeHeadView: UIView { ...@@ -85,7 +89,7 @@ class YHHomeHeadView: UIView {
didSet { didSet {
self.orderTipsView.isHidden = isNeedHideOrderTipsView self.orderTipsView.isHidden = isNeedHideOrderTipsView
self.aiRadarArea.snp.updateConstraints { make in self.aiRadarArea.snp.updateConstraints { make in
let topMargin = isNeedHideOrderTipsView ? 20.0 : 20.0 + YHOrderTipsView.viewH + 20.0 let topMargin = isNeedHideOrderTipsView ? 20.0 : 20.0 + orderTipsView.tipViewH + 20.0
make.top.equalTo(bannerLineTop.snp.bottom).offset(topMargin) make.top.equalTo(bannerLineTop.snp.bottom).offset(topMargin)
} }
self.setNeedsLayout() self.setNeedsLayout()
...@@ -140,7 +144,7 @@ private extension YHHomeHeadView { ...@@ -140,7 +144,7 @@ private extension YHHomeHeadView {
orderTipsView.snp.makeConstraints { make in orderTipsView.snp.makeConstraints { make in
make.top.equalTo(bannerLineTop.snp.bottom).offset(20) make.top.equalTo(bannerLineTop.snp.bottom).offset(20)
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.height.equalTo(YHOrderTipsView.viewH) make.height.equalTo(orderTipsView.tipViewH)
} }
......
...@@ -11,29 +11,56 @@ import AttributedString ...@@ -11,29 +11,56 @@ import AttributedString
class YHOrderTipsView: UIView { class YHOrderTipsView: UIView {
// static let viewH = 91.0 private static let viewH : CGFloat = 91.0
static let viewH = 226.0 private static let viewH2 : CGFloat = 162.0
static let viewH2 = 162.0 private static let viewH3 : CGFloat = 226.0
static let viewH3 = 226.0
var tipViewH : CGFloat {
guard let arr = arrLastTwoMessage else {
return YHOrderTipsView.viewH
}
if arr.count > 1 {
return YHOrderTipsView.viewH3
} else if arr.count == 1 {
return YHOrderTipsView.viewH2
}
return YHOrderTipsView.viewH
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
setupUI() setupUI()
let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapButton(gestureRecognizer:))) let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapButton(gestureRecognizer:)))
addGestureRecognizer(tap) addGestureRecognizer(tap)
} }
var dataModelForBasicInfo : YHSignerInfoModel? {
didSet {
updateBasicInfo()
}
}
var arrLastTwoMessage : [YHHomeLastMessageModel]? {
didSet {
updateLastTwoMessges()
}
}
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
lazy var bkgImageV: UIImageView = { lazy var bkgImageV: UIImageView = {
let imgV : UIImageView = UIImageView() let imgV : UIImageView = UIImageView()
imgV.contentMode = .scaleAspectFill imgV.contentMode = .scaleAspectFill
imgV.image = UIImage(named: "home_order_tips_bkg") imgV.image = UIImage(named: "home_order_tips_bkg")
imgV.clipsToBounds = true
return imgV return imgV
}() }()
...@@ -55,10 +82,34 @@ class YHOrderTipsView: UIView { ...@@ -55,10 +82,34 @@ class YHOrderTipsView: UIView {
override func layoutSubviews() { override func layoutSubviews() {
super.layoutSubviews() super.layoutSubviews()
// addSubview(bkgImageV) bkgImageV.snp.makeConstraints { make in
// bkgImageV.snp.updateConstraints { make in make.edges.equalToSuperview()
// make.edges.equalToSuperview() }
// }
if let arr = arrLastTwoMessage {
if arr.count > 1 {
firstItem.snp.makeConstraints { make in
make.top.equalTo(lableName.snp.bottom).offset(20)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(YHOrderTipsItemView.viewH)
}
secondItem.snp.makeConstraints { make in
make.top.equalTo(firstItem.snp.bottom).offset(12)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(YHOrderTipsItemView.viewH)
}
} else if arr.count == 1 {
firstItem.snp.makeConstraints { make in
make.top.equalTo(lableName.snp.bottom).offset(20)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(YHOrderTipsItemView.viewH)
}
}
}
} }
...@@ -115,17 +166,73 @@ class YHOrderTipsView: UIView { ...@@ -115,17 +166,73 @@ class YHOrderTipsView: UIView {
lazy var firstItem: YHOrderTipsItemView = { lazy var firstItem: YHOrderTipsItemView = {
let itemView : YHOrderTipsItemView = YHOrderTipsItemView() let itemView : YHOrderTipsItemView = YHOrderTipsItemView()
itemView.isHidden = true
return itemView return itemView
}() }()
lazy var secondItem: YHOrderTipsItemView = { lazy var secondItem: YHOrderTipsItemView = {
let itemView : YHOrderTipsItemView = YHOrderTipsItemView() let itemView : YHOrderTipsItemView = YHOrderTipsItemView()
itemView.isHidden = true
return itemView return itemView
}() }()
} }
private extension YHOrderTipsView {
func timeName() -> String {
let now = Date()
let hour = Calendar.current.component(.hour, from: now)
var name = ""
if hour < 12 {
name = "上午"
} else if hour < 18 {
name = "下午"
} else {
name = "晚上"
}
return name
}
extension YHOrderTipsView { func updateBasicInfo() {
guard let model = dataModelForBasicInfo else {
return
}
lableName.text = timeName() + "好," + model.name + model.sex.sexDescribe()
let now = Date()
let timestamp = now.timeIntervalSince1970
print("当前时间戳:\(timestamp)")
let offsetSecond = CGFloat(model.registration_timestamp - Int64(timestamp))
if offsetSecond > 0 {
let roundedUp = Int(ceil(offsetSecond / 24 * 60 * 60))
lableDays.text = "银河港生活陪伴您的第" + String(roundedUp) + "天"
} else {
lableDays.text = "银河港生活陪伴在您的身边"
}
}
func updateLastTwoMessges() {
guard let arr = arrLastTwoMessage else {
firstItem.isHidden = true
secondItem.isHidden = true
return
}
if arr.count > 1 {
firstItem.isHidden = false
secondItem.isHidden = false
} else if arr.count == 1 {
firstItem.isHidden = false
secondItem.isHidden = true
} else {
firstItem.isHidden = true
secondItem.isHidden = true
}
}
@objc func tapButton(gestureRecognizer:UITapGestureRecognizer) { @objc func tapButton(gestureRecognizer:UITapGestureRecognizer) {
goTabBarBy(tabType: .service) goTabBarBy(tabType: .service)
} }
...@@ -133,13 +240,15 @@ extension YHOrderTipsView { ...@@ -133,13 +240,15 @@ extension YHOrderTipsView {
func setupUI() { func setupUI() {
backgroundColor = UIColor(hex: 0xF8FAFB) backgroundColor = UIColor.pageBkgColor
// addSubview(bkgImageV)
// bkgImageV.snp.makeConstraints { make in clipsToBounds = true
// make.left.top.equalToSuperview() addSubview(bkgImageV)
// make.width.equalTo(KScreenWidth - 40) bkgImageV.snp.makeConstraints { make in
// make.height.equalTo(YHOrderTipsView.viewH) make.left.top.equalToSuperview()
// } make.width.equalTo(KScreenWidth - 40)
make.height.equalTo(YHOrderTipsView.viewH)
}
addSubview(topImageV) addSubview(topImageV)
topImageV.snp.makeConstraints { make in topImageV.snp.makeConstraints { make in
...@@ -218,20 +327,9 @@ extension YHOrderTipsView { ...@@ -218,20 +327,9 @@ extension YHOrderTipsView {
addSubview(firstItem) addSubview(firstItem)
firstItem.snp.makeConstraints { make in
make.top.equalTo(lableName.snp.bottom).offset(20)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(YHOrderTipsItemView.viewH)
}
addSubview(secondItem) addSubview(secondItem)
secondItem.snp.makeConstraints { make in
make.top.equalTo(firstItem.snp.bottom).offset(12) layoutIfNeeded()
make.left.equalTo(kMargin) setNeedsLayout()
make.right.equalTo(-kMargin)
make.height.equalTo(YHOrderTipsItemView.viewH)
}
} }
} }
...@@ -27,10 +27,62 @@ class YHHomePageViewModel : YHBaseViewModel { ...@@ -27,10 +27,62 @@ class YHHomePageViewModel : YHBaseViewModel {
// 搜索 // 搜索
let searchPageSize: Int = 20 let searchPageSize: Int = 20
//首页 签约用户的最新数据
var arrLastTwoMessages : [YHHomeLastMessageModel] = []
//首页 签约用户信息
var signerModel : YHSignerInfoModel?
} }
//接口 //接口
extension YHHomePageViewModel { extension YHHomePageViewModel {
//获取签约用户信息
func getBasicInfoForSigner(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
//super-app/infoflow/latest-unread-messages
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Home.signerInfoApi
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let resultModel = YHSignerInfoModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
callBackBlock(false,nil)
return
}
self.signerModel = resultModel
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
//签约用户 获取最新的两条提示信息
func getLastTwoMessagesForSigner(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Home.lastUnreadMessageApi
let param = ["qty" : 2]
let _ = YHNetRequest.getRequest(url: strUrl,params: param) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = [YHHomeLastMessageModel].deserialize(from: dic as? [Any]) else {
self.arrLastTwoMessages = []
callBackBlock(false,nil)
return
}
arrLastTwoMessages = result as? [YHHomeLastMessageModel] ?? []
callBackBlock(true,nil)
} failBlock: { err in
self.arrLastTwoMessages = []
callBackBlock(false,err)
}
}
//请求配置 //请求配置
func getHomeConfig(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getHomeConfig(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.homeConfigApi let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.homeConfigApi
......
//
// Int+Extension.swift
// galaxy
//
// Created by davidhuangA on 2024/6/23.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
extension Int {
public func sexDescribe() -> String {
//0未知 1男 2女
switch self {
case 1:
return "男"
case 2:
return "女"
default:
return "未知"
}
}
}
...@@ -8,6 +8,17 @@ ...@@ -8,6 +8,17 @@
class YHAllApiName { class YHAllApiName {
//首页界面相关接口
struct Home {
//获取签约用户的 最新信息提醒
static let lastUnreadMessageApi = "super-app/infoflow/latest-unread-messages"
//获取签约用户信息
static let signerInfoApi = "super-app/infoflow/signer/info"
}
//接口 模块名 Common //接口 模块名 Common
struct Common { struct Common {
//首页配置接口 //首页配置接口
...@@ -36,6 +47,9 @@ class YHAllApiName { ...@@ -36,6 +47,9 @@ class YHAllApiName {
static let likeCollect = "infoflow/article/myArticleRecord" static let likeCollect = "infoflow/article/myArticleRecord"
} }
//order 模块 //order 模块
struct Order { struct Order {
//合同列表 //合同列表
......
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