From 2e91ee1387ef545ecef49230f2024b89b2f82a58 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期三, 09 十月 2024 15:48:20 +0800 Subject: [PATCH] fix --- XQMuse/Root/Login/VC/UpdatePhoneVC.swift | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 1 deletions(-) diff --git a/XQMuse/Root/Login/VC/UpdatePhoneVC.swift b/XQMuse/Root/Login/VC/UpdatePhoneVC.swift index 9d7bca9..a8daffc 100644 --- a/XQMuse/Root/Login/VC/UpdatePhoneVC.swift +++ b/XQMuse/Root/Login/VC/UpdatePhoneVC.swift @@ -6,12 +6,81 @@ // import UIKit +import AuthenticationServices +import QMUIKit +import JQTools class UpdatePhoneVC: BaseVC { - + private var credential:ASAuthorizationAppleIDCredential? + @IBOutlet weak var tf_phone: QMUITextField! + @IBOutlet weak var tf_code: QMUITextField! + @IBOutlet weak var btn_code: UIButton! + @IBOutlet weak var btn_isRead: UIButton! + + init(credential:ASAuthorizationAppleIDCredential? = nil) { + super.init(nibName: nil, bundle: nil) + self.credential = credential + } + + @MainActor required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + override func viewDidLoad() { super.viewDidLoad() title = "验证手机号" } + + @IBAction func getCodeAction(_ sender: UIButton) { + view.endEditing(true) + guard tf_phone.text!.jq_isPhone else { + alertError(msg: "请输入正确的手机号");return + } + + Services.sendCode(type: .threePlantform).subscribe(onNext: {data in + if let _ = data.data{ + sender.jq_openCountDown(60, defultTitle: "发送验证码") { + sender.titleLabel?.font = UIFont.systemFont(ofSize: 12) + sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal) + } completeClouse: { + sender.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium) + sender.setTitleColor(UIColor(hexStr: "#96AD81"), for: .normal) + } + } + }).disposed(by: disposeBag) + } + + @IBAction func loginAction(_ sender: UIButton) { + view.endEditing(true) + guard tf_phone.text!.jq_isPhone else { + alertError(msg: "请输入正确的手机号");return + } + + guard tf_code.text!.count == 6 else { + alertError(msg: "请输入6位验证码");return + } + guard let credentialUser = credential?.user else { + alertError(msg: "Apple登录授权异常");return + } + + let formatName = String(format: "%@%@%@", credential?.fullName?.familyName ?? "",credential?.fullName?.middleName ?? "", credential?.fullName?.middleName ?? "") + + Services.confirmByApple(cellPhone: tf_phone.text!, captcha: tf_code.text!, loginType: .apple, wxOrAppleId: credentialUser,name: formatName, mail: credential!.email).subscribe(onNext: {data in + if var model = data.data{ + model.loginByAppleToken = String(data: self.credential!.identityToken!, encoding: .utf8) + model.appleId = self.credential!.user + sceneDelegate?.loginSuccess() + NotificationCenter.default.post(name: LoginDismiss_Noti, object: nil, userInfo: nil) + UserViewModel.saveLoginInfo(model) + + Services.getUserInfo().subscribe(onNext: {data in + if let model = data.data{ + UserViewModel.saveAvatarInfo(model) + } + }).disposed(by: self.disposeBag) + } + }).disposed(by: disposeBag) + } + } -- Gitblit v1.7.1