无故事王国
2023-10-18 e86e19e5e5909f46e09adec1df430e0214a81590
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
//
//  SceneDelegate.swift
//  WanPai
//
//  Created by 杨锴 on 2023/6/6.
//
 
import UIKit
import SVProgressHUD
import JQTools
 
class SceneDelegate: UIResponder, UIWindowSceneDelegate,WXApiDelegate {
    
    var window: UIWindow?
    
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }
        window = UIWindow(windowScene: windowScene)
        window?.frame = windowScene.coordinateSpace.bounds
 
 
        if UserViewModel.getToken() != nil{
            app.registerAndLoginSuccess()
        }else{
            let loginNav = LoginNav(rootViewController: LoginVC())
            window?.rootViewController = loginNav
            window?.makeKeyAndVisible()
        }
 
        SVProgressHUD.setContainerView(window)
        SVProgressHUD.setDefaultStyle(.dark)
        SVProgressHUD.setDefaultMaskType(.gradient) //禁止交互
        SVProgressHUD.setMinimumDismissTimeInterval(1.5)
        SVProgressHUD.setMaximumDismissTimeInterval(30.0)
        
        if #available(iOS 13.0, *) {
            window?.overrideUserInterfaceStyle = .light
        }
        
    }
 
    func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
        print("---->4")
        YYPaymentManager.shared.handleApplication(userActivity)
    }
 
    func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
        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.wxLogin(openId: u.openid, nickname: u.nickname, headimgurl: u.headimgurl, sex: u.sex).subscribe(onNext: { data in
                                    if let m = data.data{
                                        if m.isBind == 0{
                                            let vc = BindPhoneVC(wxUserInfoModel: u,token: m.token)
                                            JQ_currentViewController().jq_push(vc: vc)
                                        }else{
                                            UserViewModel.saveToken(m.token)
                                            app.registerAndLoginSuccess()
                                        }
                                    }
                                }) { error in
                                    alertError(msg: error.localizedDescription)
                                }.disposed(by: JQ_disposeBag)
                            }else{
                                alertError(msg: "获取信息失败")
                            }
                        }
                    }
                }
            }
        }
 
        if ((URLContexts.first?.url.absoluteString.contains("weparklife://safepay")) != nil){
            let url = URLContexts.first!.url
            YYPaymentManager.shared.handleApplication(UIApplication.shared, open: url, options: [:])
        }
 
        if URLContexts.first!.url.host == "resendContextReqByScheme"{
            WXApi.handleOpen(URLContexts.first!.url, delegate: YYPaymentManager.shared)
        }
    }
 
    func sceneDidDisconnect(_ scene: UIScene) {
        
    }
    
    func sceneDidBecomeActive(_ scene: UIScene) {
 
    }
    
    func sceneWillResignActive(_ scene: UIScene) {
        
    }
    
    func sceneWillEnterForeground(_ scene: UIScene) {
        
    }
    
    func sceneDidEnterBackground(_ scene: UIScene) {
        
    }
}