TRTCRegisterViewController.swift 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // TRTCRegisterViewController.swift
  3. // TXLiteAVDemo
  4. //
  5. // Created by gg on 2021/4/8.
  6. // Copyright © 2021 Tencent. All rights reserved.
  7. //
  8. import Foundation
  9. import TXAppBasic
  10. import SnapKit
  11. import UIKit
  12. import ImSDK_Plus
  13. import TUICore
  14. class TRTCRegisterViewController: UIViewController {
  15. lazy var loading: UIActivityIndicatorView = {
  16. let activityIndicatorStyle: UIActivityIndicatorView.Style
  17. if #available(iOS 13, *) {
  18. activityIndicatorStyle = .large
  19. } else {
  20. activityIndicatorStyle = .whiteLarge
  21. }
  22. return UIActivityIndicatorView(style: activityIndicatorStyle)
  23. }()
  24. override var shouldAutorotate: Bool {
  25. return false
  26. }
  27. override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
  28. return .portrait
  29. }
  30. override func viewDidLoad() {
  31. super.viewDidLoad()
  32. TUICSToastManager.setDefaultPosition(TUICSToastPositionBottom)
  33. title = .titleText
  34. view.addSubview(loading)
  35. loading.snp.makeConstraints { (make) in
  36. make.width.height.equalTo(40)
  37. make.centerX.centerY.equalTo(view)
  38. }
  39. }
  40. func regist(_ nickName: String) {
  41. loading.startAnimating()
  42. ProfileManager.shared.synchronizUserInfo()
  43. ProfileManager.shared.setNickName(name: nickName) { [weak self] in
  44. guard let `self` = self else { return }
  45. let selector = NSSelectorFromString("getSelfUserInfo")
  46. if TUILogin.responds(to: selector) {
  47. TUILogin.perform(selector)
  48. }
  49. self.registSuccess()
  50. } failed: { (err) in
  51. self.loading.stopAnimating()
  52. self.view.makeToast(err)
  53. DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
  54. self.navigationController?.popViewController(animated: true)
  55. }
  56. }
  57. }
  58. func registSuccess() {
  59. self.loading.stopAnimating()
  60. self.view.makeToast(.registSuccessText)
  61. ProfileManager.shared.localizeUserModel()
  62. ProfileManager.shared.synchronizUserInfo()
  63. DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
  64. guard let self = self else { return }
  65. AppUtils.shared.showConferenceOptionsViewController(nav: self.navigationController)
  66. }
  67. }
  68. override func loadView() {
  69. super.loadView()
  70. let rootView = TRTCRegisterRootView()
  71. rootView.backgroundColor = UIColor.white
  72. rootView.rootVC = self
  73. view = rootView
  74. }
  75. }
  76. /// MARK: - internationalization string
  77. fileprivate extension String {
  78. static let titleText = LoginLocalize(key:"Sign Up")
  79. static let registSuccessText = LoginLocalize(key:"Sign Up successfully")
  80. }