无故事王国
2023-11-24 0956065363582c474fdead4b923adced42138641
WanPai/Common/VC/CommonWebVC.swift
@@ -8,11 +8,13 @@
import UIKit
import WebKit
class CommonWebVC: BaseVC {
class CommonWebVC: BaseVC, WKNavigationDelegate {
   private var type:AgreentType!
   private var content:String!
   @IBOutlet weak var webView: WKWebView!
   @IBOutlet weak var cons_webHeight: NSLayoutConstraint!
   @IBOutlet weak var view_btns: UIView!
   init(type:AgreentType,content:String? = nil) {
      super.init(nibName: nil, bundle: nil)
@@ -26,6 +28,9 @@
   
    override func viewDidLoad() {
        super.viewDidLoad()
      view_btns.isHidden = true
      webView.navigationDelegate = self
      if type != .other{
         title = type.titleStr
         Services.queryProtocol(type,progress: false).subscribe(onNext: {[weak self] result in
@@ -38,11 +43,40 @@
      }
    }
   override func setRx() {
      webView.scrollView.rx.observe(CGSize.self, "contentSize").map { (size) -> CGFloat? in
         if let size = size{
            return size.height
         }
         return nil
      }.subscribe(onNext: { [unowned self](height) in
         if let height = height{
            self.cons_webHeight.constant = height
         }
      }).disposed(by: disposeBag)
   }
   @IBAction func readAction(_ sender: UIButton) {
      UserDefaults.standard.set(object: true, forKey: type.titleStr)
      switch type {
         case .user:
            UserDefaults.standard.set(object: true, forKey: "agreent_2")
      UserDefaults.standard.synchronize()
         case .safe:
            UserDefaults.standard.set(object: true, forKey: "agreent_3")
            UserDefaults.standard.synchronize()
         case .privacy:
            UserDefaults.standard.set(object: true, forKey: "agreent_1")
            UserDefaults.standard.synchronize()
         default:break
      }
      navigationController?.popViewController()
   }
   @IBAction func cancelAction(_ sender: UIButton) {
      navigationController?.popViewController()
   }
   override var preferredStatusBarStyle: UIStatusBarStyle{
      return .darkContent
@@ -51,4 +85,16 @@
   override var shouldAutorotate: Bool{
      return false
   }
   func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
      switch type {
         case .user,.safe,.privacy:
            view_btns.isHidden = false
            navigationItem.leftBarButtonItem = UIBarButtonItem()
         default:
            view_btns.isHidden = true
}
   }
}