| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // TRTCLoginViewController.swift
- // TXLiteAVDemo
- //
- // Created by gg on 2021/4/7.
- // Copyright © 2021 Tencent. All rights reserved.
- //
- import Foundation
- import WebKit
- import TUICore
- import TUIRoomKit
- class TRTCLoginViewController: UIViewController {
-
- let loading = UIActivityIndicatorView()
-
- override var shouldAutorotate: Bool {
- return false
- }
-
- override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
- return .portrait
- }
-
- override func viewDidLayoutSubviews() {
- super.viewDidLayoutSubviews()
- view.bringSubviewToFront(loading)
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- navigationController?.navigationBar.barTintColor = .white
- TUICSToastManager.setDefaultPosition(TUICSToastPositionBottom)
- view.addSubview(loading)
- loading.snp.makeConstraints { (make) in
- make.width.height.equalTo(40)
- make.centerX.centerY.equalTo(view)
- }
-
- /// auto login
- if ProfileManager.shared.autoLogin(success: {
- self.loginIM { [weak self] (success) in
- guard let `self` = self else { return }
- self.loading.stopAnimating()
- if success {
- self.loginSucc()
- }
- }
- }, failed: { [weak self] (err) in
- guard let self = self else {return}
- self.loading.stopAnimating()
- self.view.makeToast(err)
- }) {
- loading.startAnimating()
- if let rootView = view as? TRTCLoginRootView {
- rootView.phoneNumTextField.text = ProfileManager.shared.curUserModel?.phone ?? ""
- }
- }
- }
-
- func login(phone: String, nickName: String) {
- loading.startAnimating()
- ProfileManager.shared.login(phone: phone, name: nickName) { [weak self] in
- guard let `self` = self else { return }
- self.loading.stopAnimating()
- self.loginIM { [weak self] (success) in
- guard let `self` = self else { return }
- if success {
- self.loginSucc()
- }
- }
- }
- }
-
- #if DEBUG
- let SdkBusiId: Int32 = 18_069
- #else
- let SdkBusiId: Int32 = 18_070
- #endif
-
- func loginIM(complete: @escaping (_ success: Bool)->Void) {
- guard let userID = ProfileManager.shared.curUserID() else { return }
- let userSig = ProfileManager.shared.curUserSig()
- if TUILogin.getUserID() != userID {
- ProfileManager.shared.curUserModel?.name = ""
- }
- ProfileManager.shared.IMLogin(userSig: userSig) {
- debugPrint("IM login success.")
- complete(true)
- } failed: { [weak self] (error) in
- guard let `self` = self else { return }
- self.view.makeToast(LoginLocalize(key: "Failed to log in to IM"))
- complete(false)
- }
- }
-
- func loginSucc() {
- if ProfileManager.shared.curUserModel?.name.count == 0 {
- showRegisterVC()
- } else {
- self.view.makeToast(LoginLocalize(key:"Logged in"))
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
- guard let self = self else { return }
- AppUtils.shared.showConferenceOptionsViewController(nav: self.navigationController)
- }
- }
- }
-
- func showRegisterVC() {
- let vc = TRTCRegisterViewController()
- navigationController?.pushViewController(vc, animated: true)
- }
-
- override func loadView() {
- super.loadView()
- let rootView = TRTCLoginRootView()
- rootView.rootVC = self
- view = rootView
- }
- }
- extension String {
- static let verifySuccessStr = "verifySuccess"
- static let verifyCancelStr = "verifyCancel"
- static let verifyErrorStr = "verifyError"
- }
|