JLChen
2021-05-18 a869383e163a18cdedcf587383c1eca043129754
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//
//  Copyright © 2018年 Zhejiang Dahua Technology Co.,Ltd. All rights reserved.
//
 
import UIKit
 
class DHAuthRegCodeViewController: DHAddBaseViewController, UITextFieldDelegate, DHBindContainerProtocol {
 
    public static func storyboardInstance() -> DHAuthRegCodeViewController {
        let storyboard = UIStoryboard(name: "AddDevice", bundle: Bundle.dh_addDeviceBundle())
        if let controller = storyboard.instantiateViewController(withIdentifier: "DHAuthRegCodeViewController") as? DHAuthRegCodeViewController {
            return controller
        }
        return DHAuthRegCodeViewController()
    }
 
    private lazy var bindPresenter: DHBindPresenter = {
        let presenter = DHBindPresenter()
        return presenter
    }()
    
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var tipLabel: UILabel!
    @IBOutlet weak var inputCodeTxf: LCTextField!
    @IBOutlet weak var nextButton: UIButton!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setupContents()
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    private func setupContents() {
        view.backgroundColor = UIColor.dhcolor_c43()
        
        tipLabel.textColor = UIColor.dhcolor_c2()
        
        imageView.image = UIImage(named: "adddevice_pic_safetycode")
        
        inputCodeTxf.backgroundColor = UIColor.dhcolor_c43()
        inputCodeTxf.layer.borderColor = UIColor.dhcolor_c8().cgColor
        inputCodeTxf.layer.borderWidth = 0.5
        inputCodeTxf.placeholder = "add_device_input_safe_code".lc_T
        
        nextButton.layer.cornerRadius = DHModuleConfig.shareInstance().commonButtonCornerRadius()
        nextButton.backgroundColor = DHModuleConfig.shareInstance().commonButtonColor()
        nextButton.setTitleColor(UIColor.dhcolor_c43(), for: .normal)
        
        nextButton.dh_enable = false
        inputCodeTxf.lc_setInputRule(withRegEx: "^[A-Za-z0-9]$", andInputLength: 6)
        inputCodeTxf.delegate = self
        inputCodeTxf.keyboardType = .asciiCapable
        inputCodeTxf.returnKeyType = .done
        inputCodeTxf.leftViewMode = .always
        inputCodeTxf.leftView = UIView(frame: CGRect(x: 0, y: 0, width: 20, height: 45))
        
        inputCodeTxf.textChanged = { [unowned self] text in
            let password = text ?? ""
            self.nextButton.dh_enable = password.count > 0
        }
    }
 
    @IBAction func onNextAction(_ sender: Any) {
        let regCode = inputCodeTxf.text ?? ""
        bindPresenter.setup(container: self)
        
        bindPresenter.bindDevice(devicePassword: DHAddDeviceManager.sharedInstance.initialPassword, code: regCode, deviceKey: regCode, showLoading: true, showErrorTip: true) { (_) in
            
        }
    }
}
 
extension DHAuthRegCodeViewController {
    
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
}
 
extension DHAuthRegCodeViewController {
    
    func navigationVC() -> UINavigationController? {
        return self.navigationController
    }
    
    func mainView() -> UIView {
        return self.view
    }
    
    func mainController() -> UIViewController {
        return self
    }
    
    func retry() {
        
    }
}