杨锴
2024-11-19 d7213a2599c0abcef0dc94db37c45da5dee497f2
XQMuse/Root/Login/VC/UpdatePhoneVC.swift
@@ -12,6 +12,7 @@
class UpdatePhoneVC: BaseVC {
    private var credential:ASAuthorizationAppleIDCredential?
    private var wechatInfoModel:WechatUserInfoModel?
    private var firstAccessToken:String? //后端问题,要把上次的token带过来
    @IBOutlet weak var tf_phone: QMUITextField!
    @IBOutlet weak var tf_code: QMUITextField!
@@ -19,9 +20,10 @@
    @IBOutlet weak var btn_isRead: UIButton!
    init(credential:ASAuthorizationAppleIDCredential? = nil,firstAccessToken:String?) {
    init(credential:ASAuthorizationAppleIDCredential? = nil,wechatInfoModel:WechatUserInfoModel? = nil,firstAccessToken:String?) {
        super.init(nibName: nil, bundle: nil)
        self.credential = credential
        self.wechatInfoModel = wechatInfoModel
        self.firstAccessToken = firstAccessToken
    }
    
@@ -91,24 +93,44 @@
        guard tf_code.text!.count == 6 else {
            alertError(msg: "请输入6位验证码");return
        }
        guard let credentialUser = credential?.user else {
            alertError(msg: "Apple登录授权异常");return
        var threePlantformLoginType:ThreePlantformLoginType!
        var formatName:String!
        var unionId:String!
        if credential != nil{
            threePlantformLoginType = .apple
            guard let credentialUser = credential?.user else {
                alertError(msg: "Apple登录授权异常");return
            }
            formatName = String(format: "%@%@%@", credential?.fullName?.familyName ?? "",credential?.fullName?.middleName ?? "", credential?.fullName?.middleName ?? "")
            unionId = credential!.user
        }
        let formatName = String(format: "%@%@%@", credential?.fullName?.familyName ?? "",credential?.fullName?.middleName ?? "", credential?.fullName?.middleName ?? "")
        if wechatInfoModel != nil{
            threePlantformLoginType = .wechat
            guard  !(wechatInfoModel?.openid.isEmpty ?? true) else {
                alertError(msg: "Apple登录授权异常");return
            }
            formatName = wechatInfoModel?.nickname ?? ""
            unionId = wechatInfoModel!.openid
        }
        Services.confirmByApple(cellPhone: tf_phone.text!, captcha: tf_code.text!, loginType: .apple, wxOrAppleId: credentialUser,name: formatName, mail: credential!.email).subscribe(onNext: {data in
        Services.confirmByApple(cellPhone: tf_phone.text!, captcha: tf_code.text!, loginType: threePlantformLoginType, wxOrAppleId: unionId,name: formatName, mail: credential!.email).subscribe(onNext: {data in
            if var model = data.data{
                model.loginByAppleToken = String(data: self.credential!.identityToken!, encoding: .utf8)
                model.accessToken = self.firstAccessToken ?? ""
                model.accessToken = model.accessToken
                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)
                        sceneDelegate?.loginSuccess()
                        NotificationCenter.default.post(name: LoginDismiss_Noti, object: nil, userInfo: nil)
                    }
                }).disposed(by: self.disposeBag)
            }