refactor: 移除 Google 登录相关代码以简化项目结构
主要变更: 1. 从 Podfile 中移除 GoogleSignIn 及相关依赖,减少项目依赖。 2. 从 AppDelegate 和相关文件中删除 Google 登录初始化及相关逻辑,清理未使用的代码。 3. 移除与 Google 登录相关的 Presenter 和 ViewController 中的代码,简化登录流程。 此更新旨在提升项目的可维护性,减少冗余依赖,确保代码结构更加清晰。
This commit is contained in:
25
Podfile
25
Podfile
@@ -6,8 +6,6 @@ target 'YuMi' do
|
||||
#pag动画
|
||||
pod 'libpag'
|
||||
pod 'Bugly'
|
||||
pod 'FBSDKLoginKit'
|
||||
pod 'FBSDKCoreKit'
|
||||
# 滑动标签栏
|
||||
pod 'JXCategoryView'
|
||||
pod 'JXPagingView/Pager'
|
||||
@@ -52,7 +50,6 @@ target 'YuMi' do
|
||||
pod 'NIMSDK_LITE', '~> 10.9.40'
|
||||
pod 'GKCycleScrollView'
|
||||
pod 'SVGAPlayer'
|
||||
pod 'GoogleSignIn'
|
||||
|
||||
pod 'ZLCollectionViewFlowLayout'
|
||||
pod 'TABAnimated'
|
||||
@@ -78,4 +75,26 @@ post_install do |installer|
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# 🔧 自动修复 SVGAPlayer 的 OSAtomic 导入问题
|
||||
# 原因: SVGAPlayer 2.5.7 的 Svga.pbobjc.m 使用旧版 protoc 生成,
|
||||
# 代码中使用了 OSAtomicCompareAndSwapPtrBarrier 但未导入头文件
|
||||
svga_pbobjc_path = 'Pods/SVGAPlayer/Source/pbobjc/Svga.pbobjc.m'
|
||||
if File.exist?(svga_pbobjc_path)
|
||||
text = File.read(svga_pbobjc_path)
|
||||
# 检查是否已经包含 OSAtomic 导入
|
||||
unless text.include?('#import <libkern/OSAtomic.h>')
|
||||
# 在 #endif 后的第一个空行位置插入导入语句
|
||||
new_text = text.sub(
|
||||
/(#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0\n#endif\n)/,
|
||||
"\\1\n#import <libkern/OSAtomic.h>\n"
|
||||
)
|
||||
File.write(svga_pbobjc_path, new_text)
|
||||
puts "✅ [自动修复] SVGAPlayer OSAtomic 导入问题已解决"
|
||||
else
|
||||
puts "✓ [检查通过] SVGAPlayer OSAtomic 导入已存在"
|
||||
end
|
||||
else
|
||||
puts "⚠️ [警告] 未找到 SVGAPlayer pbobjc 文件,跳过修复"
|
||||
end
|
||||
end
|
||||
|
64
Podfile.lock
64
Podfile.lock
@@ -14,48 +14,12 @@ PODS:
|
||||
- AFNetworking/Serialization (4.0.1)
|
||||
- AFNetworking/UIKit (4.0.1):
|
||||
- AFNetworking/NSURLSession
|
||||
- AppAuth (2.0.0):
|
||||
- AppAuth/Core (= 2.0.0)
|
||||
- AppAuth/ExternalUserAgent (= 2.0.0)
|
||||
- AppAuth/Core (2.0.0)
|
||||
- AppAuth/ExternalUserAgent (2.0.0):
|
||||
- AppAuth/Core
|
||||
- AppCheckCore (11.2.0):
|
||||
- GoogleUtilities/Environment (~> 8.0)
|
||||
- GoogleUtilities/UserDefaults (~> 8.0)
|
||||
- PromisesObjC (~> 2.4)
|
||||
- Base64 (1.1.2)
|
||||
- Bugly (2.6.1)
|
||||
- CocoaAsyncSocket (7.6.5)
|
||||
- FBAEMKit (18.0.1):
|
||||
- FBSDKCoreKit_Basics (= 18.0.1)
|
||||
- FBSDKCoreKit (18.0.1):
|
||||
- FBAEMKit (= 18.0.1)
|
||||
- FBSDKCoreKit_Basics (= 18.0.1)
|
||||
- FBSDKCoreKit_Basics (18.0.1)
|
||||
- FBSDKLoginKit (18.0.1):
|
||||
- FBSDKCoreKit (= 18.0.1)
|
||||
- FFPopup (1.1.5)
|
||||
- FLAnimatedImage (1.0.17)
|
||||
- GKCycleScrollView (1.2.3)
|
||||
- GoogleSignIn (9.0.0):
|
||||
- AppAuth (~> 2.0)
|
||||
- AppCheckCore (~> 11.0)
|
||||
- GTMAppAuth (~> 5.0)
|
||||
- GTMSessionFetcher/Core (~> 3.3)
|
||||
- GoogleUtilities/Environment (8.1.0):
|
||||
- GoogleUtilities/Privacy
|
||||
- GoogleUtilities/Logger (8.1.0):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/Privacy
|
||||
- GoogleUtilities/Privacy (8.1.0)
|
||||
- GoogleUtilities/UserDefaults (8.1.0):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Privacy
|
||||
- GTMAppAuth (5.0.0):
|
||||
- AppAuth/Core (~> 2.0)
|
||||
- GTMSessionFetcher/Core (< 4.0, >= 3.3)
|
||||
- GTMSessionFetcher/Core (3.5.0)
|
||||
- IQKeyboardManager (6.5.19)
|
||||
- JXCategoryView (1.6.8)
|
||||
- JXPagingView/Pager (2.1.3)
|
||||
@@ -71,7 +35,6 @@ PODS:
|
||||
- NIMSDK_LITE/NOS (10.9.53):
|
||||
- YXArtemis_XCFramework
|
||||
- pop (1.0.12)
|
||||
- PromisesObjC (2.4.0)
|
||||
- Protobuf (3.29.5)
|
||||
- QCloudCore (6.5.1):
|
||||
- QCloudCore/Default (= 6.5.1)
|
||||
@@ -131,12 +94,9 @@ DEPENDENCIES:
|
||||
- Base64
|
||||
- Bugly
|
||||
- CocoaAsyncSocket
|
||||
- FBSDKCoreKit
|
||||
- FBSDKLoginKit
|
||||
- FFPopup
|
||||
- FLAnimatedImage
|
||||
- GKCycleScrollView
|
||||
- GoogleSignIn
|
||||
- IQKeyboardManager
|
||||
- JXCategoryView
|
||||
- JXPagingView/Pager
|
||||
@@ -170,22 +130,12 @@ DEPENDENCIES:
|
||||
SPEC REPOS:
|
||||
https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git:
|
||||
- AFNetworking
|
||||
- AppAuth
|
||||
- AppCheckCore
|
||||
- Base64
|
||||
- Bugly
|
||||
- CocoaAsyncSocket
|
||||
- FBAEMKit
|
||||
- FBSDKCoreKit
|
||||
- FBSDKCoreKit_Basics
|
||||
- FBSDKLoginKit
|
||||
- FFPopup
|
||||
- FLAnimatedImage
|
||||
- GKCycleScrollView
|
||||
- GoogleSignIn
|
||||
- GoogleUtilities
|
||||
- GTMAppAuth
|
||||
- GTMSessionFetcher
|
||||
- IQKeyboardManager
|
||||
- JXCategoryView
|
||||
- JXPagingView
|
||||
@@ -197,7 +147,6 @@ SPEC REPOS:
|
||||
- MJRefresh
|
||||
- NIMSDK_LITE
|
||||
- pop
|
||||
- PromisesObjC
|
||||
- Protobuf
|
||||
- QCloudCore
|
||||
- QCloudCOSXML
|
||||
@@ -229,22 +178,12 @@ EXTERNAL SOURCES:
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
AFNetworking: 3bd23d814e976cd148d7d44c3ab78017b744cd58
|
||||
AppAuth: 1c1a8afa7e12f2ec3a294d9882dfa5ab7d3cb063
|
||||
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
|
||||
Base64: cecfb41a004124895a7bcee567a89bae5a89d49b
|
||||
Bugly: 217ac2ce5f0f2626d43dbaa4f70764c953a26a31
|
||||
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
||||
FBAEMKit: b2ed182002dbcb65d5a60059c9693d322186cd00
|
||||
FBSDKCoreKit: 7f96852f2539bdb88ba8d47e5ab4ae70a6f8d691
|
||||
FBSDKCoreKit_Basics: 22d4c1a509ded4e45116f3bb167a14907550f62e
|
||||
FBSDKLoginKit: f48c06446995cd209332831f692cea28b26e51da
|
||||
FFPopup: a208dcee8db3e54ec4a88fcd6481f6f5d85b7a83
|
||||
FLAnimatedImage: bbf914596368867157cc71b38a8ec834b3eeb32b
|
||||
GKCycleScrollView: 8ed79d2142e62895a701973358b6f94b661b4829
|
||||
GoogleSignIn: c7f09cfbc85a1abf69187be091997c317cc33b77
|
||||
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
|
||||
GTMAppAuth: 217a876b249c3c585a54fd6f73e6b58c4f5c4238
|
||||
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
|
||||
IQKeyboardManager: c8665b3396bd0b79402b4c573eac345a31c7d485
|
||||
JXCategoryView: 262d503acea0b1278c79a1c25b7332ffaef4d518
|
||||
JXPagingView: afdd2e9af09c90160dd232b970d603cc6e7ddd0e
|
||||
@@ -256,7 +195,6 @@ SPEC CHECKSUMS:
|
||||
MJRefresh: ff9e531227924c84ce459338414550a05d2aea78
|
||||
NIMSDK_LITE: 79bc52b8ad905e6c088053d8d29e7863fb9cdb98
|
||||
pop: d582054913807fd11fd50bfe6a539d91c7e1a55a
|
||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||
Protobuf: 164aea2ae380c3951abdc3e195220c01d17400e0
|
||||
QCloudCore: 6f8c67b96448472d2c6a92b9cfe1bdb5abbb1798
|
||||
QCloudCOSXML: 92f50a787b4e8d9a7cb6ea8e626775256b4840a7
|
||||
@@ -283,6 +221,6 @@ SPEC CHECKSUMS:
|
||||
YYWebImage: 5f7f36aee2ae293f016d418c7d6ba05c4863e928
|
||||
ZLCollectionViewFlowLayout: c99024652ce9f0c57d33ab53052c9b85e4a936b7
|
||||
|
||||
PODFILE CHECKSUM: 4ae0a76c5f1e815186f5f38306131c4d372fa23d
|
||||
PODFILE CHECKSUM: 3ef6e2b784d16a5b9d2c5cdd03f8bbf3ed3483ce
|
||||
|
||||
COCOAPODS: 1.16.2
|
||||
|
@@ -13594,10 +13594,6 @@
|
||||
"\"AVKit\"",
|
||||
"-framework",
|
||||
"\"Accelerate\"",
|
||||
"\"-framework\"",
|
||||
"\"AppAuth\"",
|
||||
"-framework",
|
||||
"\"AppleAccountConnector\"",
|
||||
"-framework",
|
||||
"\"AssetsLibrary\"",
|
||||
"-framework",
|
||||
@@ -13627,16 +13623,6 @@
|
||||
"-framework",
|
||||
"\"CoreText\"",
|
||||
"-framework",
|
||||
"\"FBAEMKit\"",
|
||||
"-framework",
|
||||
"\"FBSDKCoreKit\"",
|
||||
"-framework",
|
||||
"\"FBSDKCoreKit_Basics\"",
|
||||
"-framework",
|
||||
"\"FBSDKLoginKit\"",
|
||||
"-framework",
|
||||
"\"FBSDKShareKit\"",
|
||||
"-framework",
|
||||
"\"FFPopup\"",
|
||||
"-framework",
|
||||
"\"FLAnimatedImage\"",
|
||||
@@ -13645,12 +13631,6 @@
|
||||
"-framework",
|
||||
"\"GKCycleScrollView\"",
|
||||
"-framework",
|
||||
"\"GTMAppAuth\"",
|
||||
"-framework",
|
||||
"\"GTMSessionFetcher\"",
|
||||
"-framework",
|
||||
"\"GoogleSignIn\"",
|
||||
"-framework",
|
||||
"\"IQKeyboardManager\"",
|
||||
"-framework",
|
||||
"\"ImageIO\"",
|
||||
@@ -13669,8 +13649,6 @@
|
||||
"-framework",
|
||||
"\"MJRefresh\"",
|
||||
"-framework",
|
||||
"\"MOBFoundation\"",
|
||||
"-framework",
|
||||
"\"MarqueeLabel\"",
|
||||
"-framework",
|
||||
"\"Masonry\"",
|
||||
@@ -13701,8 +13679,6 @@
|
||||
"-framework",
|
||||
"\"QGVAPlayer\"",
|
||||
"-framework",
|
||||
"\"QimeiSDK\"",
|
||||
"-framework",
|
||||
"\"QuartzCore\"",
|
||||
"-framework",
|
||||
"\"ReactiveObjC\"",
|
||||
@@ -13727,12 +13703,6 @@
|
||||
"-framework",
|
||||
"\"Security\"",
|
||||
"-framework",
|
||||
"\"ShareSDK\"",
|
||||
"-framework",
|
||||
"\"ShareSDKConnector\"",
|
||||
"-framework",
|
||||
"\"ShareSDKExtension\"",
|
||||
"-framework",
|
||||
"\"StoreKit\"",
|
||||
"-framework",
|
||||
"\"SystemConfiguration\"",
|
||||
@@ -13834,10 +13804,6 @@
|
||||
"\"AVKit\"",
|
||||
"-framework",
|
||||
"\"Accelerate\"",
|
||||
"\"-framework\"",
|
||||
"\"AppAuth\"",
|
||||
"-framework",
|
||||
"\"AppleAccountConnector\"",
|
||||
"-framework",
|
||||
"\"AssetsLibrary\"",
|
||||
"-framework",
|
||||
@@ -13867,16 +13833,6 @@
|
||||
"-framework",
|
||||
"\"CoreText\"",
|
||||
"-framework",
|
||||
"\"FBAEMKit\"",
|
||||
"-framework",
|
||||
"\"FBSDKCoreKit\"",
|
||||
"-framework",
|
||||
"\"FBSDKCoreKit_Basics\"",
|
||||
"-framework",
|
||||
"\"FBSDKLoginKit\"",
|
||||
"-framework",
|
||||
"\"FBSDKShareKit\"",
|
||||
"-framework",
|
||||
"\"FFPopup\"",
|
||||
"-framework",
|
||||
"\"FLAnimatedImage\"",
|
||||
@@ -13885,12 +13841,6 @@
|
||||
"-framework",
|
||||
"\"GKCycleScrollView\"",
|
||||
"-framework",
|
||||
"\"GTMAppAuth\"",
|
||||
"-framework",
|
||||
"\"GTMSessionFetcher\"",
|
||||
"-framework",
|
||||
"\"GoogleSignIn\"",
|
||||
"-framework",
|
||||
"\"IQKeyboardManager\"",
|
||||
"-framework",
|
||||
"\"ImageIO\"",
|
||||
@@ -13909,8 +13859,6 @@
|
||||
"-framework",
|
||||
"\"MJRefresh\"",
|
||||
"-framework",
|
||||
"\"MOBFoundation\"",
|
||||
"-framework",
|
||||
"\"MarqueeLabel\"",
|
||||
"-framework",
|
||||
"\"Masonry\"",
|
||||
@@ -13941,8 +13889,6 @@
|
||||
"-framework",
|
||||
"\"QGVAPlayer\"",
|
||||
"-framework",
|
||||
"\"QimeiSDK\"",
|
||||
"-framework",
|
||||
"\"QuartzCore\"",
|
||||
"-framework",
|
||||
"\"ReactiveObjC\"",
|
||||
@@ -13967,12 +13913,6 @@
|
||||
"-framework",
|
||||
"\"Security\"",
|
||||
"-framework",
|
||||
"\"ShareSDK\"",
|
||||
"-framework",
|
||||
"\"ShareSDKConnector\"",
|
||||
"-framework",
|
||||
"\"ShareSDKExtension\"",
|
||||
"-framework",
|
||||
"\"StoreKit\"",
|
||||
"-framework",
|
||||
"\"SystemConfiguration\"",
|
||||
|
@@ -13,8 +13,6 @@
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
#import <AppTrackingTransparency/AppTrackingTransparency.h>
|
||||
#import "ClientConfig.h"
|
||||
#import <GoogleSignIn/GoogleSignIn.h>
|
||||
#import <GoogleSignIn/GoogleSignIn.h>
|
||||
#import "LoginViewController.h"
|
||||
#import "AccountModel.h"
|
||||
#import "YuMi-swift.h"
|
||||
@@ -86,30 +84,6 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
|
||||
// MARK: - Helper Methods
|
||||
|
||||
/// 获取 keyWindow(iOS 13+ 兼容)
|
||||
- (UIWindow *)getKeyWindow {
|
||||
// iOS 13+ 使用 connectedScenes 获取 window
|
||||
if (@available(iOS 13.0, *)) {
|
||||
for (UIWindowScene *scene in [UIApplication sharedApplication].connectedScenes) {
|
||||
if (scene.activationState == UISceneActivationStateForegroundActive) {
|
||||
for (UIWindow *window in scene.windows) {
|
||||
if (window.isKeyWindow) {
|
||||
return window;
|
||||
}
|
||||
}
|
||||
// 如果没有 keyWindow,返回第一个 window
|
||||
return scene.windows.firstObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// iOS 13 以下,使用旧方法(已废弃但仍然可用)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
return [UIApplication sharedApplication].keyWindow;
|
||||
#pragma clang diagnostic pop
|
||||
}
|
||||
|
||||
- (void)initUM:(UIApplication *)application
|
||||
launchOptions:(NSDictionary *)launchOptions {
|
||||
// MobLink 已移除
|
||||
@@ -135,7 +109,7 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
|
||||
/// 检查并显示专属颜色引导页
|
||||
- (void)checkAndShowSignatureColorGuide {
|
||||
UIWindow *keyWindow = [self getKeyWindow];
|
||||
UIWindow *keyWindow = kWindow;
|
||||
if (!keyWindow) return;
|
||||
|
||||
BOOL hasSignatureColor = [EPEmotionColorStorage hasUserSignatureColor];
|
||||
@@ -195,7 +169,7 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
EPTabBarController *epTabBar = [EPTabBarController create];
|
||||
[epTabBar refreshTabBarWithIsLogin:YES];
|
||||
|
||||
UIWindow *window = [self getKeyWindow];
|
||||
UIWindow *window = kWindow;
|
||||
if (window) {
|
||||
window.rootViewController = epTabBar;
|
||||
[window makeKeyAndVisible];
|
||||
@@ -282,8 +256,7 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
///URL Scheme跳转
|
||||
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
|
||||
[[SocialShareManager sharedManager] handleURL:url];
|
||||
|
||||
return [GIDSignIn.sharedInstance handleURL:url];
|
||||
return YES;
|
||||
}
|
||||
|
||||
//- (void)__oldApplicationOpenURLMethod:(NSURL *)url {
|
||||
|
@@ -88,6 +88,8 @@ import UIKit
|
||||
// MARK: - Helper Methods
|
||||
|
||||
/// 获取 keyWindow(iOS 13+ 兼容)
|
||||
/// - Note: Swift 实现,与 YUMIMacroUitls.h 的 kWindow 宏逻辑保持一致
|
||||
/// ObjC 代码应直接使用 kWindow 宏,避免重复
|
||||
private static func getKeyWindow() -> UIWindow? {
|
||||
if #available(iOS 13.0, *) {
|
||||
for windowScene in UIApplication.shared.connectedScenes {
|
||||
@@ -98,12 +100,10 @@ import UIKit
|
||||
return window
|
||||
}
|
||||
}
|
||||
// 如果没有 keyWindow,返回第一个 window
|
||||
return windowScene.windows.first
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// iOS 13 以下,使用旧方法(已废弃但仍然可用)
|
||||
return UIApplication.shared.keyWindow
|
||||
}
|
||||
return nil
|
||||
|
@@ -49,7 +49,10 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
#define kWeakify(o) try{}@finally{} __weak typeof(o) o##Weak = o;
|
||||
#define kStrongify(o) autoreleasepool{} __strong typeof(o) o = o##Weak;
|
||||
|
||||
// 兼容 iOS 13+ 的 keyWindow 获取
|
||||
/// 兼容 iOS 13+ 的 keyWindow 获取
|
||||
/// 使用此宏统一获取 keyWindow,避免在各处重复实现
|
||||
/// 自动处理 iOS 13+ 的 UIWindowScene 和旧版本的兼容性
|
||||
/// Swift 代码请使用 EPLoginManager.getKeyWindow() 等效方法
|
||||
#define kWindow ({\
|
||||
UIWindow *window = nil;\
|
||||
if (@available(iOS 13.0, *)) {\
|
||||
|
@@ -94,7 +94,7 @@
|
||||
|
||||
// 设置为根控制器(不需要 NavigationController 包装)
|
||||
|
||||
[self getKeyWindow].rootViewController = newTabBar;
|
||||
kWindow.rootViewController = newTabBar;
|
||||
|
||||
// 登录成功并进入主页后,启动首充监控
|
||||
[[FirstRechargeManager sharedManager] startMonitoring];
|
||||
@@ -120,30 +120,4 @@
|
||||
*/
|
||||
}
|
||||
|
||||
#pragma mark - Helper Methods
|
||||
|
||||
/// 获取 keyWindow(iOS 13+ 兼容)
|
||||
+ (UIWindow *)getKeyWindow {
|
||||
// iOS 13+ 使用 connectedScenes 获取 window
|
||||
if (@available(iOS 13.0, *)) {
|
||||
for (UIWindowScene *scene in [UIApplication sharedApplication].connectedScenes) {
|
||||
if (scene.activationState == UISceneActivationStateForegroundActive) {
|
||||
for (UIWindow *window in scene.windows) {
|
||||
if (window.isKeyWindow) {
|
||||
return window;
|
||||
}
|
||||
}
|
||||
// 如果没有 keyWindow,返回第一个 window
|
||||
return scene.windows.firstObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// iOS 13 以下,使用旧方法(已废弃但仍然可用)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
return [UIApplication sharedApplication].keyWindow;
|
||||
#pragma clang diagnostic pop
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -7,9 +7,6 @@
|
||||
|
||||
#import "BaseMvpPresenter.h"
|
||||
#import "YUMINNNN.h"
|
||||
#import <GoogleSignIn/GoogleSignIn.h>
|
||||
#import <GoogleSignIn/GIDGoogleUser.h>
|
||||
#import <GoogleSignIn/GoogleSignIn-umbrella.h>
|
||||
|
||||
@class FeedBackConfigModel;
|
||||
|
||||
@@ -19,18 +16,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
- (void)phoneQuickLogin:(NSString *)accessToken token:(NSString*) token;
|
||||
|
||||
|
||||
/// 第三方登录
|
||||
/// @param type 登录的类型
|
||||
- (void)thirdLoginWithType:(ThirdLoginType)type;
|
||||
|
||||
///第三方登录,谷歌登录
|
||||
-(void)thirdLoginByGoogleWithPresentingViewController:(UIViewController *)presentingViewController configuration:(GIDConfiguration *)configuration;
|
||||
///第三方登录,fb登录
|
||||
-(void)thirdLoginByFBWithPresentingViewController:(UIViewController *)presentingViewController;
|
||||
///第三方登录,line登录
|
||||
-(void)thirdLoginByLine:(UIViewController *)presentingViewController;
|
||||
|
||||
/// 获取手机的验证码
|
||||
/// @param phone 手机号
|
||||
/// @param type 类型
|
||||
|
@@ -85,68 +85,6 @@ static NSString *clinet_s = @"uyzjdhds";
|
||||
|
||||
|
||||
}
|
||||
-(void)thirdLoginByLine:(UIViewController *)presentingViewController {
|
||||
|
||||
}
|
||||
-(void)thirdLoginByFBWithPresentingViewController:(UIViewController *)presentingViewController {
|
||||
|
||||
}
|
||||
-(void)thirdLoginByGoogleWithPresentingViewController:(UIViewController *)presentingViewController configuration:(GIDConfiguration *)configuration{
|
||||
@kWeakify(self);
|
||||
[GIDSignIn sharedInstance].configuration = configuration;
|
||||
[GIDSignIn.sharedInstance signInWithPresentingViewController:presentingViewController
|
||||
completion:^(GIDSignInResult * _Nullable signInResult, NSError * _Nullable error) {
|
||||
@kStrongify(self);
|
||||
if (error) {
|
||||
if (error.code == kGIDSignInErrorCodeCanceled){
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter0")];
|
||||
}else{
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter1")];
|
||||
}
|
||||
} else {
|
||||
ThirdUserInfo * userInfo = [[ThirdUserInfo alloc] init];
|
||||
NSString * openid = signInResult.user.userID;
|
||||
NSString * access_token = signInResult.user.idToken.tokenString.length > 0 ? signInResult.user.idToken.tokenString : @"";
|
||||
NSString * unionid = signInResult.user.userID;
|
||||
userInfo.userName = signInResult.user.profile.name;
|
||||
userInfo.avatarUrl = [[signInResult.user.profile imageURLWithDimension:60] absoluteString];
|
||||
userInfo.openid = openid;
|
||||
userInfo.access_token = access_token;
|
||||
userInfo.unionid = unionid;
|
||||
///保存一下第三方的值
|
||||
[AccountInfoStorage instance].thirdUserInfo = userInfo;
|
||||
[self loginWithThirdGoogle];
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
-(void)loginWithThirdGoogle{
|
||||
[XNDJTDDLoadingTool showOnlyView:kWindow];
|
||||
NSString * openid = [AccountInfoStorage instance].thirdUserInfo.openid;
|
||||
NSString * access_token = [AccountInfoStorage instance].thirdUserInfo.access_token;
|
||||
NSString * unionid = [AccountInfoStorage instance].thirdUserInfo.unionid;
|
||||
@kWeakify(self);
|
||||
[Api loginWithThirdPart:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
@kStrongify(self);
|
||||
[XNDJTDDLoadingTool hideOnlyView:kWindow];
|
||||
AccountModel * model = [AccountModel modelWithDictionary:data.data];
|
||||
if (model != nil) {
|
||||
[[AccountInfoStorage instance] saveAccountInfo:model];
|
||||
[[self getView] loginThirdPartSuccess];
|
||||
}
|
||||
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
[XNDJTDDLoadingTool hideOnlyView:kWindow];
|
||||
if (msg.length == 0) {
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter1")];
|
||||
}
|
||||
} showLoading:YES errorToast:YES]
|
||||
openid:openid
|
||||
unionid:unionid
|
||||
access_token:access_token
|
||||
type:[NSString stringWithFormat:@"%lu", (unsigned long)ThirdLoginType_Gmail]];
|
||||
}
|
||||
|
||||
/// 获取手机的验证码
|
||||
/// @param phone 手机号
|
||||
/// @param type 类型
|
||||
|
@@ -20,9 +20,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
||||
|
||||
typedef NS_ENUM(NSUInteger, LoginType) {
|
||||
LoginType_ID = 101,
|
||||
LoginType_Email = 102,
|
||||
LoginType_Google = 103,
|
||||
LoginType_Apple = 104
|
||||
LoginType_Email = 102
|
||||
};
|
||||
|
||||
@interface LoginViewController () <LoginProtocol>
|
||||
@@ -33,9 +31,6 @@ typedef NS_ENUM(NSUInteger, LoginType) {
|
||||
@property(nonatomic, strong) YYLabel *policyLabel;
|
||||
@property(nonatomic, strong) UIView *policyTips;
|
||||
|
||||
///谷歌登录配置
|
||||
@property (nonatomic,strong) GIDConfiguration *configuration;
|
||||
|
||||
@end
|
||||
|
||||
@implementation LoginViewController
|
||||
@@ -163,8 +158,6 @@ typedef NS_ENUM(NSUInteger, LoginType) {
|
||||
UIStackView *stackView = [[UIStackView alloc] initWithArrangedSubviews:@[
|
||||
idBUtton,
|
||||
[self entrcyButton:LoginType_Email tapSelector:@selector(didTapEntrcyButton:)],
|
||||
[self entrcyButton:LoginType_Google tapSelector:@selector(didTapEntrcyButton:)],
|
||||
[self entrcyButton:LoginType_Apple tapSelector:@selector(didTapEntrcyButton:)],
|
||||
]];
|
||||
stackView.axis = UILayoutConstraintAxisVertical;
|
||||
stackView.distribution = UIStackViewDistributionFillEqually;
|
||||
@@ -204,16 +197,6 @@ typedef NS_ENUM(NSUInteger, LoginType) {
|
||||
[icon setImage:kImage(@"login_page_mail")];
|
||||
}
|
||||
break;
|
||||
case LoginType_Google:{
|
||||
[button setTitle:YMLocalizedString(@"XPLoginViewController13") forState:UIControlStateNormal];
|
||||
[icon setImage:kImage(@"login_gmail")];
|
||||
}
|
||||
break;
|
||||
case LoginType_Apple:{
|
||||
[button setTitle:YMLocalizedString(@"XPLoginViewController12") forState:UIControlStateNormal];
|
||||
[icon setImage:kImage(@"mine_noble_center_apple")];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -258,29 +241,20 @@ typedef NS_ENUM(NSUInteger, LoginType) {
|
||||
return;
|
||||
}
|
||||
|
||||
LoginTypesViewController *vc = [[LoginTypesViewController alloc] init];
|
||||
|
||||
switch (sender.tag) {
|
||||
case LoginType_ID:{
|
||||
LoginTypesViewController *vc = [[LoginTypesViewController alloc] init];
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
case LoginType_ID:
|
||||
[vc updateLoginType:LoginDisplayType_id];
|
||||
}
|
||||
break;
|
||||
case LoginType_Email: {
|
||||
LoginTypesViewController *vc = [[LoginTypesViewController alloc] init];
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
case LoginType_Email:
|
||||
[vc updateLoginType:LoginDisplayType_email];
|
||||
}
|
||||
break;
|
||||
case LoginType_Google:
|
||||
[self.presenter thirdLoginByGoogleWithPresentingViewController:self
|
||||
configuration:self.configuration];
|
||||
break;
|
||||
case LoginType_Apple:
|
||||
[self.presenter thirdLoginWithType:ThirdLoginType_Apple];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
|
||||
- (void)didTapFeedback {
|
||||
@@ -412,18 +386,6 @@ typedef NS_ENUM(NSUInteger, LoginType) {
|
||||
return _policyTips;
|
||||
}
|
||||
|
||||
- (GIDConfiguration *)configuration{
|
||||
if (!_configuration){
|
||||
static dispatch_once_t onceToken;
|
||||
static NSString *decryptedNumber;
|
||||
dispatch_once(&onceToken, ^{
|
||||
decryptedNumber = [AESUtils aesDecrypt:@"ScLBu7ctIiyGCKPro3Jj6XMdsdCCpNT9L4wyjHEF+bguqubkXNSayFBGMKmoDwe1hjfAc958XSaBdMyEaFXLO38Bwq3xURYVNpgEM4b14zg="];
|
||||
});
|
||||
_configuration = [[GIDConfiguration alloc] initWithClientID:decryptedNumber];
|
||||
}
|
||||
return _configuration;
|
||||
}
|
||||
|
||||
- (UIImageView *)logoImageView {
|
||||
if (!_logoImageView) {
|
||||
_logoImageView = [[UIImageView alloc] initWithImage:kImage(@"login_page_logo")];
|
||||
|
Reference in New Issue
Block a user