// // 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 self.webView.snp.remakeConstraints { make in make.left.right.bottom.equalToSuperview() make.top.equalToSuperview().offset(kSPNavBarHeight) } setEmptyView() setBackgroundView(isShowGradient: false, bgImage: UIImage(named: "rewards_bg_image")) bgImageView.snp.remakeConstraints { make in make.edges.equalToSuperview() } } 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() } } }