ThimraTV/MoviaBox/Class/Rewards/Controller/SPRewardsViewController.swift
2025-05-21 10:25:29 +08:00

80 lines
2.2 KiB
Swift

//
// SPRewardsViewController.swift
// MoviaBox
//
// Created by on 2025/4/28.
//
import UIKit
class SPRewardsViewController: SPCampaignWebViewController {
deinit {
NotificationCenter.default.removeObserver(self)
}
private var isFirst = true
override func viewDidLoad() {
self.urlStr = SPRewardsWebUrl
super.viewDidLoad()
self.edgesForExtendedLayout = .top
self.theme = nil
NotificationCenter.default.addObserver(self, selector: #selector(reachabilityDidChangeNotification), name: SPNetworkReachabilityManager.reachabilityDidChangeNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(loginStateDidChangeNotification), name: SPLoginManager.loginStateDidChangeNotification, object: nil)
self.webView.backgroundColor = .clear
self.webView.scrollView.backgroundColor = .clear
setEmptyView()
setBackgroundView(isShowGradient: false, bgImage: UIImage(named: "rewards_bg_image"))
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
setNavigationNormalStyle(backgroundColor: .clear, isTranslucent: true)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if !isFirst {
self.reload()
} else {
isFirst = false
}
}
}
extension SPRewardsViewController {
///
private func setEmptyView() {
if SPNetworkReachabilityManager.manager.isReachable != true {
self.webView.isHidden = true
self.addNoNetworkEmptyView { [weak self] in
self?.reachabilityDidChangeNotification()
}
}
}
@objc private func loginStateDidChangeNotification() {
self.reload()
}
@objc private func reachabilityDidChangeNotification() {
if SPNetworkReachabilityManager.manager.isReachable == true {
self.webView.isHidden = false
self.removeNoNetworkEmptyView()
self.reload()
}
}
}