| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- //
- // ViewController.swift
- // QuickSearchLocation
- //
- // Created by mac on 2024/4/10.
- //
- import UIKit
- import Alamofire
- class ViewController: UIViewController {
- private var timer: Timer?
- private var count = 0
-
- override func viewDidLoad() {
- super.viewDidLoad()
- self.checkNetwork()
- self.setUI()
- }
-
- @objc private func updateCountdown() {
- if(count > 6){
- self.contentLabel.isHidden = false
- self.oneButton.isHidden = false
- invalidateTimer()
- }
- count += 1
-
- }
-
- private func invalidateTimer() {
- timer?.invalidate()
- timer = nil
- }
-
- func setUI(){
- if timer == nil {
- timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateCountdown), userInfo: nil, repeats: true)
- RunLoop.current.add(timer!, forMode: .common)
- }
-
- self.view.addSubview(bgView)
- bgView.snp.makeConstraints { make in
- make.left.right.bottom.equalToSuperview()
- make.height.equalTo(131)
- }
- self.view.addSubview(bgLogoView)
- bgLogoView.snp.makeConstraints { make in
- make.size.equalTo(CGSize(width: 96, height: 96))
- make.centerX.equalToSuperview()
- make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top).offset(130)
- }
-
- self.view.addSubview(bgTitleView)
- bgTitleView.snp.makeConstraints { make in
- make.left.equalToSuperview().offset(96)
- make.right.equalToSuperview().offset(-96)
- make.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom).offset(-40)
- make.height.equalTo(bgTitleView.snp.width).multipliedBy(156.0/501.0)
- }
-
- self.view.addSubview(contentLabel)
- contentLabel.snp.makeConstraints { make in
- make.size.equalTo(CGSize(width: QSLConst.qsl_kScreenW, height: 18.0.rpx))
- make.center.equalToSuperview()
- }
-
- self.view.addSubview(oneButton)
- oneButton.snp.makeConstraints { make in
- make.size.equalTo(CGSize(width: 140.rpx, height: 44.rpx))
- make.centerX.equalToSuperview()
- make.top.equalTo(contentLabel.snp.bottom).offset(20.rpx)
- }
-
- self.contentLabel.isHidden = true
- self.oneButton.isHidden = true
-
- }
-
- @objc func checkNetworkSetting(){
- if let url = URL(string: UIApplication.openSettingsURLString), UIApplication.shared.canOpenURL(url) {
-
- UIApplication.shared.open(url)
- }
- }
-
- @objc func checkNetwork(){
- NetworkReachabilityManager.default?.startListening(onUpdatePerforming: {[weak self] status in
- if(status != .notReachable){
- print("checkIDFA")
- UNUserNotificationCenter.current().requestAuthorization(
- options: [.alert, .sound, .badge]
- ) { granted, error in
- DispatchQueue.main.async {
- if granted {
- DispatchQueue.main.async {
- UIApplication.shared.registerForRemoteNotifications()
- }
- } else if let error = error {
- print("Error: \(error.localizedDescription)")
- }
- self?.intoMain()
- }
- }
- NetworkReachabilityManager.default?.stopListening()
- self?.invalidateTimer()
- }
- })
- }
-
- func intoMain() {
- self.contentLabel.isHidden = true
- self.oneButton.isHidden = true
- QSLBaseManager.shared.initConfig()
-
- // 是否通过引导页
- // let isShowGuideKey = UserDefaults.standard.bool(forKey: "isShowGuideKey")
- // if !isShowGuideKey {
- // // 引导页
- // UserDefaults.standard.set(true, forKey: "isShowGuideKey")
- // if let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate {
- // sceneDelegate.window?.rootViewController = QSLGuideController()
- // sceneDelegate.window?.makeKeyAndVisible()
- // }
- // } else {
- UNUserNotificationCenter.current().requestAuthorization(
- options: [.alert, .sound, .badge]
- ) { granted, error in
- DispatchQueue.main.async {
- if granted {
- DispatchQueue.main.async {
- UIApplication.shared.registerForRemoteNotifications()
- }
- } else if let error = error {
- print("Error: \(error.localizedDescription)")
- }
- }
- }
-
- QSLBaseManager.shared.initIDFA()
- // 主页
- if let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate {
- sceneDelegate.window?.rootViewController = CustomTabBarController()
- sceneDelegate.window?.makeKeyAndVisible()
- }
- // }
-
- }
-
- lazy var bgView: UIImageView = {
- let item = UIImageView()
- item.image = UIImage(named: "launch_bottom_bg")
- item.contentMode = .scaleToFill
- return item
- }()
-
- lazy var bgLogoView: UIImageView = {
- let item = UIImageView()
- item.image = UIImage(named: "launch_icon")
- item.contentMode = .scaleToFill
- return item
- }()
-
- lazy var bgTitleView: UIImageView = {
- let item = UIImageView()
- item.image = UIImage(named: "launch_title")
- item.contentMode = .scaleToFill
- return item
- }()
-
- lazy var contentLabel: UILabel = {
- let label = UILabel()
- label.text("网络错误,请检查网络权限")
- label.font(16)
- label.textColor = .black
- label.textAlignment = .center
- return label
- }()
-
- lazy var oneButton: UIButton = {
-
- let btn = UIButton()
- btn.addRadius(radius: 22.rpx)
- btn.title("去设置")
- btn.textColor(.white)
- btn.mediumFont(14)
- btn.gradientBackgroundColor(color1: .hexStringColor(hexString: "#15CBA1"), color2: .hexStringColor(hexString: "#1FE0BA"), width: 250.rpx, height: 44.rpx, direction: .horizontal)
- btn.addTarget(self, action: #selector(checkNetworkSetting), for: .touchUpInside)
- return btn
- }()
-
-
- // 用户协议跳转
- func agreementAction() {
-
- let vc = QSLWebViewController()
- vc.webUrl = QSLConfig.AppServiceAgreementLink
- vc.title = "用户协议"
- vc.isShowTop = true
- self.present(vc, animated: true)
- }
-
- // 隐私协议跳转
- func privacyAction() {
-
- let vc = QSLWebViewController()
- vc.webUrl = QSLConfig.AppPrivacyAgreementLink
- vc.title = "隐私政策"
- vc.isShowTop = true
- self.present(vc, animated: true)
- }
- }
|