| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- //
- // OOBindNodeViewController.swift
- // O2Platform
- //
- // Created by 刘振兴 on 2018/4/8.
- // Copyright © 2018年 zoneland. All rights reserved.
- //
- import UIKit
- import Whisper
- import Promises
- import O2OA_Auth_SDK
- class OOBindNodeViewController:OOBaseViewController,UITableViewDataSource,UITableViewDelegate {
-
- private var viewModel:OOLoginViewModel = {
- return OOLoginViewModel()
- }()
-
- private let cellIdentitifer = "OONodeUnitTableViewCell"
-
- private let headerFrame = CGRect(x: 0, y: 0, width: kScreenW, height: 164)
-
- private let footerFrame = CGRect(x: 0, y: 0, width: kScreenW, height: 100)
-
- lazy var headerView:UIImageView = {
- return UIImageView(image:#imageLiteral(resourceName: "pic_xzzz_bj"))
- }()
-
- lazy var footerView:UIView = {
-
- let containerView = UIView(frame: self.footerFrame)
- let buttonFrame = CGRect(x: 25, y: (self.footerFrame.height - 44) / 2, width: self.footerFrame.width - 25 * 2, height: 44)
- let nextButton = OOBaseUIButton(frame: buttonFrame)
- nextButton.backgroundColor = UIColor.hexInt(0xFB4747)
- nextButton.configUI()
- //nextButton.setBackgroundColor(UIColor.hexInt(0xFB4747), forState: .normal)
- //下一步
- let attrits = NSAttributedString(string: "下一步", attributes: [NSAttributedString.Key.foregroundColor:UIColor.white,NSAttributedString.Key.font:UIFont(name:"PingFangSC-Regular",size:17)!])
- nextButton.setAttributedTitle(attrits, for: .normal)
- nextButton.addTarget(self, action: #selector(nextButtonClick(_:)), for: .touchUpInside)
- containerView.addSubview(nextButton)
- return containerView
- }()
-
- public var nodes:[O2BindUnitModel] = []
-
- public var mobile:String!
-
- public var value:String!
-
- private var selectedNode:O2BindUnitModel?
-
- @IBOutlet weak var tableView: UITableView!
-
- override func viewDidLoad() {
- super.viewDidLoad()
- let headerView1 = Bundle.main.loadNibNamed("OORegisterTableView", owner: self, options: nil)?.first as! OORegisterTableView
- headerView1.configTitle(title: "选择服务节点", actionTitle: nil)
- headerView1.frame = CGRect(x: 0, y: 0, width: kScreenW, height: 66)
- if #available(iOS 11, *) {
- self.tableView.contentInsetAdjustmentBehavior = .never
- self.view.addSubview(headerView1)
- }else{
- self.view.addSubview(headerView1)
- }
- self.tableView.tableHeaderView = headerView
- self.tableView.tableFooterView = footerView
- self.tableView.dataSource = self
- self.tableView.delegate = self
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
- func numberOfSections(in tableView: UITableView) -> Int {
- return 1
- }
-
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return nodes.count
- }
-
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentitifer, for: indexPath) as! OONodeUnitTableViewCell
- cell.config(withItem: nodes[indexPath.row])
- if cell.isSelected {
- cell.selectImageView.isHighlighted = true
- }else {
- cell.selectImageView.isHighlighted = false
- }
- return cell
- }
-
- func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
- selectedNode = nodes[indexPath.row]
- }
-
- private func nextAction() {
- if let node = selectedNode {
- MBProgressHUD_JChat.showMessage(message: "绑定中...", toView: self.view)
- O2AuthSDK.shared.bindMobileToServer(unit: node, mobile: mobile, code: value) { (state, msg) in
- switch state {
- case .goToChooseBindServer(_):
- //多于一个节点到节点列表
- //self.performSegue(withIdentifier: "nextSelectNodeSegue", sender: unitList)
- self.showError(title: "错误!")
- break
- case .goToLogin:
- // self.showError(title: "错误!\(msg ?? "")")
- self.forwardDestVC("login", "loginVC")
- break
- case .noUnitCanBindError:
- self.showError(title: "没有获取到服务器列表,请确认服务器是否已经注册!")
- break
- case .unknownError:
- self.showError(title: "错误!\(msg ?? "")")
- break
- case .success:
- //处理移动端应用
- self.viewModel._saveAppConfigToDb()
- //成功,跳转
- DispatchQueue.main.async {
- if self.presentedViewController == nil {
- self.dismissVC(completion:nil)
- }
- let destVC = OOTabBarController.genernateVC()
- destVC.selectedIndex = 2
- UIApplication.shared.keyWindow?.rootViewController = destVC
- UIApplication.shared.keyWindow?.makeKeyAndVisible()
- }
- break
- }
- MBProgressHUD_JChat.hide(forView: self.view, animated: true)
- }
- }else{
- //请选择指定的目标服务
- self.showWhisperMessage(title: "请选择服务节点", message: "")
- }
- }
-
- @objc func nextButtonClick(_ sender:Any) {
- nextAction()
- }
-
-
- }
|