宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-07-05 0d8f5fc8a516bfd07e425909e4a4432600572ee7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
//  YYViewModel.swift
//  OKProject
//
//  Created by alvin_y on 2020/5/20.
//  Copyright © 2020 yangwang. All rights reserved.
//
 
import Foundation
import RxSwift
import RxCocoa
import HandyJSON
import MBProgressHUD
 
// 假设这是服务端返回的统一定义的response格式
struct BaseResponse<T :HandyJSON>: HandyJSON {
    var sysTime: Int = 0
    var code: Int = -1 // 服务端返回码
    var data: T? = nil // 具体的data的格式和业务相关,故用泛型定义
    var msg: String = "请求失败"
}
enum RequestStatus {
    case loading
    case success(_ model: Any?)
    case error(_ error: Error)
}
 
enum ResponseStatus<T:HandyJSON> {
    case success(_ model: T? = nil)
    case error(_ error: Error)
}
 
class YYViewModel {
    
    lazy var requestSubject = PublishSubject<RequestStatus>()
    
    
    let disposeBag = DisposeBag()
    var hud : MBProgressHUD?
 
    func show(){
        let hud = MBProgressHUD.showAdded(to: UIApplication.shared.keyWindow!, animated: true)
        hud.mode = .indeterminate
        hud.bezelView.style = .solidColor
        hud.bezelView.color = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.7)
        hud.customView?.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
        self.hud = hud
    }
 
    func hidden(){
        hud?.hide(animated: true)
    }
    
}