From e821bea13d9f20905bba3972c4e9c4964994db5d Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期四, 24 十月 2024 21:04:22 +0800
Subject: [PATCH] fix API TEST

---
 XQMuse/SceneDelegate.swift |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 insertions(+), 1 deletions(-)

diff --git a/XQMuse/SceneDelegate.swift b/XQMuse/SceneDelegate.swift
index ade4cca..c5019cb 100644
--- a/XQMuse/SceneDelegate.swift
+++ b/XQMuse/SceneDelegate.swift
@@ -10,7 +10,7 @@
 import JQTools
 import AuthenticationServices
 
-class SceneDelegate: UIResponder, UIWindowSceneDelegate {
+class SceneDelegate: UIResponder, UIWindowSceneDelegate, WXApiDelegate{
 
 				var window: UIWindow?
 
@@ -71,6 +71,44 @@
 								
 				}
 
+    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)
+
+                                        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: "获取信息失败")
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
+        WXApi.handleOpenUniversalLink(userActivity, delegate: self)
+    }
+
 				func sceneDidDisconnect(_ scene: UIScene) {
 								// Called as the scene is being released by the system.
 								// This occurs shortly after the scene enters the background, or when its session is discarded.
@@ -99,6 +137,13 @@
 								// to restore the scene back to its current state.
 				}
 
+    func onReq(_ req: BaseReq) {
+
+    }
+
+    func onResp(_ resp: BaseResp) {
+
+    }
 
 }
 

--
Gitblit v1.7.1