jiGuangXieZuo/ProductApp/Pods/GYSDK/GeYanSdk.framework/Headers/GeYanSdk.h

234 lines
7.4 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// GySdk.h
// GySdkLib
//
// Created by ak on 2017/4/21.
// Copyright © 2017年 getui. All rights reserved.
//
// GySdk-Version: 3.0.5.0
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
/// 运营商
typedef NS_ENUM(NSInteger, GyOperatorType) {
GyOperatorTypeUNKNOW = 0,
GyOperatorTypeCM = 1, //移动
GyOperatorTypeCU = 2, //联通
GyOperatorTypeCT = 3, //电信
};
#if __has_include(<GeYanSdk/GeYanSdk.h>)
#import <GeYanSdk/GyCheckModel.h>
#import <GeYanSdk/GyAuthViewModel.h>
#import <GeYanSdk/GyAuthPrivacyItem.h>
#import <GeYanSdk/GyOneLoginPro.h>
#else
#import "GyCheckModel.h"
#import "GyAuthViewModel.h"
#import "GyAuthPrivacyItem.h"
#import "GyOneLoginPro.h"
#endif
/// 注册接口回调
/// @param isSuccess 成功标志位
/// @param error 错误信息
typedef void (^GyCallback)(BOOL isSuccess, NSError *_Nullable error, NSString *_Nullable gyUid);
/// 验证接口回调
/// @param verifyDictionary 返回调用结果信息
typedef void (^GyVerifyCallback)(NSDictionary *_Nullable verifyDictionary);
@interface GeYanSdk : NSObject
//MARK: -
/// 初始化个验SDK
/// @param appId 您申请的APPID
/// @param callback 初始化结果回调
+ (void)startWithAppId:(NSString *_Nonnull)appId withCallback:(GyCallback _Nonnull)callback;
/// 预登录超时时间, 对[GeYanSdk preGetToken:]方法的超时设置
/// @param timeout 默认10s
/// SDK-3.0.0.0+
+ (void)setPreLoginTimeout:(NSTimeInterval)timeout;
/// 一键登录超时时间, 对[GeYanSdk oneTapLogin:...]方法的超时设置
/// @param timeout 默认10s
/// SDK-3.0.0.0+
+ (void)setEloginTimeout:(NSTimeInterval)timeout;
//MARK: - 预取号
/// 手动预登录
/// 向运营商发起预登录请求
/// @param callback 预登录结果回调
+ (void)preGetToken:(GyVerifyCallback _Nonnull)callback;
/// 预取号缓存是否有效
/// YES - 还在有效期,可直接调用一键登录
/// NO - 已失效,需重新预取号
/// 预取号有效期电信1小时 、联通半小时、移动2分钟
+ (BOOL)isPreGettedTokenValidate;
/// 删除预取号缓存
+ (void)deletePreResultCache;
//MARK: - 一键登录3.0
/// 一键登录
/// @param controller 当前viewController
/// @param model GYAuthViewModel
/// @param contentView 内容视图
/// @param subViewList contentView的子视图列表 @[pnLabel, sloganLabel, loginBtn, checkboxBtn, termLabel];
/// @param loginBlock 登录结果回调
/// SDK-3.0.0.0+
+ (void)oneTapLogin:(UIViewController *_Nonnull)controller
viewModel:(GyAuthViewModel *_Nonnull)model
contentView:(UIView *_Nonnull)contentView
subViewList:(NSArray *_Nonnull)subViewList
loginBlock:(GyVerifyCallback __nullable)loginBlock;
//MARK: - 一键登录2.0
/// 一键登录
/// @param controller 当前viewController
/// @param model GYAuthViewModel
/// @param callback 通用接口回调
/// {
/// code = 30000;
/// expiredTime = 600;
/// msg = "操作成功";
/// number = "180****7372";
/// operatorType = 3;
/// processID = ff1ec6ed0e9378ee6944e0ad8f5c5cc7;
/// token = "bm01M2EyZDUyMmUzNjI0OWMyYTM1OGI3MDc1Y2NhMTI5OHw1NzIxfDN8djJ8M1==";
/// }
+ (void)oneTapLogin:(UIViewController *_Nonnull)controller withViewModel:(GyAuthViewModel *_Nonnull)model andCallback:(GyVerifyCallback _Nonnull)callback;
/// 关闭登录界面
/// @param animated 是否动画
/// @param completion 完成回调
+ (void)closeAuthVC:(BOOL)animated completion:(void (^ __nullable)(void))completion;
/// 关闭 登录界面, animated=YES
/// @param completion 完成回调
+ (void)closeAuthVC:(void (^ __nullable)(void))completion;
/// 停止点击授权页面登录按钮之后的加载进度条
+ (void)stopLoading;
/// enable授权页面登录按钮
+ (void)enableAuthButton;
/// disable授权页面登录按钮
+ (void)disableAuthButton;
/// 更新授权页面一键登录按钮的标题文案
/// @param authButtonTitle 登录按钮的标题文案
+ (void)updateAuthButtonTitle:(NSAttributedString *_Nonnull)authButtonTitle;
/// 服务条款左边复选框是否勾选
+ (BOOL)isProtocolCheckboxChecked;
//MARK: - 本机号码校验
/// 获取本机号码校验所需要的 processID 和 token
/// @param callback 回调
/// {
/// code = 30000;
/// msg = "操作成功";
/// operatorType = 3;
/// processID = 0af5e43c1b06d1ca97f932725ae364ef;
/// token = nm62ee17653a214872904a42671bf25ac3;
/// }
+ (void)getPhoneVerifyTokenCallback:(GyVerifyCallback _Nonnull)callback;
/// 本机号码校验,本接口为客户端校验手机号使用
/// 若需要服务端校验手机号码,请使用 getPhoneVerifyToken:andCallback 获取 相关参数
/// @param pn 待校验手机号码
/// @param token getPhoneVerifyToken 返回的 token
/// @param processId getPhoneVerifyToken 返回的processId
/// @param opType getPhoneVerifyToken 返回的operatorType
/// @param callback 回调
/// {
/// code: 30000, //NSNumber, 非30000为失败
/// msg: "success" // NSString, 返回信息
/// }
+ (void)checkPhoneNumber:(NSString *_Nonnull)pn withToken:(NSString *_Nonnull)token withProcessId:(NSString *_Nonnull)processId withOperatorType:(NSString *_Nonnull)opType andCallback:(GyVerifyCallback _Nonnull)callback;
+ (void)checkPhoneNumber:(NSString *_Nonnull)pn andCallback:(GyVerifyCallback _Nonnull)callback __deprecated_msg("请使用 checkPhoneNumber:withToken:withProcessId:andCallback");
//MARK: -
/// 设置debug模式发布时不要设置默认关闭
/// @param debug 是否打开调试
+ (void)setDebug:(BOOL)debug;
/// 设置IDFA
/// SDK-2.0.6.0+
/// @param idfa idfa
+ (void)setIDFA:(NSString *_Nonnull)idfa;
/// 当前网络环境
/// 根据返回结果判断是否适合使用一键登录方法(数据网络必须打开,如下所示,需要满足network==1 || network==3)
/// carrier: 运营商: 0.未知 / 1.中国移动 / 2.中国联通 / 3.中国电信
/// network: 网络类型: 0.无网络/ 1.数据流量 / 2.wifi / 3.数据+wifi
/// network即使返回非0, 也可能因为终端用户未授权,数据网络网络权限而无法访问设备的移动蜂窝数据网络
/// {
/// carrier: 0/1/2/3
/// network: 0/1/2/3
/// }
+ (NSMutableDictionary *_Nonnull)currentNetworkInfo;
/// 获取当前授权页面对应的ViewController
+ (UIViewController *_Nullable)currentAuthViewController;
/// 获取当前手机卡数量
/// @return 0,1,2
+ (NSInteger)getCurrentCarrierCount;
/// 获取SDK版本号
+ (NSString *_Nonnull)getVersion;
/// 获取 gyuid
+ (NSString *_Nullable)gyuid;
/// 销毁 SDK
+ (void)destroy;
//MARK: - 废弃
/// 初始化SDK
/// 适用于首次安装初始化,需要等待网络授权后再进行注册的情况
/// @param appId 您申请的APPID
/// @param timeout 等待授权超时时间,单位秒
/// @param callback 初始化结果回调
+ (void)startWithAppId:(NSString *_Nonnull)appId withTimeout:(NSTimeInterval)timeout withCallback:(GyCallback _Nonnull)callback __deprecated_msg("已废弃");
/// 注册保护接口
/// @param checkModel 校验模型
/// @param callback 通用接口回调
+ (void)checkRegister:(GyCheckModel *_Nonnull)checkModel withCallback:(GyVerifyCallback _Nonnull)callback __deprecated_msg("已废弃");;
/// 登录保护接口
/// @param checkModel 校验模型
/// @param callback 通用接口回调
+ (void)checkLogin:(GyCheckModel *_Nonnull)checkModel withCallback:(GyVerifyCallback _Nonnull)callback __deprecated_msg("已废弃");
+ (void)setOnlyUseOneLogin:(BOOL)onlyUseOL __deprecated_msg("已废弃");
+ (void)setUseStrictMode:(BOOL)strictMode __deprecated_msg("已废弃");
@end