Commit 6431d16c authored by pete谢兆麟's avatar pete谢兆麟

首页bannar配置 四大金刚配置接口

parent 16e049a2
...@@ -14,8 +14,9 @@ import JXSegmentedView ...@@ -14,8 +14,9 @@ import JXSegmentedView
class YHHomeHoldViewPageViewController: YHBaseViewController { class YHHomeHoldViewPageViewController: YHBaseViewController {
private var needShowManagerTipsView = false private var needShowManagerTipsView = false
private var didFirstLoadYhManager = false private var didFirstLoadYhManager = false
var viewModel = YHHomePageViewModel()
let arrItemTitles = ["推荐","银河甄选","直播","咨询攻略"] var arrItemTitles: [String] = []
var arrItemVCs : [YHBaseViewController] = [] var arrItemVCs : [YHBaseViewController] = []
...@@ -64,6 +65,53 @@ class YHHomeHoldViewPageViewController: YHBaseViewController { ...@@ -64,6 +65,53 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
getConfigData()
}
func getConfigData() {
viewModel.getHomeInfo {[weak self] success, error in
guard let self = self else { return }
let dataSource = self.viewModel.homeInfoModel?.tab_list ?? []
for item in dataSource {
arrItemTitles.append(item.name)
if item.id == 1 {
let vc = homePageVC
vc.configModel = self.viewModel.homeInfoModel
arrItemVCs.append(vc)
}
if item.id == 2 {
let vc = YHHomeIdentityViewController()
vc.hideFlag = false
arrItemVCs.append(vc)
}
if item.id == 3 {
let vc = YHLifeViewController()
vc.hideFlag = false
arrItemVCs.append(vc)
}
if item.id == 4 {
let vc = YHHomeInformationViewController()
arrItemVCs.append(vc)
}
if item.id == 5 {
let vc = YHHomeIdentityViewController()
vc.hideFlag = true
arrItemVCs.append(vc)
}
if item.id == 6 {
let vc = YHLifeViewController()
vc.hideFlag = true
arrItemVCs.append(vc)
}
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView
view.addSubview(listContainerView)
}
} }
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
...@@ -85,7 +133,7 @@ class YHHomeHoldViewPageViewController: YHBaseViewController { ...@@ -85,7 +133,7 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
checkHomeAlertView() checkHomeAlertView()
getCurrentUserInfo() getCurrentUserInfo()
getConfigData()
} }
...@@ -314,26 +362,6 @@ extension YHHomeHoldViewPageViewController { ...@@ -314,26 +362,6 @@ extension YHHomeHoldViewPageViewController {
NotificationCenter.default.addObserver(self, selector: #selector(didJumpToLifeTab), name: YhConstant.YhNotification.didJumpToHomePageLifeTabNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(didJumpToLifeTab), name: YhConstant.YhNotification.didJumpToHomePageLifeTabNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didLoadYhManager), name: YhConstant.YhNotification.didLoadYhManagerNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(didLoadYhManager), name: YhConstant.YhNotification.didLoadYhManagerNotification, object: nil)
for i in 0..<arrItemTitles.count {
if i == 0 {
//首页
let vc = homePageVC
arrItemVCs.append(vc)
} else if i == 1 {
//身份
let vc = YHHomeIdentityViewController()
arrItemVCs.append(vc)
} else if i == 2 {
//生活
let vc = YHLifeViewController()
arrItemVCs.append(vc)
} else if i == 3 {
//资讯
let vc = YHHomeInformationViewController()
arrItemVCs.append(vc)
}
}
view.addSubview(searchView) view.addSubview(searchView)
searchView.snp.makeConstraints { make in searchView.snp.makeConstraints { make in
make.top.equalTo(k_Height_safeAreaInsetsTop() + 6) make.top.equalTo(k_Height_safeAreaInsetsTop() + 6)
...@@ -353,12 +381,7 @@ extension YHHomeHoldViewPageViewController { ...@@ -353,12 +381,7 @@ extension YHHomeHoldViewPageViewController {
// } // }
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!! //segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView
view.addSubview(listContainerView)
} }
// 跳转到资讯tab // 跳转到资讯tab
......
...@@ -16,6 +16,7 @@ class YHHomeIdentityViewController: YHBaseViewController { ...@@ -16,6 +16,7 @@ class YHHomeIdentityViewController: YHBaseViewController {
var sectionView: YHSelectLookView! var sectionView: YHSelectLookView!
var tableView: UITableView! var tableView: UITableView!
var headView: YHSelectLookHeadView! var headView: YHSelectLookHeadView!
var hideFlag: Bool = true
lazy var viewModel: YHHomePageViewModel = { lazy var viewModel: YHHomePageViewModel = {
let vm = YHHomePageViewModel() let vm = YHHomePageViewModel()
...@@ -82,8 +83,8 @@ class YHHomeIdentityViewController: YHBaseViewController { ...@@ -82,8 +83,8 @@ class YHHomeIdentityViewController: YHBaseViewController {
make.left.right.top.bottom.equalToSuperview() make.left.right.top.bottom.equalToSuperview()
} }
scrollView.isHidden = true scrollView.isHidden = hideFlag
subTabBar.isHidden = true subTabBar.isHidden = hideFlag
sectionView = { sectionView = {
let view = YHSelectLookView() let view = YHSelectLookView()
...@@ -117,18 +118,12 @@ class YHHomeIdentityViewController: YHBaseViewController { ...@@ -117,18 +118,12 @@ class YHHomeIdentityViewController: YHBaseViewController {
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.left.right.bottom.equalToSuperview() make.top.left.right.bottom.equalToSuperview()
} }
tableView.isHidden = !hideFlag
// tableView.es.addYHPullToRefresh { // tableView.es.addYHPullToRefresh {
// self.loadData() // self.loadData()
// } // }
view.addSubview(noDataView)
noDataView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(150)
}
} }
......
...@@ -29,6 +29,11 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -29,6 +29,11 @@ class YHHomePageViewController: YHBaseViewController {
private var isGoYHManagerFlag : Bool = false private var isGoYHManagerFlag : Bool = false
var configModel: YHHomeInfoModel? {
didSet {
homeHeaderView.kingModel = configModel?.king_kong_list ?? []
}
}
lazy var homeCollectView = { lazy var homeCollectView = {
// 设置布局方向 // 设置布局方向
......
...@@ -18,7 +18,8 @@ class YHLifeViewController: YHBaseViewController { ...@@ -18,7 +18,8 @@ class YHLifeViewController: YHBaseViewController {
var selectSubTab: YHHomeLifeCategoryModel? = nil var selectSubTab: YHHomeLifeCategoryModel? = nil
var selectSubIndex : Int = -1 var selectSubIndex : Int = -1
var items: [String] = ["12", "22", "33", "44", "55", "66"] var items: [String] = ["12", "22", "33", "44", "55", "66"]
var hideFlag: Bool = true
lazy var myCollectView = { lazy var myCollectView = {
// 设置布局方向 // 设置布局方向
let flowLayout = UICollectionViewFlowLayout() let flowLayout = UICollectionViewFlowLayout()
...@@ -169,8 +170,8 @@ extension YHLifeViewController { ...@@ -169,8 +170,8 @@ extension YHLifeViewController {
self.loadData() self.loadData()
} }
sectionView.isHidden = true sectionView.isHidden = hideFlag
tableView.isHidden = true tableView.isHidden = hideFlag
view.addSubview(myCollectView) view.addSubview(myCollectView)
myCollectView.snp.makeConstraints { make in myCollectView.snp.makeConstraints { make in
...@@ -189,6 +190,8 @@ extension YHLifeViewController { ...@@ -189,6 +190,8 @@ extension YHLifeViewController {
// 刷新look数据 // 刷新look数据
// self.loadData() // self.loadData()
} }
myCollectView.isHidden = !hideFlag
noDataView.isHidden = !hideFlag
} }
} }
......
...@@ -27,3 +27,37 @@ class YHConfigModel : SmartCodable { ...@@ -27,3 +27,37 @@ class YHConfigModel : SmartCodable {
required init() { required init() {
} }
} }
class YHHomeInfoModel: SmartCodable {
var king_kong_list: [YHHomeFourKingInfoModel] = []
var tab_list: [YHHomeTabInfoModel] = []
var live_info: YHHomeLiveInfoModel = YHHomeLiveInfoModel()
required init() {
}
}
class YHHomeFourKingInfoModel : SmartCodable {
var id: Int = 0
var img_url: String = ""
var skip_type: Int = 0
var sort_num: Int = 0
required init() {
}
}
class YHHomeTabInfoModel : SmartCodable {
var id: Int = 0
var title: String = ""
var name: String = ""
var sort_num: Int = 0
required init() {
}
}
class YHHomeLiveInfoModel : SmartCodable {
var id: Int = 0
var status: Int = 0
var pull_url: Int = 0
required init() {
}
}
...@@ -40,7 +40,11 @@ enum YHHomeHeadViewStyleType { ...@@ -40,7 +40,11 @@ enum YHHomeHeadViewStyleType {
class YHHomeHeadView: UIView { class YHHomeHeadView: UIView {
private static let topMargin : CGFloat = 10.0 private static let topMargin : CGFloat = 10.0
var kingModel: [YHHomeFourKingInfoModel] = [] {
didSet {
homeKingKongBlock.kingModel = kingModel
}
}
// 不包含订单提示视图的总高度 // 不包含订单提示视图的总高度
private static let fixViewH : CGFloat = YHHomeHeadView.topMargin + (YHHomeBannerView.viewH) + (20 + YHHomeKingKongBlockView.viewH) + (20 + 1) + (20 + YHAiRadarAreaView.viewH) + (20 + YHHomeSalonAreaView.viewH) + (20 + 1) + 20 private static let fixViewH : CGFloat = YHHomeHeadView.topMargin + (YHHomeBannerView.viewH) + (20 + YHHomeKingKongBlockView.viewH) + (20 + 1) + (20 + YHAiRadarAreaView.viewH) + (20 + YHHomeSalonAreaView.viewH) + (20 + 1) + 20
...@@ -69,6 +73,7 @@ class YHHomeHeadView: UIView { ...@@ -69,6 +73,7 @@ class YHHomeHeadView: UIView {
//3. 四大金刚区 //3. 四大金刚区
lazy var homeKingKongBlock : YHHomeKingKongBlockView = { lazy var homeKingKongBlock : YHHomeKingKongBlockView = {
let view = YHHomeKingKongBlockView() let view = YHHomeKingKongBlockView()
view.kingModel = kingModel
return view return view
}() }()
......
...@@ -82,7 +82,10 @@ private extension YHHomeKingKongBlockItem { ...@@ -82,7 +82,10 @@ private extension YHHomeKingKongBlockItem {
guard let dataModel = dataModel else { return } guard let dataModel = dataModel else { return }
// iconV.image = UIImage(named: dataModel.iconName) // iconV.image = UIImage(named: dataModel.iconName)
// subtitleLable.text = dataModel.title // subtitleLable.text = dataModel.title
if let image = UIImage(named: dataModel.iconName) {
bkgImgV.image = UIImage(named: dataModel.iconName) bkgImgV.image = UIImage(named: dataModel.iconName)
} else {
bkgImgV.kf.setImage(with: URL(string: dataModel.iconName))
}
} }
} }
...@@ -9,6 +9,18 @@ ...@@ -9,6 +9,18 @@
import UIKit import UIKit
class YHHomeKingKongBlockView: UIView { class YHHomeKingKongBlockView: UIView {
var kingModel: [YHHomeFourKingInfoModel] = [] {
didSet {
arrData.removeAll()
for item in kingModel {
let model = YHHomeKingKongBlockModel(type: "\(item.skip_type)", iconName: item.img_url, title: "")
arrData.append(model)
}
self.removeSubviews()
self.initView()
}
}
static let viewH : CGFloat = (KScreenWidth - 20.0 * 2 - 10.0 * 3) / 4.0 static let viewH : CGFloat = (KScreenWidth - 20.0 * 2 - 10.0 * 3) / 4.0
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
...@@ -41,7 +53,7 @@ private extension YHHomeKingKongBlockView { ...@@ -41,7 +53,7 @@ private extension YHHomeKingKongBlockView {
make.width.height.equalTo(YHHomeKingKongBlockView.viewH) make.width.height.equalTo(YHHomeKingKongBlockView.viewH)
} }
offsetX = offsetX + YHHomeKingKongBlockView.viewH + itemGap offsetX = offsetX + YHHomeKingKongBlockView.viewH + itemGap
view.tag = index view.tag = item.type.intValue()
let tap = UITapGestureRecognizer(target: self, action: #selector(tapView(gestureRecognizer:))) let tap = UITapGestureRecognizer(target: self, action: #selector(tapView(gestureRecognizer:)))
view.addGestureRecognizer(tap) view.addGestureRecognizer(tap)
} }
...@@ -51,19 +63,23 @@ private extension YHHomeKingKongBlockView { ...@@ -51,19 +63,23 @@ private extension YHHomeKingKongBlockView {
@objc func tapView(gestureRecognizer:UITapGestureRecognizer) { @objc func tapView(gestureRecognizer:UITapGestureRecognizer) {
if let tag = gestureRecognizer.view?.tag { if let tag = gestureRecognizer.view?.tag {
switch tag { switch tag {
case 0: case 1:
//银河甄选
let vc = YHSelectViewController()
self.parentViewController?.navigationController?.pushViewController(vc)
case 2:
//身份优势 //身份优势
let vc = YHStatusAdvantageVC() let vc = YHStatusAdvantageVC()
self.parentViewController?.navigationController?.pushViewController(vc) self.parentViewController?.navigationController?.pushViewController(vc)
case 1: case 3:
//邀请有礼 //邀请有礼
tapShareForGiftView() tapShareForGiftView()
case 2: case 4:
//客户心声 //客户心声
let vc = YHOtherServiceViewController() let vc = YHOtherServiceViewController()
vc.classID = 5 vc.classID = 5
self.parentViewController?.navigationController?.pushViewController(vc) self.parentViewController?.navigationController?.pushViewController(vc)
case 3: case 5:
//香港办事 //香港办事
let vc = YHHKEventCenterViewController() let vc = YHHKEventCenterViewController()
self.parentViewController?.navigationController?.pushViewController(vc) self.parentViewController?.navigationController?.pushViewController(vc)
......
...@@ -11,6 +11,7 @@ import UIKit ...@@ -11,6 +11,7 @@ import UIKit
class YHHomePageViewModel : YHBaseViewModel { class YHHomePageViewModel : YHBaseViewModel {
//数据源 //数据源
var configModel:YHConfigModel?//app相关配置 var configModel:YHConfigModel?//app相关配置
var homeInfoModel: YHHomeInfoModel?
var arrHomeNewsData: [YHHomeListModel]? var arrHomeNewsData: [YHHomeListModel]?
var banners: [YHBannerModel]? var banners: [YHBannerModel]?
var classify: [YHHomeClassifyModel]? var classify: [YHHomeClassifyModel]?
...@@ -529,4 +530,21 @@ extension YHHomePageViewModel { ...@@ -529,4 +530,21 @@ extension YHHomePageViewModel {
callBackBlock(false, err) callBackBlock(false, err)
} }
} }
//请求配置
func getHomeInfo(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.homeInfo
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard let dic = json.data?.peel as? [String : Any], let resultModel = YHHomeInfoModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
homeInfoModel = resultModel
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
} }
...@@ -248,23 +248,21 @@ extension YHServiceCenterViewController { ...@@ -248,23 +248,21 @@ extension YHServiceCenterViewController {
} }
YHServiceMoreAlertView.show(flag) {[weak self] index in YHServiceMoreAlertView.show(flag) {[weak self] index in
guard let self = self else { return } guard let self = self else { return }
let vc = YHSelectViewController() if index == 1 {
self.navigationController?.pushViewController(vc) let vc = YHOrderDetailViewController()
// if index == 1 { vc.model = oldModel
// let vc = YHOrderDetailViewController() vc.backDate = { [weak self] model in
// vc.model = oldModel guard let self = self else { return }
// vc.backDate = { [weak self] model in self.model = model
// guard let self = self else { return } self.state = 0
// self.model = model self.headIndex = 0
// self.state = 0 self.isCanSelectStep = false
// self.headIndex = 0 }
// self.isCanSelectStep = false self.navigationController?.pushViewController(vc)
// } } else {
// self.navigationController?.pushViewController(vc) let view = YHOffivialApprovalGuildLineCheckView.sheetView()
// } else { view.show()
// let view = YHOffivialApprovalGuildLineCheckView.sheetView() }
// view.show()
// }
} }
} }
......
...@@ -90,6 +90,8 @@ class YHAllApiName { ...@@ -90,6 +90,8 @@ class YHAllApiName {
struct Common { struct Common {
//首页配置接口 //首页配置接口
static let homeConfigApi = "super-app/config/app" static let homeConfigApi = "super-app/config/app"
static let homeInfo = "super-app/home-page/info"
//获取首页展示的资讯 //获取首页展示的资讯
static let consultApi = "infoflow/home/consult" static let consultApi = "infoflow/home/consult"
//获取首页展示的banner //获取首页展示的banner
......
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