// // GeTuiServiceTool+QuickAuthorize.m // TreeHole // // Created by iOS on 2023/2/3. // Copyright © 2023 CYH. All rights reserved. // #import "GeTuiServiceTool+QuickAuthorize.h" #import //#import //#if IS_DEBUG //#define GeTuiQuickAuthorizeAppID @"poCj93sZUa8gmaiuBm9hO3" //#define GETUI_APPKEY @"DiO4uhHEiI6st78cJyuLs6" //#define GETUI_APPSECRET @"iFksMbXAyI9hzvd3nVuCk4" //#else //#define GeTuiQuickAuthorizeAppID @"poCj93sZUa8gmaiuBm9hO3" //#define GETUI_APPKEY @"DiO4uhHEiI6st78cJyuLs6" //#define GETUI_APPSECRET @"iFksMbXAyI9hzvd3nVuCk4" //#endif #define GeTuiQuickAuthorizeAppID @"poCj93sZUa8gmaiuBm9hO3" @implementation GeTuiServiceTool (QuickAuthorize) //- (instancetype)initWithServiceAppId:(NSString *)appId { // if (self = [super init]) { // // } // return self; //} ///初始化 + (void)GT_QuickAuthorizeLoginSetupService:(void(^)(BOOL isSuccess, NSError * _Nullable error, NSString * _Nullable gyUid))complete { // __block NSInteger index = 0;//计数,3次 [GeYanSdk startWithAppId:GeTuiQuickAuthorizeAppID withTimeout:10 withCallback:^(BOOL isSuccess, NSError * _Nullable error, NSString * _Nullable gyUid) { if (isSuccess) {//初始化成功 //设置超时时间,默认10秒 [GeYanSdk setEloginTimeout:7]; complete(YES, error, gyUid); return; } //初始化不成功 // index++; // if (index < 3) { // [self GT_QuickAuthorizeLoginSetupService:complete]; // return; // } ///不成功 complete(NO, error, gyUid); }]; } ///预登录, 很耗时,越早调用越好(启动时调用) + (void)GT_QuickAuthorizePreLoginGetToken:(void(^)(BOOL isSuccess, NSDictionary *tokenDic))complete { [GeYanSdk preGetToken:^(NSDictionary * _Nullable verifyDictionary) { if ([verifyDictionary.allKeys containsObject:@"code"]) { NSNumber *code = verifyDictionary[@"code"]; if (code.intValue == 30000) { /*成功 verifyDictionary: { code = 30000; //30000:操作成功, 其他错误码需参考《状态码汇总》 expiredTime = 120; //结果有效时长,秒 number = "152****0533"; //当前设备的手机号,带掩码 operatorType = 1; //0:未知 1:移动 2:联通 3:电信 msg = "操作成功"; gyuid = "gtc_dbf8471ad1ef4681bf9928a446784aa535"; processID = d3729d0402e358bfaabdb59670ee9143; } */ complete(YES, verifyDictionary); return; } } /*失败 verifyDictionary: { code = 30005; errorCode = "-40001"; metadata = { //运营商错误信息 desc = "无网络"; resultCode = 200022; traceId = c542db408fe3438028b644d451d479d3; }; operatorType = 1; msg = "运营商返回失败"; gyuid = gtc_dbf8471ad1ef4681bf9928a446784aa535; processID = f676bc541499282fda1f795d390c5f5c; } */ complete(NO, verifyDictionary); }]; } ///一键登录预取号拿到的token是否还在有效期 + (BOOL)isPreGettedTokenValidate { return [GeYanSdk isPreGettedTokenValidate]; } ///登录 - (void)GT_QuickLoginWithGyuid:(NSString *)gyuid preLoginToken:(NSString *)preToken { //1.(用gyuid+Token+idfa)发请求给后端去登录 - @"login" //2.判断用户之前是否注册过,新用户->跳设置资料页面;老用户直接登录IM进入首页 } @end