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

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

parent 16e049a2
......@@ -14,8 +14,9 @@ import JXSegmentedView
class YHHomeHoldViewPageViewController: YHBaseViewController {
private var needShowManagerTipsView = false
private var didFirstLoadYhManager = false
var viewModel = YHHomePageViewModel()
let arrItemTitles = ["推荐","银河甄选","直播","咨询攻略"]
var arrItemTitles: [String] = []
var arrItemVCs : [YHBaseViewController] = []
......@@ -64,6 +65,53 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
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) {
......@@ -85,7 +133,7 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
checkHomeAlertView()
getCurrentUserInfo()
getConfigData()
}
......@@ -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(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)
searchView.snp.makeConstraints { make in
make.top.equalTo(k_Height_safeAreaInsetsTop() + 6)
......@@ -353,12 +381,7 @@ extension YHHomeHoldViewPageViewController {
// }
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView
view.addSubview(listContainerView)
}
// 跳转到资讯tab
......
......@@ -16,6 +16,7 @@ class YHHomeIdentityViewController: YHBaseViewController {
var sectionView: YHSelectLookView!
var tableView: UITableView!
var headView: YHSelectLookHeadView!
var hideFlag: Bool = true
lazy var viewModel: YHHomePageViewModel = {
let vm = YHHomePageViewModel()
......@@ -82,8 +83,8 @@ class YHHomeIdentityViewController: YHBaseViewController {
make.left.right.top.bottom.equalToSuperview()
}
scrollView.isHidden = true
subTabBar.isHidden = true
scrollView.isHidden = hideFlag
subTabBar.isHidden = hideFlag
sectionView = {
let view = YHSelectLookView()
......@@ -117,18 +118,12 @@ class YHHomeIdentityViewController: YHBaseViewController {
tableView.snp.makeConstraints { make in
make.top.left.right.bottom.equalToSuperview()
}
tableView.isHidden = !hideFlag
// tableView.es.addYHPullToRefresh {
// 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 {
private var isGoYHManagerFlag : Bool = false
var configModel: YHHomeInfoModel? {
didSet {
homeHeaderView.kingModel = configModel?.king_kong_list ?? []
}
}
lazy var homeCollectView = {
// 设置布局方向
......
......@@ -18,7 +18,8 @@ class YHLifeViewController: YHBaseViewController {
var selectSubTab: YHHomeLifeCategoryModel? = nil
var selectSubIndex : Int = -1
var items: [String] = ["12", "22", "33", "44", "55", "66"]
var hideFlag: Bool = true
lazy var myCollectView = {
// 设置布局方向
let flowLayout = UICollectionViewFlowLayout()
......@@ -169,8 +170,8 @@ extension YHLifeViewController {
self.loadData()
}
sectionView.isHidden = true
tableView.isHidden = true
sectionView.isHidden = hideFlag
tableView.isHidden = hideFlag
view.addSubview(myCollectView)
myCollectView.snp.makeConstraints { make in
......@@ -189,6 +190,8 @@ extension YHLifeViewController {
// 刷新look数据
// self.loadData()
}
myCollectView.isHidden = !hideFlag
noDataView.isHidden = !hideFlag
}
}
......
......@@ -27,3 +27,37 @@ class YHConfigModel : SmartCodable {
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 {
class YHHomeHeadView: UIView {
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
......@@ -69,6 +73,7 @@ class YHHomeHeadView: UIView {
//3. 四大金刚区
lazy var homeKingKongBlock : YHHomeKingKongBlockView = {
let view = YHHomeKingKongBlockView()
view.kingModel = kingModel
return view
}()
......
......@@ -82,7 +82,10 @@ private extension YHHomeKingKongBlockItem {
guard let dataModel = dataModel else { return }
// iconV.image = UIImage(named: dataModel.iconName)
// subtitleLable.text = dataModel.title
bkgImgV.image = UIImage(named: dataModel.iconName)
if let image = UIImage(named: dataModel.iconName) {
bkgImgV.image = UIImage(named: dataModel.iconName)
} else {
bkgImgV.kf.setImage(with: URL(string: dataModel.iconName))
}
}
}
......@@ -9,6 +9,18 @@
import UIKit
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
override init(frame: CGRect) {
super.init(frame: frame)
......@@ -41,7 +53,7 @@ private extension YHHomeKingKongBlockView {
make.width.height.equalTo(YHHomeKingKongBlockView.viewH)
}
offsetX = offsetX + YHHomeKingKongBlockView.viewH + itemGap
view.tag = index
view.tag = item.type.intValue()
let tap = UITapGestureRecognizer(target: self, action: #selector(tapView(gestureRecognizer:)))
view.addGestureRecognizer(tap)
}
......@@ -51,19 +63,23 @@ private extension YHHomeKingKongBlockView {
@objc func tapView(gestureRecognizer:UITapGestureRecognizer) {
if let tag = gestureRecognizer.view?.tag {
switch tag {
case 0:
case 1:
//银河甄选
let vc = YHSelectViewController()
self.parentViewController?.navigationController?.pushViewController(vc)
case 2:
//身份优势
let vc = YHStatusAdvantageVC()
self.parentViewController?.navigationController?.pushViewController(vc)
case 1:
case 3:
//邀请有礼
tapShareForGiftView()
case 2:
case 4:
//客户心声
let vc = YHOtherServiceViewController()
vc.classID = 5
self.parentViewController?.navigationController?.pushViewController(vc)
case 3:
case 5:
//香港办事
let vc = YHHKEventCenterViewController()
self.parentViewController?.navigationController?.pushViewController(vc)
......
......@@ -11,6 +11,7 @@ import UIKit
class YHHomePageViewModel : YHBaseViewModel {
//数据源
var configModel:YHConfigModel?//app相关配置
var homeInfoModel: YHHomeInfoModel?
var arrHomeNewsData: [YHHomeListModel]?
var banners: [YHBannerModel]?
var classify: [YHHomeClassifyModel]?
......@@ -529,4 +530,21 @@ extension YHHomePageViewModel {
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 {
}
YHServiceMoreAlertView.show(flag) {[weak self] index in
guard let self = self else { return }
let vc = YHSelectViewController()
self.navigationController?.pushViewController(vc)
// if index == 1 {
// let vc = YHOrderDetailViewController()
// vc.model = oldModel
// vc.backDate = { [weak self] model in
// guard let self = self else { return }
// self.model = model
// self.state = 0
// self.headIndex = 0
// self.isCanSelectStep = false
// }
// self.navigationController?.pushViewController(vc)
// } else {
// let view = YHOffivialApprovalGuildLineCheckView.sheetView()
// view.show()
// }
if index == 1 {
let vc = YHOrderDetailViewController()
vc.model = oldModel
vc.backDate = { [weak self] model in
guard let self = self else { return }
self.model = model
self.state = 0
self.headIndex = 0
self.isCanSelectStep = false
}
self.navigationController?.pushViewController(vc)
} else {
let view = YHOffivialApprovalGuildLineCheckView.sheetView()
view.show()
}
}
}
......
......@@ -90,6 +90,8 @@ class YHAllApiName {
struct Common {
//首页配置接口
static let homeConfigApi = "super-app/config/app"
static let homeInfo = "super-app/home-page/info"
//获取首页展示的资讯
static let consultApi = "infoflow/home/consult"
//获取首页展示的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