LocalManager.swift 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // LocalManager.swift
  3. // SwiftBilibili
  4. //
  5. // Created by 罗文 on 2021/3/23.
  6. // Copyright © 2021年 罗文. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftyUserDefaults
  10. import RxSwift
  11. class LocalManager {
  12. static var disposeBag = DisposeBag()
  13. static let loginService: LoginServiceType = LoginService(networking: LoginNetworking())
  14. //本地用户信息
  15. static var userInfo: UserInfo = UserInfo()
  16. //清理
  17. class func clearUserInfo() {
  18. }
  19. //判断是否登录了
  20. static func isOpenLogin()->Bool{
  21. if !LocalManager.userInfo.isLogin {
  22. NYSwRouter.open(NYSwOpenType.login.rawValue)
  23. return false
  24. }
  25. return true
  26. }
  27. //自动登录
  28. static func autoLogin(){
  29. if LocalManager.userInfo.isLogin {
  30. let account = LocalManager.userInfo.userAccount!
  31. let password = LocalManager.userInfo.password!
  32. let city = LocalManager.userInfo.city!
  33. LocalManager.loginService.loginRequest(user_name: account, user_password: password,city: city)
  34. .subscribe(onSuccess: { userinfo in
  35. NYTips.hide()
  36. LocalManager.userInfo = userinfo
  37. }, onError: { error in
  38. })
  39. .disposed(by: LocalManager.disposeBag)
  40. }
  41. }
  42. //验证版本
  43. static func verifyVersiondo(){
  44. LocalManager.loginService.dictRequest(dictType: "coach_version").subscribe(onSuccess: { cityItems in
  45. var server_version = "" //服务端版本
  46. var message = "有新版本,请到appstore更新" //提示内容
  47. var isSup = 0 //是否强制更新
  48. for cityItem in cityItems {
  49. if cityItem.dictCode == 207 {
  50. server_version = cityItem.dictValue.replacingOccurrences(of: ".", with: "")
  51. let array = cityItem.remark.components(separatedBy: ":")
  52. if array.count>1 {
  53. isSup = Int(array[0])!
  54. message = array[1]
  55. }
  56. break
  57. }
  58. }
  59. //当前版本<服务器ios版本提示更新
  60. let appVersion:String = (NYMacros.appVersion as! String).replacingOccurrences(of: ".", with: "")
  61. if Int(appVersion)!<Int(server_version)! {
  62. // https://apps.apple.com/cn/app/%E6%95%99%E7%BB%83%E7%AE%A1%E5%AE%B6/id1214203182
  63. let action1 = QMUIAlertAction(title: "取消", style: .cancel, handler: nil)
  64. let action2 = QMUIAlertAction(title: "下载", style: .destructive) { vc, action in
  65. if let url = URL(string: "itms-apps://itunes.apple.com/cn/app/jiao-li-guan-jia/id1214203182?l=en&mt=8") {
  66. UIApplication.shared.open(url, options: [:], completionHandler: nil)
  67. }
  68. }
  69. let alertController = QMUIAlertController(title: "提示", message: message, preferredStyle: .alert)
  70. if isSup == 0 {
  71. alertController.addAction(action1)
  72. }
  73. alertController.addAction(action2)
  74. let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
  75. visualEffectView.qmui_foregroundColor = UIColor(255, 255, 255,0.7) // UIColorMakeWithRGBA(255, 255, 255, 0.7) // Use the default value in most cases, only demonstrate how to set here
  76. alertController.mainVisualEffectView = visualEffectView
  77. alertController.alertHeaderBackgroundColor = nil // Remove these background colors when you need to use the blur effect
  78. alertController.alertButtonBackgroundColor = nil
  79. alertController.showWith(animated: true)
  80. }
  81. },onError: { Error in
  82. }).disposed(by: disposeBag)
  83. }
  84. }