TSBusinessWebVC.swift 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // TSBusinessWebVC.swift
  3. // TSLiveWallpaper
  4. //
  5. // Created by 100Years on 2024/12/29.
  6. //
  7. import UIKit
  8. import WebKit
  9. class TSBusinessWebVC: TSBaseVC , WKNavigationDelegate {
  10. enum UrlType:String {
  11. case privacy = "https://doc-hosting.flycricket.io/livelive-privacy-policy/10cde0be-3dae-4f7a-9e60-c5f92382ff21/privacy"
  12. case terms = "https://doc-hosting.flycricket.io/livelive-terms-of-use/7ec53e98-eb9d-49e0-b01d-bf315ba4384b/terms"
  13. func getTitle() -> String {
  14. switch self {
  15. case .privacy:
  16. return "Privacy Policy".localized
  17. case .terms:
  18. return "User Agreement".localized
  19. }
  20. }
  21. }
  22. private var webView: WKWebView!
  23. private var urlType: UrlType
  24. private var progressView: UIProgressView!
  25. init(urlType: UrlType) {
  26. self.urlType = urlType
  27. super.init(nibName: nil, bundle: nil)
  28. }
  29. required init?(coder: NSCoder) {
  30. fatalError("init(coder:) has not been implemented")
  31. }
  32. override func createView() {
  33. addNormalNavBarView()
  34. setPageTitle(urlType.getTitle())
  35. }
  36. override func viewDidLoad() {
  37. super.viewDidLoad()
  38. setupWebView()
  39. loadURL()
  40. }
  41. private func setupWebView() {
  42. // 初始化 WKWebView
  43. let webConfiguration = WKWebViewConfiguration()
  44. webView = WKWebView(frame: .zero, configuration: webConfiguration)
  45. webView.navigationDelegate = self
  46. webView.translatesAutoresizingMaskIntoConstraints = false
  47. contentView.addSubview(webView)
  48. webView.snp.makeConstraints { make in
  49. make.edges.equalToSuperview()
  50. }
  51. }
  52. private func loadURL() {
  53. guard let url = URL(string: urlType.rawValue) else {
  54. debugPrint("无效的 URL")
  55. return
  56. }
  57. let request = URLRequest(url: url)
  58. webView.load(request)
  59. }
  60. }