杨锴
2024-10-31 2004d0578480d12cd69c4d42d414ffd11828d0f1
XQMuse/SceneDelegate.swift
@@ -84,35 +84,42 @@
    func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
        if URLContexts.first?.url.scheme == WeChatAPPID,let code = URLContexts.first?.url.jq_params?["code"]{
            DispatchQueue.main.async {
                hiddenHUD()
                let resp = SendAuthResp()
                resp.code = code
                WeChatTools.getAccessToken(resp) { model in
                    if let m = model{
                        WeChatTools.getUserInfo(access_token: m.access_token, openId: m.openid) { userInfoModel in
                            if let u = userInfoModel{
                                Services.loginByWechat(headImgUrl: u.headimgurl, nickname: u.nickname, sex: u.sex, wxOpenId: u.openid).subscribe(onNext: {data in
                                    if let model = data.data{
                                        sceneDelegate?.loginSuccess()
                                        JQ_currentViewController().dismiss(animated:true)
                                        UserViewModel.saveLoginInfo(model)
        if URLContexts.first?.url.scheme == WeChatAPPID{
                                        Services.getUserInfo().subscribe(onNext: {data in
                                            if let model = data.data{
                                                UserViewModel.saveAvatarInfo(model)
                                            }
                                        }).disposed(by: JQ_disposeBag)
                                    }
                                }).disposed(by: JQ_disposeBag)
                            }else{
                                alertError(msg: "获取信息失败")
            if let code = URLContexts.first?.url.jq_params?["code"]{
                DispatchQueue.main.async {
                    hiddenHUD()
                    let resp = SendAuthResp()
                    resp.code = code
                    WeChatTools.getAccessToken(resp) { model in
                        if let m = model{
                            WeChatTools.getUserInfo(access_token: m.access_token, openId: m.openid) { userInfoModel in
                                if let u = userInfoModel{
                                    Services.loginByWechat(headImgUrl: u.headimgurl, nickname: u.nickname, sex: u.sex, wxOpenId: u.openid).subscribe(onNext: {data in
                                        if let model = data.data{
                                            sceneDelegate?.loginSuccess()
                                            JQ_currentViewController().dismiss(animated:true)
                                            UserViewModel.saveLoginInfo(model)
                                            Services.getUserInfo().subscribe(onNext: {data in
                                                if let model = data.data{
                                                    UserViewModel.saveAvatarInfo(model)
                                                }
                                            }).disposed(by: JQ_disposeBag)
                                        }
                                    }).disposed(by: JQ_disposeBag)
                                }else{
                                    alertError(msg: "获取信息失败")
                                }
                            }
                        }
                    }
                }
            }else{
                WXApi.handleOpen(URLContexts.first!.url, delegate: self)
            }
        }
    }