Commit 7f5bfda3 authored by pete谢兆麟's avatar pete谢兆麟

Merge branch 'xiezhaolin' into develop

parents 3a93ad01 9ed40cc0
......@@ -86,6 +86,10 @@ class YHHomePageViewController: YHBaseViewController {
guard let self = self else { return }
self.homeCollectView.reloadData()
}
viewModel.getHomeBanner(0) {[weak self] success, error in
guard let self = self else { return }
self.homeHeaderView.homeBannerView.dataArr = self.viewModel.banners ?? []
}
}
}
......
......@@ -8,11 +8,12 @@
import Foundation
class YHBannerModel {
var title: String = "我是Title" //banner标题
var img_url: String = "https://upload-cdn.galaxy-immi.com/sell/test/1668772072522.jpg" //banner图片链接
var link_type: Int = 0 //跳转类型 0:不跳转 10 :跳转H5 20:跳转原生页面
var link_url: String = "" //跳转地址
required init() {}
class YHBannerModel: YHBaseModel {
var name: String = ""
var skip_url: String = ""
var img_url: String = ""
var type: Int = 0
var create_at: String = ""
var skip_type: Int = 0
var id: Int = 0
}
......@@ -17,7 +17,12 @@ class YHHomeBannerView: UIView {
// 位置、大小、图片、文本
fileprivate var dataArr: [YHBannerModel] = [YHBannerModel(),YHBannerModel(),YHBannerModel(),YHBannerModel(),YHBannerModel()]
var dataArr: [YHBannerModel] = [] {
didSet {
self.pageControl.numberOfPages = self.dataArr.count
bannerView.reloadData()
}
}
override init(frame: CGRect) {
super.init(frame: frame)
......@@ -28,8 +33,6 @@ class YHHomeBannerView: UIView {
fatalError("init(coder:) has not been implemented")
}
private lazy var bannerView: FSPagerView = {
let view = FSPagerView()
view.delegate = self
......@@ -99,7 +102,7 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
}
cell.textLabel?.text = model.title
cell.textLabel?.text = model.name
}
cell.imageView?.contentMode = .scaleAspectFill
......@@ -118,14 +121,14 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
return
}
let model = dataArr[index]
switch model.link_type {
switch model.type {
case 10: //跳转H5
// let vc = BsWebViewController()
// vc.urlString = model.link_url
// UIViewController.navTopViewController?.navigationController?.pushViewController(vc, animated: true)
break
case 20: //跳转原生页面
if let vc = UIViewController.classFromString(model.link_url) {
if let vc = UIViewController.classFromString(model.skip_url) {
UIViewController.navTopViewController?.navigationController?.pushViewController(vc, animated: true)
}
break
......
......@@ -12,6 +12,7 @@ class YHHomePageViewModel : YHBaseViewModel {
//数据源
var configModel:YHHomeCofigMode?
var lists: [YHHomeListModel]?
var banners: [YHBannerModel]?
}
//接口
......@@ -60,4 +61,28 @@ extension YHHomePageViewModel {
callBackBlock(false,err)
}
}
// type: 0 APP首页 1 香港身份 2香港生活
func getHomeBanner(_ type: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String : Any] = ["type": type]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.banner
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
guard let self = self else { return }
//1. json字符串 转 对象
if json.code == 200 {
let dic = json.data
guard let result = [YHBannerModel].deserialize(from: dic as? [Any]) else {
callBackBlock(false,nil)
return
}
self.banners = result as? [YHBannerModel]
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
......@@ -91,7 +91,7 @@ extension YHServiceBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
}
cell.textLabel?.text = model.title
cell.textLabel?.text = model.name
}
cell.imageView?.contentMode = .scaleAspectFill
......@@ -110,14 +110,14 @@ extension YHServiceBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
return
}
let model = dataArr[index]
switch model.link_type {
switch model.type {
case 10: //跳转H5
// let vc = BsWebViewController()
// vc.urlString = model.link_url
// UIViewController.navTopViewController?.navigationController?.pushViewController(vc, animated: true)
break
case 20: //跳转原生页面
if let vc = UIViewController.classFromString(model.link_url) {
if let vc = UIViewController.classFromString(model.skip_url) {
UIViewController.navTopViewController?.navigationController?.pushViewController(vc, animated: true)
}
break
......
......@@ -14,8 +14,11 @@ class YHAllApiName {
//首页配置接口
static let homeConfigApi = "common/homepage-config/index"
//获取首页展示的资讯
static let consult = "infoflow/home/consult"
//获取首页展示的banner
static let banner = "infoflow/banner/list"
}
//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