Commit 89c86835 authored by Steven杜宇's avatar Steven杜宇

Merge branch 'yinhe-live-1212' of...

Merge branch 'yinhe-live-1212' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into yinhe-live-1212
parents 4cb29fa8 87a72744
...@@ -80,6 +80,9 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -80,6 +80,9 @@ class YHHomePageViewController: YHBaseViewController {
guard YHPlayerManager.shared.isConfigFloating != false else { guard YHPlayerManager.shared.isConfigFloating != false else {
return return
} }
guard let configModel = YHConfigManager.shared.reqVM.configModel,configModel.is_integral_open else {
return
}
viewModel.getHomeFloatingLive { [weak self] success, error in viewModel.getHomeFloatingLive { [weak self] success, error in
guard let self = self else { guard let self = self else {
return return
...@@ -218,7 +221,14 @@ private extension YHHomePageViewController { ...@@ -218,7 +221,14 @@ private extension YHHomePageViewController {
} }
func addDefaultData() { func addDefaultData() {
homeHeaderView.homeBannerView.dataArr = getCacheDataForBanner() if let configModel = YHConfigManager.shared.reqVM.configModel,configModel.is_integral_open {
homeHeaderView.homeBannerView.dataArr = getCacheDataForBanner()
} else {
homeHeaderView.homeBannerView.dataArr = getCacheDataForBanner().filter {
($0.skip_type != 100) && ($0.skip_type != 101) && ($0.skip_type != 102)
}
}
getCacheDataForHomeNewsData() getCacheDataForHomeNewsData()
} }
...@@ -276,7 +286,15 @@ private extension YHHomePageViewController { ...@@ -276,7 +286,15 @@ private extension YHHomePageViewController {
self.viewModel.getHomeBanner(0) {[weak self] success, error in self.viewModel.getHomeBanner(0) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
DispatchQueue.main.async { DispatchQueue.main.async {
self.homeHeaderView.homeBannerView.dataArr = self.viewModel.banners ?? self.getCacheDataForBanner()
if let configModel = YHConfigManager.shared.reqVM.configModel,configModel.is_integral_open {
self.homeHeaderView.homeBannerView.dataArr = self.viewModel.banners ?? self.getCacheDataForBanner()
} else {
self.homeHeaderView.homeBannerView.dataArr = (self.viewModel.banners ?? self.getCacheDataForBanner()).filter {
($0.skip_type != 100) && ($0.skip_type != 101) && ($0.skip_type != 102)
}
}
if let arrB = self.viewModel.banners,arrB.count > 0 { if let arrB = self.viewModel.banners,arrB.count > 0 {
let arrString = arrB.toJSONString() let arrString = arrB.toJSONString()
UserDefaults.standard.set(arrString, forKey: "homeBannerData") UserDefaults.standard.set(arrString, forKey: "homeBannerData")
......
...@@ -260,7 +260,11 @@ class YHSelectLookTableViewCell: UITableViewCell { ...@@ -260,7 +260,11 @@ class YHSelectLookTableViewCell: UITableViewCell {
let a: ASAttributedString = .init("¥", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor)) let a: ASAttributedString = .init("¥", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
let b: ASAttributedString = .init("\(dataSource.linePrice) ", .font(UIFont.PFSC_R(ofSize: 20)),.foreground(UIColor.mainTextColor)) let b: ASAttributedString = .init("\(dataSource.linePrice) ", .font(UIFont.PFSC_R(ofSize: 20)),.foreground(UIColor.mainTextColor))
let c: ASAttributedString = .init(\(dataSource.price)", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x8993a2)), .strikethrough(.single)) let c: ASAttributedString = .init(\(dataSource.price)", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x8993a2)), .strikethrough(.single))
self.subTitleLabel.attributed.text = a + b + c if dataSource.linePrice == dataSource.price {
self.subTitleLabel.attributed.text = a + b
} else {
self.subTitleLabel.attributed.text = a + b + c
}
itemView.removeSubviews() itemView.removeSubviews()
var i = 0 var i = 0
for item in dataSource.icons { for item in dataSource.icons {
......
...@@ -30,7 +30,17 @@ class YHFloatingWindow: NSObject { ...@@ -30,7 +30,17 @@ class YHFloatingWindow: NSObject {
var source: Source = .userAction var source: Source = .userAction
weak var delegate: YHFloatingWindowDelegate? weak var delegate: YHFloatingWindowDelegate?
var playbackInfo: YHPlayerManager.PlaybackInfo? var playbackInfo: YHPlayerManager.PlaybackInfo? {
didSet {
if playbackInfo?.isLive == true {
bottomView.isHidden = false
bottomView.play(true)
} else {
bottomView.isHidden = true
bottomView.play(false)
}
}
}
// 视频方向 // 视频方向
enum VideoOrientation { enum VideoOrientation {
...@@ -52,13 +62,13 @@ class YHFloatingWindow: NSObject { ...@@ -52,13 +62,13 @@ class YHFloatingWindow: NSObject {
static let minHeight: CGFloat = 67.5 // 16:9 static let minHeight: CGFloat = 67.5 // 16:9
static let maxHeight: CGFloat = UIScreen.main.bounds.height static let maxHeight: CGFloat = UIScreen.main.bounds.height
static let defaultWidth: CGFloat = 150 static let defaultWidth: CGFloat = 72//150
static let defaultHeight: CGFloat = 84.375 // 16:9 static let defaultHeight: CGFloat = 128//84.375 // 16:9
} }
private(set) var contentView: UIView private(set) var contentView: UIView
private var containerView: UIView private var containerView: UIView
private var videoOrientation: VideoOrientation = .landscape private var videoOrientation: VideoOrientation = .portrait//.landscape
// 手势相关 // 手势相关
private var initialFrame: CGRect = .zero private var initialFrame: CGRect = .zero
...@@ -101,6 +111,13 @@ class YHFloatingWindow: NSObject { ...@@ -101,6 +111,13 @@ class YHFloatingWindow: NSObject {
closeButton.center = CGPoint(x: container.bounds.width / 2, y: container.bounds.height / 2) closeButton.center = CGPoint(x: container.bounds.width / 2, y: container.bounds.height / 2)
return container return container
}() }()
private lazy var bottomView: YHGradientView = {
let view = YHGradientView()
view.isHidden = true
view.frame = CGRect(x: 0, y: 0, width: Size.defaultWidth, height: 20)
return view
}()
// MARK: - Initialization // MARK: - Initialization
...@@ -144,16 +161,25 @@ class YHFloatingWindow: NSObject { ...@@ -144,16 +161,25 @@ class YHFloatingWindow: NSObject {
closeButtonContainer.widthAnchor.constraint(equalToConstant: 30), closeButtonContainer.widthAnchor.constraint(equalToConstant: 30),
closeButtonContainer.heightAnchor.constraint(equalToConstant: 30), closeButtonContainer.heightAnchor.constraint(equalToConstant: 30),
]) ])
containerView.addSubview(bottomView)
bottomView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
bottomView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor),
bottomView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
bottomView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
bottomView.heightAnchor.constraint(equalToConstant: 20),
])
} }
private func setupGestures() { private func setupGestures() {
let panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:))) let panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(handlePinch(_:))) //let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(handlePinch(_:)))
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:))) let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))
tapGesture.delegate = self tapGesture.delegate = self
containerView.addGestureRecognizer(panGesture) containerView.addGestureRecognizer(panGesture)
containerView.addGestureRecognizer(pinchGesture) //containerView.addGestureRecognizer(pinchGesture)
containerView.addGestureRecognizer(tapGesture) containerView.addGestureRecognizer(tapGesture)
} }
...@@ -524,9 +550,9 @@ extension YHFloatingWindow: YHPlayerDelegate { ...@@ -524,9 +550,9 @@ extension YHFloatingWindow: YHPlayerDelegate {
// //
} }
func player(_ player: YHPlayer, didReceiveVideoSize size: CGSize) { func player(_ player: YHPlayer, didReceiveVideoSize size: CGSize) {
DispatchQueue.main.async { // DispatchQueue.main.async {
self.setVideoSize(size) // self.setVideoSize(size)
} // }
} }
func player(_ player: YHPlayer, didChangedTo positionMs: Int, atTimestamp timestampMs: TimeInterval) { func player(_ player: YHPlayer, didChangedTo positionMs: Int, atTimestamp timestampMs: TimeInterval) {
// //
......
...@@ -7,9 +7,24 @@ ...@@ -7,9 +7,24 @@
// //
import UIKit import UIKit
import Lottie
class YHGradientView: UIView { class YHGradientView: UIView {
private lazy var liveAnimationView: LottieAnimationView = {
let view = LottieAnimationView(name: "live")
view.backgroundColor = UIColor.clear
view.loopMode = .loop
return view
}()
private lazy var infoTitleLabel: UILabel = {
let label = UILabel()
label.textColor = .white
label.text = "直播中"
label.font = .PFSC_R(ofSize: 11)
return label
}()
override class var layerClass: AnyClass { override class var layerClass: AnyClass {
return CAGradientLayer.self return CAGradientLayer.self
} }
...@@ -29,10 +44,32 @@ class YHGradientView: UIView { ...@@ -29,10 +44,32 @@ class YHGradientView: UIView {
return return
} }
gradientLayer.colors = [ gradientLayer.colors = [
UIColor(white: 1, alpha: 1).cgColor, // 顶部 100% 不透明 (UIColor(hexString: "#AFCEFF") ?? UIColor()).cgColor,
UIColor(white: 1, alpha: 0).cgColor // 底部 0% 完全透明 (UIColor(hexString: "#0046B4") ?? UIColor()).cgColor,
(UIColor(hexString: "#0046B4") ?? UIColor()).cgColor,
(UIColor(hexString: "#AFCEFF") ?? UIColor()).cgColor
] ]
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0) // 上边中点 gradientLayer.startPoint = CGPoint(x: 0, y: 0.5) // 上边中点
gradientLayer.endPoint = CGPoint(x: 0.5, y: 1) // 下边中点 gradientLayer.endPoint = CGPoint(x: 1, y: 0.5) // 下边中点
addSubview(liveAnimationView)
addSubview(infoTitleLabel)
liveAnimationView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(8)
make.centerY.equalToSuperview()
make.width.height.equalTo(18)
}
infoTitleLabel.snp.makeConstraints { make in
make.left.equalTo(liveAnimationView.snp.right)
make.centerY.equalToSuperview()
make.right.lessThanOrEqualToSuperview().offset(-12)
}
}
func play(_ needPlay: Bool) {
if needPlay {
liveAnimationView.play()
} else {
liveAnimationView.stop()
}
} }
} }
...@@ -296,7 +296,8 @@ class YHShareAlertView: UIView { ...@@ -296,7 +296,8 @@ class YHShareAlertView: UIView {
@objc func wxClick() { @objc func wxClick() {
if fromAiSale { if fromAiSale {
YHShareManager.shared.sendLinkContent(subMessage, "", mainImageView.image ?? UIImage(), link: linkUrl) let content = isLive ? "\(title)正在直播中,快来围观吧~" : "点击查看详情讲解~"
YHShareManager.shared.sendLinkContent(subMessage, content, mainImageView.image ?? UIImage(), link: linkUrl)
} else { } else {
YHShareManager.shared.sendLinkContent(title, subMessage, mainImageView.image ?? UIImage(), link: linkUrl) YHShareManager.shared.sendLinkContent(title, subMessage, mainImageView.image ?? UIImage(), link: linkUrl)
} }
......
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