提交 fb2fae44 authored 作者: 祁增奎's avatar 祁增奎

iOS依赖库缺少问题修改

上级 901038d9
......@@ -7,11 +7,18 @@
*/
"APBToygerFacade:取消"="Cancel";
"APBToygerFacade:取消(引导页)"="Cancel";
"APBToygerFacade:再试一次"="Try Again";
"APBToygerFacade:再试一次(验证中断)"="Try Again";
"APBToygerFacade:再试一次(网络中断)"="Try Again";
"APBToygerFacade:退出"="Quit";
"APBToygerFacade:退出(无法启动相机)"="Quit";
"APBToygerFacade:退出(验证中断)"="Quit";
"APBToygerFacade:确定"="OK";
"APBToygerFacade:确定(引导页)"="OK";
"APBToygerFacade:继续"="Continue";
"APBToygerFacade:我知道了"="Got it";
"APBToygerFacade:我知道了(系统不支持刷脸)"="Got it";
"APBToygerFacade:其他登录方式"="Another login method";
"APBToygerFacade:刷脸失败"="Face scan failed";
"APBToygerFacade:当前设备不支持刷脸"="Face scan not supported on your device";
......@@ -22,7 +29,9 @@
"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="Face scan is only available on iOS8 or above";
"APBToygerFacade:系统错误"="System error";
"APBToygerFacade:确定退出吗?"="Are you sure to quit face scan?";
"APBToygerFacade:确定退出吗?(引导页)"="Are you sure to quit face scan?";
"APBToygerFacade:露个脸就能通过"="You can succeed by simply showing your face";
"APBToygerFacade:露个脸就能通过(引导页)"="You can succeed by simply showing your face";
"APBToygerFacade:操作超时"="Time out";
"APBToygerFacade:正对手机,更容易成功"="Face straight at the phone and ensure you have enough light";
"APBToygerFacade:提示:正对手机,更容易成功"="Face straight at the phone and ensure you have enough light";
......
"APBToygerFacade:取消"="Batalkan";
"APBToygerFacade:取消(引导页)"="Batalkan";
"APBToygerFacade:再试一次"="Harap coba lagi";
"APBToygerFacade:再试一次(验证中断)"="Harap coba lagi";
"APBToygerFacade:再试一次(网络中断)"="Harap coba lagi";
"APBToygerFacade:退出"="Keluar";
"APBToygerFacade:退出(无法启动相机)"="Keluar";
"APBToygerFacade:退出(验证中断)"="Keluar";
"APBToygerFacade:确定"="OK";
"APBToygerFacade:确定(引导页)"="OK";
"APBToygerFacade:继续"="Lanjutkan";
"APBToygerFacade:我知道了"="OK";
"APBToygerFacade:我知道了(系统不支持刷脸)"="OK";
"APBToygerFacade:其他登录方式"="Ubah Metode Logon";
"APBToygerFacade:刷脸失败"="Pengenalan wajah gagal";
"APBToygerFacade:当前设备不支持刷脸"="Perangkat Anda tidak mendukung pengenalan wajah";
......@@ -14,7 +21,9 @@
"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="Hanya iOS 7 dan setelahnya yang mendukung pengenalan wajah";
"APBToygerFacade:系统错误"="Terjadi Kesalahan Sistem";
"APBToygerFacade:确定退出吗?"="Apakah Anda yakin ingin keluar?";
"APBToygerFacade:确定退出吗?(引导页)"="Apakah Anda yakin ingin keluar?";
"APBToygerFacade:露个脸就能通过"="Anda hanya perlu memperlihatkan wajah Anda";
"APBToygerFacade:露个脸就能通过(引导页)"="Anda hanya perlu memperlihatkan wajah Anda";
"APBToygerFacade:操作超时"="Waktu operasi habis";
"APBToygerFacade:正对手机,更容易成功"="Arahkan wajah lurus menghadap ponsel untuk membuat wajah Anda lebih mudah dipindai";
"APBToygerFacade:本次操作失败"="Operasi gagal";
......
"APBToygerFacade:取消"="キャンセル";
"APBToygerFacade:取消(引导页)"="キャンセル";
"APBToygerFacade:再试一次"="もう一度お試しください";
"APBToygerFacade:再试一次(验证中断)"="もう一度お試しください";
"APBToygerFacade:再试一次(网络中断)"="もう一度お試しください";
"APBToygerFacade:退出"="終了";
"APBToygerFacade:退出(无法启动相机)"="終了";
"APBToygerFacade:退出(验证中断)"="終了";
"APBToygerFacade:确定"="OK";
"APBToygerFacade:确定(引导页)"="OK";
"APBToygerFacade:继续"="続行";
"APBToygerFacade:我知道了"="OK";
"APBToygerFacade:我知道了(系统不支持刷脸)"="OK";
"APBToygerFacade:其他登录方式"="ログイン方法を切り替え";
"APBToygerFacade:刷脸失败"="顔を認識できませんでした";
"APBToygerFacade:当前设备不支持刷脸"="お使いのデバイスは顔認識をサポートしていません";
......@@ -14,7 +21,9 @@
"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="顔認識は iOS 7 以降でサポートされています";
"APBToygerFacade:系统错误"="システムエラー";
"APBToygerFacade:确定退出吗?"="終了してもよろしいですか";
"APBToygerFacade:确定退出吗?(引导页)"="終了してもよろしいですか";
"APBToygerFacade:露个脸就能通过"="顔を見せるだけです";
"APBToygerFacade:露个脸就能通过(引导页)"="顔を見せるだけです";
"APBToygerFacade:操作超时"="操作がタイムアウトしました";
"APBToygerFacade:正对手机,更容易成功"="顔をスキャンしやすいように、電話の方を向いてください";
"APBToygerFacade:本次操作失败"="操作に失敗しました";
......
"APBToygerFacade:取消"="취소";
"APBToygerFacade:取消(引导页)"="취소";
"APBToygerFacade:再试一次"="다시 시도하세요";
"APBToygerFacade:再试一次(验证中断)"="다시 시도하세요";
"APBToygerFacade:再试一次(网络中断)"="다시 시도하세요";
"APBToygerFacade:退出"="종료";
"APBToygerFacade:退出(无法启动相机)"="종료";
"APBToygerFacade:退出(验证中断)"="종료";
"APBToygerFacade:确定"="확인";
"APBToygerFacade:确定(引导页)"="확인";
"APBToygerFacade:继续"="계속";
"APBToygerFacade:我知道了"="확인";
"APBToygerFacade:我知道了(系统不支持刷脸)"="확인";
"APBToygerFacade:其他登录方式"="로그온 방법 전환";
"APBToygerFacade:刷脸失败"="안면 인식에 실패했습니다";
"APBToygerFacade:当前设备不支持刷脸"="귀하의 디바이스는 안면 인식을 지원하지 않습니다";
......@@ -14,7 +21,9 @@
"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="iOS 7 및 그 이상의 버전에서만 안면 인식이 지원됩니다";
"APBToygerFacade:系统错误"="시스템 오류";
"APBToygerFacade:确定退出吗?"="정말로 종료하시겠습니까?";
"APBToygerFacade:确定退出吗?(引导页)"="정말로 종료하시겠습니까?";
"APBToygerFacade:露个脸就能通过"="얼굴만 보여주시면 됩니다";
"APBToygerFacade:露个脸就能通过(引导页)"="얼굴만 보여주시면 됩니다";
"APBToygerFacade:操作超时"="작업 시간이 초과되었습니다";
"APBToygerFacade:正对手机,更容易成功"="얼굴을 더 쉽게 스캔할 수 있도록 휴대전화를 정면으로 바라보세요";
"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
......
......@@ -8,11 +8,18 @@
"APBToygerFacade:取消"="取消";
"APBToygerFacade:取消(引导页)"="取消";
"APBToygerFacade:再试一次"="再試一次";
"APBToygerFacade:再试一次(验证中断)"="再試一次";
"APBToygerFacade:再试一次(网络中断)"="再試一次";
"APBToygerFacade:退出"="退出";
"APBToygerFacade:退出(验证中断)"="退出";
"APBToygerFacade:退出(无法启动相机)"="退出";
"APBToygerFacade:确定"="確定";
"APBToygerFacade:确定(引导页)"="確定";
"APBToygerFacade:继续"="继续";
"APBToygerFacade:我知道了"="我知道了";
"APBToygerFacade:我知道了(系统不支持刷脸)"="我知道了";
"APBToygerFacade:其他登录方式"="其他登录方式";
"APBToygerFacade:刷脸失败"="刷臉失敗";
"APBToygerFacade:当前设备不支持刷脸"="目前系統不支援刷臉";
......@@ -23,7 +30,9 @@
"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="刷脸仅在iOS7及以上系统可用";
"APBToygerFacade:系统错误"="系統錯誤";
"APBToygerFacade:确定退出吗?"="確定退出嗎?";
"APBToygerFacade:确定退出吗?(引导页)"="確定退出嗎?";
"APBToygerFacade:露个脸就能通过"="露個臉就能通過";
"APBToygerFacade:露个脸就能通过(引导页)"="露個臉就能通過";
"APBToygerFacade:操作超时"="操作超時";
"APBToygerFacade:正对手机,更容易成功"="對準手機,更容易成功";
"APBToygerFacade:本次操作失败"="本次操作失敗";
......
......@@ -8,11 +8,18 @@
"APBToygerFacade:取消"="取消";
"APBToygerFacade:取消(引导页)"="取消";
"APBToygerFacade:再试一次"="再试一次";
"APBToygerFacade:再试一次(验证中断)"="再试一次";
"APBToygerFacade:再试一次(网络中断)"="再试一次";
"APBToygerFacade:退出"="退出";
"APBToygerFacade:退出(验证中断)"="退出";
"APBToygerFacade:退出(无法启动相机)"="退出";
"APBToygerFacade:确定"="确定";
"APBToygerFacade:确定(引导页)"="确定";
"APBToygerFacade:继续"="继续";
"APBToygerFacade:我知道了"="我知道了";
"APBToygerFacade:我知道了(系统不支持刷脸)"="我知道了";
"APBToygerFacade:其他登录方式"="其他登录方式";
"APBToygerFacade:刷脸失败"="刷脸失败";
"APBToygerFacade:当前设备不支持刷脸"="当前设备不支持刷脸";
......@@ -23,7 +30,9 @@
"APBToygerFacade:刷脸仅在iOS8及以上版本可用"="刷脸仅在iOS8及以上版本可用";
"APBToygerFacade:系统错误"="系统错误";
"APBToygerFacade:确定退出吗?"="确定退出吗?";
"APBToygerFacade:确定退出吗?(引导页)"="确定退出吗?";
"APBToygerFacade:露个脸就能通过"="露个脸就能通过";
"APBToygerFacade:露个脸就能通过(引导页)"="露个脸就能通过";
"APBToygerFacade:操作超时"="操作超时";
"APBToygerFacade:正对手机,更容易成功"="正对手机,更容易成功";
"APBToygerFacade:本次操作失败"="本次操作失败";
......@@ -67,3 +76,8 @@
"APBToygerFacade:人脸检测中"="人脸检测中";
"APBToygerFacade:刷脸失败次数过多,请稍后再试"="刷脸失败次数过多,请稍后再试";
"APBToygerFacade:请保持单人操作"="请保持单人操作";
"APBToygerFacade:请缓慢靠近"="请缓慢靠近";
"APBToygerFacade:请缓慢远离"="请缓慢远离";
"APBToygerFacade:请保持不动"="请保持不动";
"APBToygerFacade:把脸移入圈内"="把脸移入圈内";
......@@ -8,11 +8,18 @@
"APBToygerFacade:取消"="取消";
"APBToygerFacade:取消(引导页)"="取消";
"APBToygerFacade:再试一次"="再試一次";
"APBToygerFacade:再试一次(验证中断)"="再試一次";
"APBToygerFacade:再试一次(网络中断)"="再試一次";
"APBToygerFacade:退出"="退出";
"APBToygerFacade:退出(验证中断)"="退出";
"APBToygerFacade:退出(无法启动相机)"="退出";
"APBToygerFacade:确定"="確定";
"APBToygerFacade:确定(引导页)"="確定";
"APBToygerFacade:继续"="繼續";
"APBToygerFacade:我知道了"="我知道了";
"APBToygerFacade:我知道了(系统不支持刷脸)"="我知道了";
"APBToygerFacade:其他登录方式"="其他登入方式";
"APBToygerFacade:刷脸失败"="刷臉失敗";
"APBToygerFacade:当前设备不支持刷脸"="目前設備不支援刷臉服務";
......@@ -23,7 +30,9 @@
"APBToygerFacade:刷脸仅在iOS8及以上系统可用"="刷脸仅在iOS8及以上系统可用";
"APBToygerFacade:系统错误"="系統錯誤";
"APBToygerFacade:确定退出吗?"="確定退出嗎?";
"APBToygerFacade:确定退出吗?(引导页)"="確定退出嗎?";
"APBToygerFacade:露个脸就能通过"="露個臉就能通過";
"APBToygerFacade:露个脸就能通过(引导页)"="露個臉就能通過";
"APBToygerFacade:操作超时"="操作超時";
"APBToygerFacade:正对手机,更容易成功"="對準手機,更容易成功";
"APBToygerFacade:本次操作失败"="本次操作失敗";
......
......@@ -13,7 +13,7 @@
#import <BioAuthEngine/APBLogger.h>
#import <BioAuthEngine/AFEAlertView.h>
#import <APBToygerFacade/APBToygerUtils.h>
#import <BioAuthEngine/APBToygerRemoteConfig.h>
#import <DTFUtility/APBToygerRemoteConfig.h>
#import <BioAuthEngine/APBToygerBehavlogManager.h>
//#import "APBToygerDataCenter.h"
#import <BioAuthEngine/BioAuthCommonSetting.h>
......@@ -42,16 +42,17 @@ typedef void (^APFAlertExtraAction)();
//@property(nonatomic, assign)BOOL isLoginMode; //当前场景是否为登录场景
@property(nonatomic, assign)BOOL isMYBank; //是否是网商银行
@property(nonatomic, strong)DTFLogMonitor *monitor; //埋点
@property(nonatomic, weak) id<BioAuthTaskDelegate> delegate;
- (void)exitWithResult:(APBResultType)result failReason:(NSString *)failReason retCodeSub:(NSString *)retCodeSub retMessageSub:(NSString *)retMessageSub;
- (void)eventQuitWithCompletionCallback:(BioAuthExecCallback)callback;
/**
* 用户选择重试
* 刷脸重试
*/
- (void)handleRetryActionWithScene:(NSString *)scene
buttonTitle:(NSString *)title
extAction:(APFAlertExtraAction)action;
retryIncrement:(BOOL)retryIncrement;
/**
* 用户选择退出
......
......@@ -12,11 +12,16 @@
#import <BioAuthEngine/BioAuthEngine.h>
#import <DTFUtility/CameraService.h>
#define kFaceCameraPreviewWidth 480
#define kFaceCameraPreviewHeight 640
#define kFaceAVCaptureSessionPreset AVCaptureSessionPreset640x480
@interface APBToygerCherryDetectTask : APBToygerBaseTask <DTFCameraServiceDelegate, DTFFaceViewDelegate, ToygerServiceInstanceDelegate>
@property (nonatomic, assign) BOOL photinusFlags;
@property (nonatomic, strong) DTFCameraService *cameraService;
@property (nonatomic, strong) id instance; //Toyger对象
@property (nonatomic, assign) BOOL useNativePhotinus;
- (void)onButtonCancel;
......
......@@ -23,7 +23,7 @@
#import <APBToygerFacade/APBToygerUtils.h>
#import <APBToygerFacade/APBToygerUploadTask.h>
#import <APBToygerFacade/APBToygerFacadeDefine.h>
#import <BioAuthEngine/APBToygerRemoteConfig.h>
#import <DTFUtility/APBToygerRemoteConfig.h>
#import <BioAuthEngine/APBToygerBehavlogManager.h>
#import <BioAuthEngine/APBToygerDataCenter.h>
#import <APBToygerFacade/APBToygerViewController.h>
......
......@@ -52,6 +52,12 @@ dispatch_semaphore_signal(locker);
+ (UIWindow *)lastWindow;
+ (APBToygerTips *)toygerTipsConfig;
+ (BOOL)useElemeEquipmentUI:(APBToygerRemoteConfig *)config;
+ (BOOL)useNearFarLiveness:(APBToygerRemoteConfig *)config;
@end
......
......@@ -19,8 +19,11 @@
- (void)handleFaceStateChange:(ToygerMessage)state
stateTips:(NSString *)tips
actionGuideType:(ToygerStaticMessage)guideType
actionGuide:(NSString *)guide
progress:(CGFloat)progress;
progress:(CGFloat)progress
extInfo:(NSDictionary *)extInfo;
- (void)faceDectectComplete;
- (void)setPhotinusColor:(UIColor *)color;
- (void)showBlur:(UIImage *)image;
......
......@@ -110,4 +110,8 @@ typedef NS_ENUM(NSInteger, ASSAddressFlag)
//===================测试联调 api====================//
- (void)setRpcConfiguration:(NSDictionary *) config;
+(BOOL) isSupportFaceShield;
+(BOOL) isTrackingAuthorization;
@end
......@@ -78,7 +78,7 @@
</data>
<key>Headers/APSecureSdk.h</key>
<data>
ywtAfrae7i2g9jT6cXJt775tdng=
MXM1OJAiXpW6nnot0SH2kDLtVy8=
</data>
<key>Headers/APSign.h</key>
<data>
......@@ -118,7 +118,7 @@
</data>
<key>Info.plist</key>
<data>
iJIQ3hx3R9PDehqmni7k6WFuCCI=
rnUOBUjn0OMe0SPq7xgsMLCff4Y=
</data>
<key>en.lproj/InfoPlist.strings</key>
<dict>
......@@ -338,11 +338,11 @@
<dict>
<key>hash</key>
<data>
ywtAfrae7i2g9jT6cXJt775tdng=
MXM1OJAiXpW6nnot0SH2kDLtVy8=
</data>
<key>hash2</key>
<data>
S8aripi9OWRTxz5CBuWeYoSqMhcgLX2GUUT5Ihnwd8o=
bl6AOc/gkaKL/sCIDvxpsfcgDIIV97nocPpmnssA4tQ=
</data>
</dict>
<key>Headers/APSign.h</key>
......
......@@ -40,6 +40,10 @@ NS_ASSUME_NONNULL_BEGIN
extParams:(NSDictionary *)params
onCompletion:(void (^)(ZIMResponse *response))callback;
+ (void)setCustomUI:(nonnull NSString *)configuration type:(nonnull NSString *)type completion:(void(^)(BOOL success, NSError *error))completion;
+ (void)setCustomLanguage:(nonnull NSString *)configuration type:(nonnull NSString *)type completion:(void(^)(BOOL success, NSError *error))completion;
@end
NS_ASSUME_NONNULL_END
framework module AliyunFaceAuthFacade {
umbrella header "AliyunFaceAuthFacade.h"
export *
module * { export * }
}
......@@ -22,6 +22,7 @@
@property (nonatomic, strong) NSMutableArray<UIColor *> *gradientColors;
@property (nonatomic, assign) CGFloat progress;
@property (nonatomic, strong) UIColor *progressBarTrackColor;
@property (nonatomic, assign) BOOL supportCustomUI;
- (void)setProgress:(CGFloat)percent animation:(BOOL)animated;
- (void)_updateCircularPath;
......
......@@ -44,7 +44,13 @@
@property (nonatomic, assign) double widthCoefficient;
@property (nonatomic, copy) NSDictionary *bottomTipAttrDict;
@property (nonatomic, copy) NSDictionary *tipAttrDict;
@property (nonatomic, assign) BOOL supportCustomUI;
@property (nonatomic, strong) UIView *tipView;
@property (nonatomic, strong) UIImageView *tipImageView;
@property (nonatomic, strong) UILabel *tipLabel;
@property (nonatomic, assign) CGSize tipTextSize;
- (instancetype)initWithSupportCustomUI:(BOOL)supportCustomUI;
- (void)showPercent:(CGFloat)stage;
- (void)showtip:(NSString *)tip;
- (void)showBottomTip:(NSString *)bottomTip;
......@@ -63,7 +69,7 @@
- (void)showStopScanTip:(NSString *)stopScanTip;
- (void)hideViewList;
- (void)showViewList;
- (void)_buildShowView;
- (void)_updateView;
@end
......
......@@ -9,11 +9,18 @@
#import <UIKit/UIKit.h>
#import <BioAuthEngine/AFEStatusBar.h>
#import <WebKit/WebKit.h>
#import "APBToygerRemoteConfig.h"
#import <DTFUtility/APBToygerRemoteConfig.h>
#import "DTFUICustom.h"
typedef NS_ENUM(NSUInteger, AFEWebGuideCancelType) {
AFEWebGuideCancelTypeActiveWithdrawal = 0,//主动退出
AFEWebGuideCancelTypeNotCertifiedYet,//暂不认证
};
@protocol AFEWebGuideViewDelegate <NSObject>
- (void)onButtonBegin:(BOOL)suitableType;
- (void)onButtonCancel;
- (void)onButtonBegin:(BOOL)suitableType query:(NSDictionary *)dict;
- (void)onButtonCancel:(AFEWebGuideCancelType)cancelType;//退出
@optional
- (void)onLoadFinished:(BOOL)success;
......@@ -22,7 +29,9 @@
@end
@interface AFEWebTopBar: UIView
@end
@interface AFEWebGuideView : UIView <IStatusBarDelegate,WKScriptMessageHandler, WKUIDelegate, WKNavigationDelegate>
......@@ -30,9 +39,12 @@
@property(nonatomic, assign)BOOL loaded;
@property(nonatomic, strong)APBToygerAlertConfig *toygerAlertConfig;
@property(nonatomic, strong)UIViewController *currentViewController;
@property(nonatomic, weak)UIViewController *currentViewController;
@property(nonatomic, strong)DTFUICustom *customProtocol;
@property(nonatomic, strong)NSDictionary *alertParam;
- (void)setWebGuideViewDelegate:(id<AFEWebGuideViewDelegate>)webGuideViewDeleage;
- (void)setURL:(NSURL *)url;
//清除网页的localstorage,localStorage存储了自定义UI信息
- (void)clearUICustomSettingWebLocalStorage;
@end
......@@ -20,7 +20,6 @@ typedef NS_ENUM(NSInteger, APBBackwardCommandType) {
BACKWARD_COMMNAD_STOP_SCANCE = 401, //关闭扫描
BACKWARD_COMMNAD_OCRUPLOAD_DATA = 402, //EKYC OCR上传
BACKWARD_COMMNAD_OCRUPLOADCONFIRM_DATA = 403, //EKYC OCR确认
};
typedef NS_ENUM(NSInteger, APBTimerCommandType) {
......
......@@ -7,17 +7,17 @@
//
#import <Foundation/Foundation.h>
#import <BioAuthEngine/APBBisUploadGwRequest.h>
#import <DTFUtility/APBBisUploadGwRequest.h>
#import <BioAuthEngine/APBBehavLogModel.h>
#import <DTFUtility/ToygerData.h>
@interface APBBisRequestBuilder : NSObject
+(APBBisUploadGwRequest *) buildRequestwithpubKey:(NSString *) pubKey
token:(NSString *) bistoken
contentData:(NSString *)content
contentData:(ToygerUploadContent *)content
behaveLog:(BisBehavLog *)behavlog
andCypherData:(NSString *) aesKeyData
encrypt:(BOOL) encrypt;
andCypherData:(NSString *) aesKeyData;
+ (APBBisUploadGwRequest *)buildEKYCRequestWithContentData:(NSString *)content
behaveLog:(BisBehavLog *)behavlog
......
......@@ -6,9 +6,12 @@
// Copyright © 2018 DTF. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "DTFCustomActivityIndicator.h"
@interface APBDTFUploadToastView : UIView
@property(nonatomic,strong)UIActivityIndicatorView* indicator;
@property(nonatomic,strong)UIActivityIndicatorView *indicator;
@property(nonatomic,strong)DTFCustomActivityIndicator *customActivityIndicator;
- (instancetype)initWithFrame:(CGRect)frame;
......
......@@ -7,6 +7,7 @@
//
#import <Foundation/Foundation.h>
#import <DTFUtility/APBToygerBioBisConfigManager.h>
@class UIViewController;
extern NSString *const kKeepUploadPageKey; //extInfo key: 生物识别产品是否要保持上传界面,默认不保持
......@@ -14,11 +15,11 @@ extern NSString *const kKeepUploadPageKey; //extInfo key:
@interface APBRequest : NSObject
@property(nonatomic, weak, readonly)UIViewController *vc; //显示的viewController
@property(nonatomic, copy, readonly)NSString *protocol; //服务端下发的配置参数
@property(nonatomic, strong, readonly)APBToygerBioBisConfigManager *protocolModel; //服务端下发的配置参数
@property(nonatomic, strong, readonly)NSDictionary *extInfo; //扩展业务参数
- (instancetype)initWithViewController:(UIViewController *)vc
protocolInfo:(NSString *)protocol
protocolModel:(APBToygerBioBisConfigManager *)protocolModel
extInfo:(NSDictionary *)ext;
@end
......@@ -39,6 +39,8 @@ typedef enum {
APB_RESULT_USE_PASSWORD = 300, //用户选择账密登录(弹框)
APB_RESULT_OTHER_VERIFICATION = 303, //其他核身方式
APB_RESULT_LOCALVERIFY_FAIL = 304, //本地比对失败
APB_RESULT_TOYGERSERVICE_FAILED = 305, //toyer 模型异常
APB_RESULT_UPLOAD_IMAGE_NIL = 306, //上传的图片为空
}APBResultType;
@interface APBResponse : NSObject
......
......@@ -8,6 +8,7 @@
#import <Foundation/Foundation.h>
#import <BioAuthEngine/BioAuthEngine.h>
#import <DTFUtility/ToygerData.h>
@class BisBehavTask;
......@@ -60,7 +61,7 @@
* @param panoImage 全景图,若该参数指定,将替换之前的全景图
*/
- (void)addMonitorImage:(UIImage *)monitorImage
replacePanoImage:(NSString *)panoImage
replacePanoImage:(ToygerUploadContent *)panoImage
andCypherKeyData:(NSString *)cypherKey;
#endif
......@@ -113,11 +114,6 @@
- (APBBisUploadGwRequest *)buildUploadRequestWithRetryCnt:(NSInteger)retry;
- (APBBisUploadGwRequest *)buildUploadRequestWithContent:(NSData *)data
cypherKey:(NSData *)cypherKeyData
invokeType:(NSString *)type
retryCnt:(NSInteger)retry;
- (NSString *)rsaImage:(NSString *)pubkey image:(UIImage *)image ;
......
......@@ -76,6 +76,7 @@ static NSString *const kBioAuthParamAlertViewSecondButtonTitle = @"kBioAuthParam
static NSString *const kBioAuthParamAlertViewFirstCallback = @"kBioAuthParamAlertViewFirstCallback";
static NSString *const kBioAuthParamAlertViewSecondCallback = @"kBioAuthParamAlertViewSecondCallback";
static NSString *const kBioAuthParamAlertViewLogReason = @"kBioAuthParamAlertViewLogReason";
static NSString *const kBioAuthParamAlertType = @"kBioAuthParamAlertType";
static NSString *const kBioAuthParamInterrupt = @"interrupt";
static NSString *const kBioAuthParamCancel = @"cancel";
......
......@@ -9,9 +9,7 @@
#ifndef BioAuthEngine_h
#define BioAuthEngine_h
#import <BioAuthEngine/APBBisUploadGwRequest.h>
#import <BioAuthEngine/APBBehavLogModel.h>
#import <BioAuthEngine/APBBisProtocol.h>
#import <BioAuthEngine/NSTimer+bioAuth.h>
#import <BioAuthEngine/APBAlertController.h>
......@@ -37,6 +35,8 @@
#import <BioAuthEngine/BioAuthCommonSetting.h>
#import <BioAuthEngine/APBConfig.h>
#import <BioAuthEngine/APBBisRequestBuilder.h>
#import <BioAuthEngine/DTFFaceViewProtocol.h>
#endif /* BioAuthEngine_h */
......
......@@ -7,14 +7,14 @@
//
#import <UIKit/UIKit.h>
#import "APBTaskContext.h"
#import "IBioAuthTask.h"
@interface DTFBaseViewController : UIViewController
@property(nonatomic, assign) BOOL isClose;
@property(nonatomic, strong) NSString *platformInfo;
@property(nonatomic, strong) UIActivityIndicatorView *activityIndicatorView;
@property(nonatomic, weak) APBTaskContext *context;
@property(nonatomic, weak) id<IBioAuthTask> currentTask;
- (void)addWebGuideView:(UIView *)guideView;
- (void)showLoadingView;
......
//
// DTFColorModel.h
// BioAuthEngine
//
// Created by 汪澌哲 on 2024/1/23.
// Copyright © 2024 Alipay. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface DTFColorModel : NSObject
@property (nonatomic, strong) UIColor *titleColor;
@property (nonatomic, strong) UIColor *msgColor;
@property (nonatomic, strong) UIColor *cancelColor;
@property (nonatomic, strong) UIColor *confirmColor;
@property (nonatomic, strong) UIColor *cancelBGColor;
@property (nonatomic, strong) UIColor *confirmBGColor;
@end
NS_ASSUME_NONNULL_END
//
// DTFCustomActivityIndicator.h
// BioAuthEngine
//
// Created by 汪澌哲 on 2024/1/16.
// Copyright © 2024 Alipay. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface DTFCustomActivityIndicator : UIImageView
- (instancetype)initWithImage:(UIImage *)image frame:(CGRect)frame;
- (void)startAnimating;
- (void)stopAnimating;
- (BOOL)isAnimating;
@end
NS_ASSUME_NONNULL_END
//
// DTFCustomAlertView.h
// BioAuthEngine
//
// Created by 汪澌哲 on 2024/1/10.
// Copyright © 2024 Alipay. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "DTFColorModel.h"
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, DTFAlertActionType) {
DTFAlertActionTypeConfirm,
DTFAlertActionTypeCancel
};
@interface DTFCustomAlertAction : NSObject
@property (nonatomic, copy) NSString *title;
@property (nonatomic, assign) DTFAlertActionType type;
@property (nonatomic, copy) void (^handler)(void);
- (instancetype)initWithTitle:(NSString *)title type:(DTFAlertActionType)type handler:(void (^)(void))handler;
@end
@interface DTFCustomAlertView : UIView
@property (nonatomic, copy) NSString *titleText;
@property (nonatomic, copy) NSString *messageText;
@property (nonatomic, copy) NSString *cancelText;
@property (nonatomic, copy) NSString *sureText;
@property (nonatomic, assign) CGRect infoRect;
@property (nonatomic, strong) NSMutableArray<DTFCustomAlertAction *> *actions;
@property (nonatomic, copy) void(^cancelButtonAction)(void);
@property (nonatomic, copy) void(^sureButtonAction)(void);
@property (nonatomic, strong) UIViewController *vc;
@property (strong, nonatomic) UIView *bgView;
@property (strong, nonatomic) UIView *bgMaskView;
@property (strong, nonatomic) UIView *lineView;
@property (strong, nonatomic) UIView *linesView;
@property (strong, nonatomic) UILabel *titleLabel;
@property (strong, nonatomic) UILabel *messageLabel;
@property (assign, nonatomic) BOOL isPermission;
@property (strong, nonatomic) DTFColorModel *colorModel;
@property (strong, nonatomic) NSMutableArray *alertBtnArray;
@property (strong, nonatomic) UIFont *font;
- (instancetype)initWithTitle:(NSString *)title message:(NSString *)message;
- (void)addAction:(DTFCustomAlertAction *)action;
- (void)show;
// 隐藏
- (void)hide;
+(void)showCustomAlertWithTitle:(NSString *)title message:(NSString *)message colorModel:(DTFColorModel *)colorModel actions:(NSArray <DTFCustomAlertAction *>*)actions fromeVC:(UIViewController *)vc;
+(void)showPermissionAlertWithTitle:(NSString *)title message:(NSString *)message fromeVC:(UIViewController *)vc;
@end
NS_ASSUME_NONNULL_END
......@@ -8,7 +8,45 @@
#import <UIKit/UIkit.h>
#import <AVFoundation/AVFoundation.h>
#import <ToygerService/ToygerFaceFrame.h>
typedef NS_ENUM(NSInteger, DTFFaceStateMessage) {
DTF_Message_Image_Perfect = 0,
DTF_Message_No_Face,
DTF_Message_Distance_Too_Far,
DTF_Message_Distance_Too_Close,
DTF_Message_Face_Not_In_Center,
DTF_Message_Bad_Pitch,
DTF_Message_Bad_Yaw,
DTF_Message_Is_Moving,
DTF_Message_Bad_Brightness,
DTF_Message_Bad_Quality,
DTF_Message_Bad_Eye_Openness,
DTF_Message_Blink_Openness,
DTF_Message_Left_Yaw,
DTF_Message_Right_Yaw,
DTF_Message_Mouth_Open,
DTF_Message_Lip_Move,
DTF_Message_Photinus,
DTF_Message_Stack_Time,
DTF_Message_Face_Too_More,
DTF_Message_Target_Too_Far,
DTF_Message_Target_Too_Close,
DTF_Message_Calibrate_Too_Far,
DTF_Message_Calibrate_Too_Close,
DTF_Message_NearFar_Collect,
DTF_Message_Face_Not_In_Postion,
};
typedef NS_ENUM(NSInteger, DTFLivenessActionGuideType) {
DTF_Liveness_Action_Guide_None = -1,//无
DTF_Liveness_Action_Guide_BlinkOpenness = 0,//眨眼
DTF_Liveness_Action_Guide_LeftYAW,//左摇头
DTF_Liveness_Action_Guide_RightYAW,//右摇头
DTF_Liveness_Action_Guide_MouthOpen,//张嘴
DTF_Liveness_Action_Guide_LipMove,//移动嘴唇
DTF_Liveness_Action_Guide_Photinus,//炫彩
DTF_Liveness_Action_Guide_NearFar//远近活体
};
@protocol DTFFaceViewProtocol;
......@@ -18,6 +56,8 @@
- (void)playBtn:(UIButton *)btn;
- (void)headRegionChanged:(NSDictionary *)region;//头像区域发生改变
@end
@protocol DTFFaceViewProtocol <NSObject>
......@@ -32,10 +72,12 @@
- (void)faceDectectComplete;
- (void)handleFaceStateChange:(ToygerMessage)state
- (void)handleFaceStateChange:(DTFFaceStateMessage)state
stateTips:(NSString *)tips
actionGuide:(NSString *)guide
progress:(CGFloat)progress;
actionGuideType:(DTFLivenessActionGuideType)guideType
progress:(CGFloat)progress
extInfo:(NSDictionary *)extInfo;
- (UIView *)view;
......@@ -55,5 +97,7 @@
*/
- (void)showBlurImage:(UIImage *)image;
- (void)reset;
@end
//
// DTFNearFarFaceView.h
// BioAuthEngine
//
// Created by mengbingchuan on 2024/9/4.
// Copyright © 2024 Alipay. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "DTFFaceViewProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@interface DTFNearFarFaceView : UIView<DTFFaceViewProtocol>
- (instancetype)initWithFrame:(CGRect)frame cameraPreviewSize:(CGSize)cameraPreviewSize;
@end
NS_ASSUME_NONNULL_END
//
// DTFUICustom.h
// BioAuthEngine
//
// Created by 汪澌哲 on 2024/1/10.
// Copyright © 2024 Alipay. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "DTFUICustomProtocol.h"
#import "DTFCustomAlertView.h"
#import "DTFColorModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface DTFUICustom : NSObject<DTFUICustomProtocol>
@property (nonatomic, strong) id userCustomProtocol;
@property (nonatomic, weak) UIViewController *currentViewController;
- (void)showAlertViewWithTitle:(NSString *)title msg:(NSString *)msg type:(NSString *)type bizCode:(NSString *)bizCode actions:(NSArray <DTFCustomAlertAction *>*)actions;
- (BOOL)showPermissionViewWithPermission:(NSArray *)permission serviceType:(DTFServiceType)serviceType;
//获取alert参数,这里单独提出来是为了给子类复用
- (DTFColorModel *)getAlertParamColorWithType:(NSString *)type bizCode:(NSString *)bizCode;
@end
NS_ASSUME_NONNULL_END
//
// DTFUICustomProtocol.h
// BioAuthEngine
//
// Created by mengbingchuan on 2022/8/29.
// Copyright © 2022 DTF. All rights reserved.
//
#import <UIKit/UIkit.h>
#import <AVFoundation/AVFoundation.h>
#import "DTFCustomAlertView.h"
typedef NS_ENUM(NSInteger, DTFServiceType) {
FACE,
OCR,
WISH
};
typedef NSString * DTFPermission NS_EXTENSIBLE_STRING_ENUM;
extern DTFPermission const DTFPermissionTypeVideo;
extern DTFPermission const DTFPermissionTypeAudio;
extern DTFPermission const DTFPermissionTypeReplay;
@protocol DTFUICustomProtocol <NSObject>
@optional
/**
* Show Permission
*/
- (BOOL)showPermissionViewWithPermission:(NSArray *)permission serviceType:(DTFServiceType)serviceType;
@end
......@@ -10,8 +10,10 @@
#import <BioAuthEngine/APBBackwardCommand.h>
#import <BioAuthEngine/APBEvent.h>
#import <BioAuthEngine/APBAuthEngine.h>
#import <BioAuthEngine/APBTaskContext.h>
@class APBTaskContext;
@protocol IBioAuthTask;
/**
* pipeInfo key
......@@ -27,10 +29,17 @@ extern NSString *const kTaskTimeoutKey;
typedef void (^commandBlock)(APBBackwardCommand *command);
@protocol BioAuthTaskDelegate <NSObject>
- (void)task:(id<IBioAuthTask>)task stateChanged:(APBTaskState)state;
@end
@protocol IBioAuthTask <NSObject>
@property(nonatomic, copy, readonly) NSString *taskName; //任务名称
@property(nonatomic, strong, readonly) APBTaskContext *context; //任务上下文
@property(nonatomic, weak) id<BioAuthTaskDelegate> delegate;
/**
* 开始执行任务队列
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string></string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string></string>
</array>
</dict>
</array>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
</dict>
</array>
</dict>
</plist>
......@@ -10,7 +10,7 @@
#import "ZimRpcManager.h"
#import <DTFUtility/DTFFaceIdentityProtocol.h>
//version 2.3.2
//version 2.3.29
NS_ASSUME_NONNULL_BEGIN
......
......@@ -36,7 +36,7 @@
1)SDK初始化后需要经过一段时间计算才能获取到deviceToken,建议间隔3秒以上;
2)如果没有获取到token,返回的内容是@"",没有内容的字符串。
*/
+(NSString*)getMobileSession;
+(NSString*)getMobileSession:(NSString *)certifyID;
//获取无线保镖基本数据。
+ (NSDictionary*) getSecurityInfo DEPRECATED_MSG_ATTRIBUTE("won't use any more");;
......
......@@ -19,6 +19,10 @@
@interface ZimRpcManager : NSObject
@property(nonatomic, strong) APBToygerBioBisConfigManager *protoclModel;
@property(nonatomic, copy) NSString *zimId;
@property(nonatomic, copy) NSDictionary *ossConfig;
@property(nonatomic, weak) id<DTFRPCProxyProtocol> rpcDelegate;
//代理模式
......@@ -49,6 +53,9 @@
//EKYC OCR确认接口
- (void)doSendEKYCOCRContentConfrim:(NSDictionary*)params withcompletionBlock:(DTFRpcCompletionBlock)blk ;
//侧信道oss上传
- (void)doUploadOSSContent:(NSDictionary*)params withcompletionBlock:(DTFRpcCompletionBlock)blk;
// SMS 请求接口
- (void)getSMSCode:(NSDictionary*)serviceParameters completionBlock:(DTFRpcCompletionBlock)blk;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string></string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string></string>
</array>
</dict>
</array>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
</dict>
</array>
</dict>
</plist>
/*
Localizable.strings
AliyunIdentityFace
Created by Lingxuan on 2022/12/1.
Copyright © 2022 aliyun.com. All rights reserved.
*/
// nfc提示文案
"kNeed" = "Time left: ";
"kDontMove" = "seconds. Do not remove your device.";
"kNFCIdentification" = "NFC Verification";
"kIDNumber" = "ID Number";
"kEnterIDNumber" = "Enter a 9-digit ID number";
"kDateOfBirth" = "Date of Birth";
"kPeriodOfValidity" = "Validity Period";
"kPleaseSelect" = "Select";
"kNextStep" = "Next";
"kCancelTitle" = "Cancel";
"kOKTitle" = "OK";
"kStart" = "Please prepare your documents and click to start reading";
"kStartReading" = "Start Reading";
"kReadException" = "An error occurred. Try again.";
"kNetworkAnomaly" = "Check the network connection and try again.";
"kReadError" = "An error occurred.";
"kCardReadingFailure" = "Do not move the document during reading. Position the document in the NFC area and try again.";
"kThreeElementErrors" = "The specified parameters of your document are invalid. Change the values.";
"kCardError" = "An error occurred. Use a valid document.";
"kDeviceNotSupported" = "An error occurred. The current device does not support this feature.";
"kNFCTurnedOff" = "NFC is disabled.";
"kSuccessfullyRead" = "Successful";
"kCardReading" = "The document is being read. Do not move the document.";
"kPutIDCardInPosition" = "Position your document";
"kPutIDCardInPositionMove" = "Position your document and wait for ";
"kIDCardReadFailedRetry" = "Failed to read the document. Try again.";
"kIDCardReadFailed" = "Failed to read the document.";
"kExpirationMustGreaterBirthdate" = "The valid expiry date of the certificate must be greater than the date of birth.";
"kPrompt" = "Prompt";
"kReadyToScan" = "Ready to scan";
/*
Localizable.strings
AliyunIdentityFace
Created by Lingxuan on 2022/12/1.
Copyright © 2022 aliyun.com. All rights reserved.
*/
// nfc提示文案
"kNeed" = "还需";
"kDontMove" = "秒,请勿移动";
"kNFCIdentification" = "NFC识别";
"kIDNumber" = "证件号码";
"kEnterIDNumber" = "请输入9位证件号码";
"kDateOfBirth" = "出生日期";
"kPeriodOfValidity" = "有效期";
"kPleaseSelect" = "请选择";
"kNextStep" = "下一步";
"kCancelTitle" = "取消";
"kOKTitle" = "确定";
"kStart" = "请准备好证件,点击开始读卡";
"kStartReading" = "开始读取";
"kReadException" = "读取异常,请重试";
"kNetworkAnomaly" = "请检查网络,重新读卡";
"kReadError" = "读取错误";
"kCardReadingFailure" = "读取时请勿移动证件,请将证件对准NFC区域,重新读卡";
"kThreeElementErrors" = "证件要素输入不正确,请重新输入";
"kCardError" = "读取异常,请使用正确的证件";
"kDeviceNotSupported" = "读取异常,当前设备不支持此功能";
"kNFCTurnedOff" = "NFC已关闭";
"kSuccessfullyRead" = "读取成功";
"kCardReading" = "证件读取中,请勿移动";
"kPutIDCardInPosition" = "请将证件放到图示位置";
"kPutIDCardInPositionMove" = "请将证件放到图示位置,静置";
"kIDCardReadFailedRetry" = "读取证件失败,请重试";
"kIDCardReadFailed" = "读取证件失败";
"kExpirationMustGreaterBirthdate" = "证件有效截止日期必须大于出生日期。";
"kPrompt" = "提示";
"kReadyToScan" = "已准备好扫描";
//
// NFCDatePickerView.h
// ZimDemo
//
// Created by 汪澌哲 on 2023/6/7.
// Copyright © 2023 com.alipay. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface NFCDatePickerView : UIView
@property (nonatomic, copy) void (^onConfirm)(NSDate *);
@property (nonatomic, copy) NSString *maxDate;
- (void)showWithSelectedDate:(NSDate *)selectedDate onConfirm:(void (^)(NSDate *date))onConfirm;
- (void)dismiss;
@end
NS_ASSUME_NONNULL_END
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string></string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string></string>
</array>
</dict>
</array>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
</dict>
</array>
</dict>
</plist>
......@@ -7,7 +7,6 @@
//
#import <Foundation/Foundation.h>
#import <BioAuthEngine/APBConfig.h>
//若不支持pb
#ifndef SUPPORT_PB
......
//com..bis.common.service.facade.gw.model.upload.BisJsonUploadGwRequest
/*
*generation date:Mon Mar 14 10:35:56 CST 2016
*tool version:5.0.2
*template version:4.1.1
*/
#import <BioAuthEngine/APBConfig.h>
#ifndef SUPPORT_PB
@interface APBBisUploadGwRequest : NSObject
@property(nonatomic, strong) NSString *bisToken;
@property(nonatomic, strong) NSString *content;
@property(nonatomic, strong) NSString *contentSig;
@property(nonatomic, strong) NSString *behavLog;
@property(nonatomic, strong) NSString *behavLogSig;
@end
#else
#ifdef __cplusplus
extern "C"{
#endif
#import <APProtocolBuffers/ProtocolBuffers.h>
#ifdef __cplusplus
}
#endif
@interface APBBisUploadGwRequest : APDPBGeneratedMessage
@property (readonly) BOOL hasBisToken;
@property (readonly) BOOL hasContent;
@property (readonly) BOOL hasContentSig;
@property (readonly) BOOL hasBehavLog;
@property (readonly) BOOL hasBehavLogSig;
@property (nonatomic,strong) NSString* bisToken ;
@property (nonatomic,strong) NSData* content ;
@property (nonatomic,strong) NSData* contentSig ;
@property (nonatomic,strong) NSData* behavLog ;
@property (nonatomic,strong) NSData* behavLogSig ;
@end
#endif
//com..bis.common.service.facade.gw.model.upload.BisJsonUploadGwRequest
/*
*generation date:Mon Mar 14 10:35:56 CST 2016
*tool version:5.0.2
*template version:4.1.1
*/
#ifndef SUPPORT_PB
#import "ToygerData.h"
@interface APBBisUploadGwRequest : NSObject
@property(nonatomic, strong) NSString *bisToken;
@property(nonatomic, strong) ToygerUploadContent *content;
@property(nonatomic, strong) NSString *contentSig;
@property(nonatomic, strong) NSString *behavLog;
@property(nonatomic, strong) NSString *behavLogSig;
@end
#else
#ifdef __cplusplus
extern "C"{
#endif
#import <APProtocolBuffers/ProtocolBuffers.h>
#ifdef __cplusplus
}
#endif
@interface APBBisUploadGwRequest : APDPBGeneratedMessage
@property (readonly) BOOL hasBisToken;
@property (readonly) BOOL hasContent;
@property (readonly) BOOL hasContentSig;
@property (readonly) BOOL hasBehavLog;
@property (readonly) BOOL hasBehavLogSig;
@property (nonatomic,strong) NSString* bisToken ;
@property (nonatomic,strong) NSData* content ;
@property (nonatomic,strong) NSData* contentSig ;
@property (nonatomic,strong) NSData* behavLog ;
@property (nonatomic,strong) NSData* behavLogSig ;
@end
#endif
......@@ -19,7 +19,8 @@
*/
- (instancetype)initWithBisConfig:(NSString *)biscfg;
- (instancetype)initWithBisDocConfig:(NSString *)biscfg;
@property(nonatomic, copy) NSString *protocol;
/**
* bisToken
*
......@@ -27,8 +28,6 @@
*/
- (NSString * )bisToken;
- (NSString * )ioscfg;
- (NSString * )iosvoicecfg;
- (APBToygerSoluCfg *)solucfg;
......@@ -37,8 +36,6 @@
- (int) sampleMode;
- (BOOL) isLogin;
- (NSString *) apBioSecPublicKey;
+ (NSDictionary *)getDictfrom:(NSString *) jsonStr;
......
......@@ -7,11 +7,10 @@
//
#import <Foundation/Foundation.h>
#import <CoreGraphics/CGBase.h>
#import "ToygerAlgorithmConfig.h"
@class APBToygerSceneEnv, APBToygerVideo, APFRemoteConfig, APBToygerCollect, APBDragonflyLivenessConfig,APBGeminiLivenessConfig;
@class APBToygerNavigatePage, APBToygerAlgorithm, APBToygerTips;
@class APBToygerNavigatePage, APBToygerAlgorithm, APBToygerTips, APBToygerUploadConfig;
@interface APBToygerSoluCfg: NSObject
......@@ -19,6 +18,7 @@
@property(nonatomic, strong) APBToygerNavigatePage *navi;
@end
/**
......@@ -30,19 +30,25 @@
@property(nonatomic, strong)APBToygerNavigatePage *navi;
@property(nonatomic, copy) NSDictionary *suitable;
@property(nonatomic, strong)APBToygerCollect *coll;
@property(nonatomic, copy) NSDictionary *upload;
@property(nonatomic, copy) NSDictionary *algorithm;
@property(nonatomic, strong) APBToygerUploadConfig *upload;
@property(nonatomic, strong) ToygerAlgorithmConfig *algorithm;
@property(nonatomic, copy) NSArray *scanAlgorithm;
@property(nonatomic, strong)APBToygerTips * faceTips;
@property(nonatomic, assign)NSInteger env;
@property(nonatomic, copy) NSNumber *env;
@property(nonatomic, assign)NSInteger ui;
@property(nonatomic, copy)NSString *sdkVersion;
@property(nonatomic, strong)APBToygerVideo * video;
@property(nonatomic, copy)NSString *verifyMode;
@property(nonatomic, copy)NSString *token;
@property(nonatomic, copy) NSDictionary *controlConfig;
@property(nonatomic, copy) NSArray *sdkActionList;
@property(nonatomic, copy) NSDictionary *simpleFlags;
+(APBToygerRemoteConfig *)defaultConfig;
+ (void)loadFromJSON:(NSString *)json toObject:(NSObject*) obj;
//是否包含ocrTask
- (BOOL)containOCRTask;
@end
/**
......@@ -52,6 +58,7 @@
@property(nonatomic, copy)NSString *sceneCode;
@property(nonatomic, copy)NSString *sceneType;
@property(nonatomic, copy)NSString *sysTime;
+(APBToygerSceneEnv *)defaultConfig;
......@@ -64,11 +71,23 @@
@property(nonatomic, assign)BOOL enable;
@property(nonatomic, copy)NSString *url;
@property(nonatomic, assign)BOOL needRareCharUi;
+ (APBToygerNavigatePage *)defaultConfig;
@end
/**
* ocr回填确认页相关
*/
@interface APBToygerFillBack : NSObject
@property(nonatomic, assign)BOOL enable;
@property(nonatomic, assign)BOOL editable;
+ (APBToygerFillBack *)defaultConfig;
@end
/**
* 采集场景配置
*/
......@@ -101,7 +120,8 @@
@property(nonatomic, copy) NSString *docInputMode;
@property(nonatomic, assign) CGFloat docUIRatio;
@property(nonatomic, copy) NSString *multiLangVer;
@property(nonatomic, strong) NSMutableDictionary *chameleon;
@property(nonatomic, assign) NSInteger captureFrameLimit;
+ (APBToygerCollect *)defaulConfig;
@end
......@@ -164,10 +184,15 @@
@property (nonatomic, copy) NSString *topText_left_yaw;
@property (nonatomic, copy) NSString *topText_right_yaw;
@property (nonatomic, copy) NSString *topText_mouth_open;
@property (nonatomic, copy) NSString *topText_target_too_far;
@property (nonatomic, copy) NSString *topText_target_too_close;
@property (nonatomic, copy) NSString *topText_calibrate_too_far;
@property (nonatomic, copy) NSString *topText_calibrate_too_close;
@property (nonatomic, copy) NSString *topText_nearFar_collect;
@property (nonatomic, copy) NSString *topText_face_not_in_postion;
@property (nonatomic, copy) NSString *brandTip;
@property (nonatomic, copy) NSString *stopScanTip;
@property (nonatomic, copy) NSString *garfield_guideTitle;
@property (nonatomic, copy) NSString *garfield_guideMsg;
......@@ -178,10 +203,58 @@
@property(nonatomic, strong)APBToygerAlertConfig * systemErrorAlert;
@property(nonatomic, strong)APBToygerAlertConfig * cameraNoPermissionAlert;
@property(nonatomic, strong)APBToygerAlertConfig * exitAlert;
@property(nonatomic, strong)APBToygerAlertConfig * exitAlertForPermission;
@property(nonatomic, strong)APBToygerAlertConfig * authorizationAlert;
@property(nonatomic, strong)APBToygerAlertConfig * failNoRetryAlert;
+(APBToygerTips *)defaultConfig;
@end
@interface APBToygerBaseConfig: NSObject
@property(nonatomic, copy) NSDictionary *rawData;
- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
- (void)parseProperty;
- (NSString *)stringValueForKey:(NSString *)key;
- (NSNumber *)numberValueForKey:(NSString *)key;
- (NSArray<NSNumber *> *)numberArrayForKey:(NSString *)key;
@end
@interface APBToygerUploadConfig: APBToygerBaseConfig
- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
@property(nonatomic, copy) NSDictionary *rawData;
@property(nonatomic, strong) NSNumber *desiredWidth;
@property(nonatomic, strong) NSNumber *minquality;
@property(nonatomic, strong) NSNumber *upload_compress_rate;
@property(nonatomic, strong) NSNumber *log_classifier;
@property(nonatomic, strong) NSNumber *enableSmoothTransition;
@property(nonatomic, strong) NSNumber *photinusType;
@property(nonatomic, assign) BOOL photinusVideo;
@property(nonatomic, strong) NSNumber *chameleonFrameEnable;
@property(nonatomic, strong) NSNumber *chameleonUploadCompressRate;
@property(nonatomic, copy) NSString *chameleonFileNamePrefix;
@property(nonatomic, copy) NSString *bucket;
@property(nonatomic, copy) NSString *securityToken;
@property(nonatomic, copy) NSString *endpoint;
@property(nonatomic, copy) NSString *accessKeyId;
@property(nonatomic, copy) NSString *accessKeySecret;
@property(nonatomic, copy) NSString *fileNamePrefix;
@property(nonatomic, copy) NSString *mode;
@property(nonatomic, copy) NSString *collectFileNamePrefix;
@property(nonatomic, strong) NSArray<NSString *> *collection;
@property(nonatomic, strong) NSArray *captureConfig;
@property(nonatomic, strong) NSDictionary *captureConfigItem;
@property(nonatomic, strong) NSDictionary *blobConfig;
@end
......
......@@ -71,6 +71,13 @@ THREAD_SAFE_SET_OBJECT_FOR_KEY(pipeInfo, key, [NSNumber numberWithInteger:--num]
__VA_ARGS__; \
dispatch_semaphore_signal(locker);
@interface DTFAlertTextModel : NSObject
@property(nonatomic, copy) NSString *title;
@property(nonatomic, copy) NSString *msg;
@property(nonatomic, copy) NSString *confirm;
@property(nonatomic, copy) NSString *cancel;
@end
@interface APBUtils : NSObject
+ (NSString *)MD5WithData:(NSData *)data;
......@@ -79,6 +86,12 @@ dispatch_semaphore_signal(locker);
+ (BOOL)isWifi;
+ (UIColor*)getColorFromNSString:(NSString*) cString;
+ (NSArray<NSNumber *> *)getRGBFromHexColor:(NSString *)cString;
+ (NSString *)getColorStrFromUIColor:(UIColor *)color;
/**
* 主线程同步操作,请调用宏版本
*/
......@@ -106,6 +119,50 @@ dispatch_semaphore_signal(locker);
+ (NSString *)appVersion;
+ (NSURL *)returnContentDir;
+ (NSURL *)cacheFileDir;
+ (CGRect)setX:(CGFloat)x forFrame:(CGRect)frame;
+ (CGRect)setY:(CGFloat)y forFrame:(CGRect)frame;
+ (CGRect)setW:(CGFloat)w forFrame:(CGRect)frame;
+ (CGRect)setH:(CGFloat)h forFrame:(CGRect)frame;
+ (UIImage *)flipImage:(UIImage *)image;
+ (NSArray<NSString *> *)supportedActionLivenessArray;
+ (void)removePairInDictionary:(NSMutableDictionary *)dictionary withCheck:(BOOL(^)(NSString *, NSObject*))checker;
+ (CMVideoDimensions)maxResolution:(AVCaptureDevicePosition) position;
+ (NSDictionary *)evidenceVideoCompressionProperties;
+ (void)alertWithAlertModel:(DTFAlertTextModel *)model
confirmHandler:(void (^ __nullable)(UIAlertAction * _Nonnull action))confirmHandler
cancelHandler:(void (^ __nullable)(UIAlertAction * _Nonnull action))cancelHandler
presentHandler:(void (^ __nullable)(UIAlertController * _Nonnull alertController))presentHandler;
+ (NSString *)retSubMessageForKey:(NSString *)key;
+ (NSString *)codeForKey:(NSString *)key;
+ (NSString *)getAppDisplayName;
+ (void)generateVideoFileWithFileName:(NSString *)fileName imageArray:(NSArray *)imageArr filePath:(NSURL *)filePath outputSize:(CGSize)outputSize compressionProperties:(NSDictionary *)compressionProperties handler:(void (^)(NSURL *))handler;
+ (void)genVideoWithFileURL:(NSURL *)url imageArray:(NSArray *)imageArray size:(CGSize)size compressionProperties:(NSDictionary *)compressionProperties handler:(void (^)(void))handler;
+ (void)createWorkingDirectoryWithPath:(NSURL *)filePath error:(NSError **)error;
+ (CVPixelBufferRef)pixelBufferFromCGImage:(UIImage *)image size:(CGSize)size;
+ (NSError *)errorWithErrorDomian:(NSString *)errorDomian extInfo:(NSDictionary *)extInfo errMsgWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(3,4);
/// 是否是合法的颜色字符串
/// - Parameter hexString: 16进制数据6位颜色数据,以#号开头
+ (BOOL)validColorHex:(nullable NSString *)hexString;
+ (NSString *)getFaceGuardToken:(NSString *)certifyID;
@end
......@@ -8,7 +8,7 @@
#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
#import "DTFChameleonUtilsModel.h"
#if defined(__cplusplus)
#define DTF_EXPORT extern "C"
#else
......@@ -122,6 +122,7 @@ typedef struct camera_configuration_t{
/// Get current video output size
@property (nonatomic, assign, readonly) CGSize videoOutputSize;
@property (nonatomic, assign) BOOL isCameraStop;
/**
Do not use default NSObject initializer. Use initWithConfig:error: instead.
......@@ -166,6 +167,10 @@ typedef struct camera_configuration_t{
- (BOOL)setExposureMode:(AVCaptureExposureMode)mode;
- (void)setWhiteBalanceParam:(DTFChameleonUtilsModel *)cameraParam completionHandler:(void (^ _Nullable)(NSError *error))handler;
- (void)resetVideoZoom;
/**
Start the capture session.
......
//
// DTFBaseAuthFacade.h
// DTFUtility
//
// Created by mengbingchuan on 2024/1/19.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ZIMResponse.h"
@interface DTFBaseAuthFacade : NSObject
+ (void)initSDK;
/* IPV6的初始化接口 只有你的网络环境强制要求是IPV6的时候,才调用initIPv6。
*/
+ (void)initIPv6;
+ (NSString *)getVersion;
+ (NSDictionary *)getMetaInfo;
+ (void)preloadWithCompletion:(void (^)(BOOL))completion;
+ (void)preloadWithExtParams:(NSDictionary *)params
onCompletion:(void (^)(BOOL))completion;
+ (void)setCustomUI:(nonnull NSString *)configuration
type:(nonnull NSString *)type
completion:(void(^)(BOOL success, NSError *error))completion;
+ (void)setCustomLanguage:(nonnull NSString *)configuration
type:(nonnull NSString *)type
completion:(void(^)(BOOL success, NSError *error))completion;
+ (void)verifyWith:(NSString *)certifyId
extParams:(NSDictionary *)params
onCompletion:(void (^)(ZIMResponse *response))callback;
@end
......@@ -7,7 +7,6 @@
//
#import <Foundation/Foundation.h>
//#import "DTFRPCProxyProtocol.h"
#import "DTFFaceIdentityProtocol.h"
#import "DTFNFCIdentityProtocol.h"
......@@ -15,7 +14,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface DTFBeanService : NSObject
//@property(nonatomic, strong) id<DTFRPCProxyProtocol> rpcProxy;
@property(nonatomic, strong) id<DTFFaceIdentityProtocol> faceIdentity;
@property(nonatomic, strong) id<DTFNFCIdentityProtocol> nfcIdentity;
......@@ -23,8 +21,6 @@ NS_ASSUME_NONNULL_BEGIN
- (void)setup;
- (void)setupNFC;
@end
NS_ASSUME_NONNULL_END
//
// DTFChameleonUtilsModel.h
// DTFUtility
//
// Created by 汪澌哲 on 2023/10/21.
// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface DTFChameleonUtilsModel : NSObject
@property (nonatomic, assign) float red;
@property (nonatomic, assign) float green;
@property (nonatomic, assign) float blue;
@property (nonatomic, assign) float videoZoom;
@end
NS_ASSUME_NONNULL_END
......@@ -11,7 +11,8 @@
#import <UIKit/UIKit.h>
#import "ZimModelDownloader.h"
#import "DTFSDKConfiguration.h"
#import "DTFUICustomConfig.h"
#import "DTFLanguageCustomConfig.h"
NS_ASSUME_NONNULL_BEGIN
#define ZIM_PLATFORM_SETTING_INFO_ALIYUN @"aliyun"
#define ZIM_PLATFORM_SETTING_INFO_ALITECH @"alitech"
......@@ -23,25 +24,43 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic, strong ,nullable) NSString *platformInfo;
@property(nonatomic, strong ,nullable) NSURL *photinusPath;
@property(nonatomic, strong ,nullable) NSURL *photinusInfo;
@property(nonatomic, strong, nullable) UIColor *circleColor;
@property(nonatomic, strong, nullable) UIColor *buttonColor;
@property(nonatomic, strong, nullable) UIColor *clickedColor;
@property(nonatomic, strong, nullable) NSString *ocrInfo;
@property(nonatomic, strong, nullable) NSData *faceData; // add for OCR
@property(nonatomic, strong, nullable) NSData *countryData; // add for OCR
@property(nonatomic, strong, nullable) NSString *imageCount;
@property(nonatomic, strong, nullable) UIColor *themeColor;
@property(nonatomic, strong, nullable) UIColor *circleColor;
@property(nonatomic, strong, nullable) NSString *languageURL;
@property(nonatomic, strong, nullable) NSString *languageDocPath;
@property(nonatomic, strong, nullable) NSString *languageFacePath;
@property(nonatomic, strong, nullable) NSString *languageGuidePath;
@property(nonatomic, strong, nullable) NSString *languageFromApp; //宿主App设置的语言
@property(nonatomic, strong, nullable) NSString *logUploadServerURL;
@property(nonatomic, strong, nullable) NSString *facadeBundlePath;
@property(nonatomic, assign) BOOL replayPermission;
@property(nonatomic, assign) BOOL isReadLocal;
@property(nonatomic, strong, nullable) DTFUICustomConfig *uiCustomConfig;
@property(nonatomic, strong, nullable) DTFLanguageCustomConfig *languageCustomConfig;
@property(nonatomic, assign) BOOL isShowTipView;
@property(nonatomic, assign) UIDeviceOrientation orientation;
@property(nonatomic, assign) BOOL returnContent;
@property(nonatomic, assign) BOOL returnContentUpload;
@property(nonatomic, strong, nullable) NSMutableArray *EKYCImageArray;
@property(nonatomic, strong, nullable) NSMutableArray *faceImageArray;
@property(nonatomic, assign) BOOL simpleFlags; //安全SDK的Flags
@property(nonatomic, assign) BOOL tempddsFlags;//是否需要做安全加密
@property(nonatomic, assign) BOOL iPv6Flags;
@property(nonatomic, assign) BOOL needPermissionToast;//是否需要弹出权限toast
@property(nonatomic, assign) double permissionToastDuration;//弹出权限toast时间
@property(nonatomic, copy, nullable) NSDictionary *responseExtInfo;
@property(nonatomic, strong) DTFSDKConfiguration *remoteConfig;
+ (DTFConfiguration *)sharedInstance;
@end
NS_ASSUME_NONNULL_END
......@@ -21,13 +21,36 @@ extern NSString *const kZIMResponseKey;
extern NSString *const kZIMValidateResponseKey;
extern NSString *const kZIMCertNoKey;
extern NSString *const kZIMCertNameKey;
extern NSString *const kZIMRareCharCertNoKey;
extern NSString *const kZIMRareCharCertNameKey;
extern NSString *const ZIM_EXT_PARAMS_KEY_OCR_BOTTOM_BUTTON_COLOR; //设置颜色的值,值内容为:#FFFFFF 格式,必须为6位
extern NSString *const ZIM_EXT_PARAMS_KEY_OCR_BOTTOM_BUTTON_CLICKED_COLOR; //设置按钮点击颜色的值,值内容为:#FFFFFF 格式 ,必须为6位
extern NSString *const ZIM_EXT_PARAMS_KEY_USE_VIDEO; //返回本地视频的key
extern NSString *const ZIM_EXT_PARAMS_KEY_OCR_FACE_CIRCLE_COLOR;
extern NSString *const ZIM_EXT_PARAMS_KEY_USE_VIDEO_UPLOAD; //返回本地视频上传到服务端的key
extern NSString *const ZIM_EXT_PARAMS_KEY_OCR_FACE_THEME_COLOR;
extern NSString *const ZIM_EXT_PARAMS_KEY_NFC_THEME_COLOR;
extern NSString *const ZIM_EXT_PARAMS_KEY_MODEL_FILE_PATH; //设置文件路径
extern NSString *const ZIM_EXT_PARAMS_KEY_ACTIVITYINDICATOR_COLOR;
extern NSString *const ZIM_EXT_PARAMS_KEY_PRELOAD_MODEL_URL;
extern NSString *const ZIM_EXT_PARAMS_KEY_TIMEOUT_FOR_INIT;
extern NSString *const ZIM_EXT_PARAMS_KEY_TIMEOUT_FOR_VERIFY;
extern NSString *const ZIM_EXT_PARAMS_KEY_RETURN_OCR_IMAGE;
extern NSString *const ZIM_EXT_PARAMS_KEY_LANGUAGE;
extern NSString *const ZIM_EXT_PARAMS_KEY_NEED_PERMISSION_TOAST;
extern NSString *const ZIM_EXT_PARAMS_KEY_NEED_FACE_NOTICE;
extern NSString *const ZIM_EXT_PARAMS_KEY_PERMISSION_TOAST_DURATION;
extern NSString *const kDTFOSSErrorDomain;
extern NSString *const kDTFEvidenceVideoName;
extern NSString *const kDTFPhotinusDataName;
extern NSString *const kDTFNOLivenessName;
extern NSString *const kDTFBlinkLivenessName;
extern NSString *const kDTFLeftYawLivenessName;
extern NSString *const kDTFRightYawLivenessName;
extern NSString *const kDTFLipMovementLivenessName;
extern NSString *const kDTFPhotinusLivenessName;
extern NSString *const kDTFNearFarLivenessName;
extern NSString *const kDTFBlinkLivenessName;
extern NSString *const kDTFEquipmentLivenessName;
......@@ -57,8 +57,8 @@ static NSString *const kDTFModelFileErrorMessage = @"(Z1023)";
static NSString *const kDTFZimBusyErrorCode = @"Z1024";
static NSString *const kDTFZimBusyErrorMessage = @"(Z1024)";
static NSString *const kDTFZimBusyErrorReason = @"认证进行中重复调用认证";
static NSString *const kDTFProcessInterruptionErrorCode = @"Z1025";
static NSString *const kDTFProcessInterruptionErrorMessage = @"流程被中断(Z1025)";
static NSString *const kDTFProcessInterruptionErrorCode = @"Z1055";
static NSString *const kDTFProcessInterruptionErrorMessage = @"流程被中断(Z1055)";
static NSString *const kDTUploadImageFailedErrorCode = @"Z1026";
static NSString *const kDTFUploadImageFailedErrorMessage = @"";
static NSString *const kDTFVerifyFailedErrorCode = @"Z1027";
......@@ -108,6 +108,15 @@ static NSString *const kDTFOcrUserQuitInEmblemAuthenticationErrorMessage = @"
static NSString *const kDTFOcrInterruptionErrorCode = @"Z2004";
static NSString *const kDTFOcrInterruptionErrorReason = @"OCR过程被中断";
static NSString *const kDTFOcrInterruptionErrorMessage = @"OCR过程被中断(Z2004))";
static NSString *const kDTFFaceDetectNotImportErrorCode = @"I4001";
static NSString *const kDTFFaceDetectNotImportErrorMessage = @"刷脸模块接入异常";
static NSString *const kDTFOcrNotImportErrorCode = @"I4003";
static NSString *const kDTFOcrNotImportErrorMessage = @"OCR模块接入异常";
static NSString *const kDTFNFCNotImportErrorCode = @"I4004";
static NSString *const kDTFNFCNotImportErrorMessage = @"NFC模块接入异常";
static NSString *const kDTFMultiFactorNotImportErrorCode = @"I4005";
static NSString *const kDTFMultiFactorNotImportErrorMessage = @"意愿模块接入异常";
static NSString *const kDTFAudioIsEmptyErrorCode = @"Z5116";
static NSString *const kDTFAudioIsEmptyErrorMessage = @"Z5116 - 音频文件上传失败";
static NSString *const kDTFOcrNetworkFailedErrorCode = @"Z6002";
......
//
// DTFLanguageCustomConfig.h
// DTFUtility
//
// Created by 汪澌哲 on 2024/1/8.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface DTFLanguageCustomGuideConfig : NSObject
@property (nonatomic, copy) NSString *titleText;
@property (nonatomic, copy) NSString *agrtTopTipsText;
@property (nonatomic, copy) NSString *agrtAgreeText;
@property (nonatomic, copy) NSString *agrtText;
@property (nonatomic, copy) NSString *agrtBotTipsText;
@property (nonatomic, copy) NSString *startBtnText;
@property (nonatomic, copy) NSString *elderBtnText;
@property (nonatomic, copy) NSString *exitBtnText;
@property (nonatomic, copy) NSString *rareFormNameText;
@property (nonatomic, copy) NSString *rareFormIDText;
@property (nonatomic, copy) NSString *rareFormEntBtnText;
@property (nonatomic, copy) NSString *authPermissionCamera;
@property (nonatomic, copy) NSString *authPermissionAudio;
@property (nonatomic, copy) NSString *authPermissionScreenEvidence;
@property (nonatomic, copy) NSString *authPermissionToastTitle;
@property (nonatomic, copy) NSString *authPermissionToastMsg;
@property (nonatomic, copy) NSString *authPermissionAPPName;
@property (nonatomic, copy) NSString *authPermissionSDKName;
@property (nonatomic, copy) NSString *dialogExitTitle;
@property (nonatomic, copy) NSString *dialogExitMsg;
@property (nonatomic, copy) NSString *dialogExitConfirm;
@property (nonatomic, copy) NSString *dialogExitCancel;
@property (nonatomic, copy) NSString *dialogPermissionFailedTitle;
@property (nonatomic, copy) NSString *dialogPermissionFailedMsg;
@property (nonatomic, copy) NSString *dialogPermissionFailedConfirm;
@property (nonatomic, copy) NSString *dialogPermissionFailedCancel;
@property (nonatomic, copy) NSString *dialogNetworkFailedTitle;
@property (nonatomic, copy) NSString *dialogNetworkFailedMsg;
@property (nonatomic, copy) NSString *dialogNetworkFailedConfirm;
@property (nonatomic, copy) NSString *dialogSupportFailedTitle;
@property (nonatomic, copy) NSString *dialogSupportFailedMsg;
@property (nonatomic, copy) NSString *dialogSupportFailedConfirm;
@property (nonatomic, copy) NSString *settingFailReason;
@property (nonatomic, copy) NSDictionary *originMap;
@end
@interface DTFLanguageCustomFaceConfig : NSObject
@property (nonatomic, copy) NSString *faceNotFound;
@property (nonatomic, copy) NSString *faceTooFar;
@property (nonatomic, copy) NSString *faceTooClose;
@property (nonatomic, copy) NSString *faceNotIn;
@property (nonatomic, copy) NSString *badPitch;
@property (nonatomic, copy) NSString *badYaw;
@property (nonatomic, copy) NSString *faceTooMore;
@property (nonatomic, copy) NSString *faceIsMoving;
@property (nonatomic, copy) NSString *faceBrightless;
@property (nonatomic, copy) NSString *faceBadQuality;
@property (nonatomic, copy) NSString *eyesOnScreen;
@property (nonatomic, copy) NSString *blink;
@property (nonatomic, copy) NSString *leftYaw;
@property (nonatomic, copy) NSString *rightYaw;
@property (nonatomic, copy) NSString *stackTime;
@property (nonatomic, copy) NSString *isBlur;
@property (nonatomic, copy) NSString *faceInitTxt;
@property (nonatomic, copy) NSString *faceTitleBlink;
@property (nonatomic, copy) NSString *leftYawLiveness;
@property (nonatomic, copy) NSString *rightYawLiveness;
@property (nonatomic, copy) NSString *photinusCommTips;
@property (nonatomic, copy) NSString *processing;
@property (nonatomic, copy) NSString *dialogTimeOutTitle;
@property (nonatomic, copy) NSString *dialogTimeOutMsg;
@property (nonatomic, copy) NSString *dialogTimeOutConfirm;
@property (nonatomic, copy) NSString *dialogInterruptTitle;
@property (nonatomic, copy) NSString *dialogInterruptConfirm;
@property (nonatomic, copy) NSString *dialogInterruptCancel;
@property (nonatomic, copy) NSString *dialogTooManyRetriesTitle;
@property (nonatomic, copy) NSString *dialogTooManyRetriesMsg;
@property (nonatomic, copy) NSString *dialogTooManyRetriesConfirm;
@property (nonatomic, copy) NSString *dialogExitTitle;
@property (nonatomic, copy) NSString *dialogExitMsg;
@property (nonatomic, copy) NSString *dialogExitConfirm;
@property (nonatomic, copy) NSString *dialogExitCancel;
@property (nonatomic, copy) NSString *dialogCamOpenFailedTitle;
@property (nonatomic, copy) NSString *dialogCamOpenFailedMsg;
@property (nonatomic, copy) NSString *dialogCamOpenFailedCancel;
@property (nonatomic, copy) NSString *dialogCamOpenFailedConfirm;
@property (nonatomic, copy) NSString *dialogArchSysFailedTitle;
@property (nonatomic, copy) NSString *dialogArchSysFailedMsg;
@property (nonatomic, copy) NSString *dialogArchSysFailedConfirm;
@property (nonatomic, copy) NSString *dialogSDKErrTitle;
@property (nonatomic, copy) NSString *dialogSDKErrMsg;
@property (nonatomic, copy) NSString *dialogSDKErrConfirm;
@property (nonatomic, copy) NSString *dialogNetworkFailedTitle;
@property (nonatomic, copy) NSString *dialogNetworkFailedMsg;
@property (nonatomic, copy) NSString *dialogNetworkFailedConfirm;
@property (nonatomic, copy) NSString *settingFailReason;
@property (nonatomic, copy) NSString *verifyNotice;
@end
@interface DTFLanguageCustomConfig : NSObject
@property (strong, nonatomic) DTFLanguageCustomGuideConfig *guideConfig;
@property (strong, nonatomic) DTFLanguageCustomFaceConfig *faceConfig;
@property (strong, nonatomic) NSDictionary *docConfig;
- (instancetype)initWithString:(NSString *)string type:(NSString *)type error:(NSError **)error;
@end
NS_ASSUME_NONNULL_END
......@@ -7,22 +7,33 @@
//
#import <Foundation/Foundation.h>
typedef void (^DTFLanguageDownloadCompletionBlock)(NSError * _Nullable error);
NS_ASSUME_NONNULL_BEGIN
@interface DTFLanguageManager : NSObject
typedef void(^DTFLanguageDownloadCompletionBlock)(NSError *error);
@property (nonatomic, strong)NSString *ocrResultStr;
@property (nonatomic, strong)NSString *languageType;
+ (instancetype)sharedInstance;
- (BOOL)checkNeedPreload;
- (BOOL)checkUpdateWithVersion:(NSString *)version;
- (void)startDownloadWithCompletion:(DTFLanguageDownloadCompletionBlock)completion;
- (NSString *)getLocalizedStringForKey:(NSString *)key;
- (NSString *)getMultiFilePath;
- (NSString *)getMultiJsonFile;
- (void)setBundlePath:(NSString *)bundlePath;
- (BOOL)checkUpdateDocWithVersion:(NSString *)version;
- (BOOL)checkUpdateFaceWithVersion:(NSString *)version;
- (BOOL)checkUpdateGuideWithVersion:(NSString *)version;
- (void)startFaceDownloadWithCompletion:(DTFLanguageDownloadCompletionBlock)completion;
- (void)startDocDownloadWithCompletion:(DTFLanguageDownloadCompletionBlock)completion;
- (void)startGuideDownloadWithCompletion:(DTFLanguageDownloadCompletionBlock)completion;
- (NSString *)getCurrentLanguage;
- (NSString *)getCurrentFullLanguage;
- (NSString *)getFileWithPath:(NSString *)path fileName:(NSString *)fileName;
- (void)initializeLanguageDictionary;
- (NSString *)faceStringWithKey:(NSString *)key;
- (NSString *)docStringWithKey:(NSString *)key;
- (NSString *)guideStringWithKey:(NSString *)key;
@end
......
//
// MPLogAdditions.h
// MPRemoteLogging
//
// Created by tashigaofei on 15/10/13.
// Copyright © 2015年. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface DTFLogAdditions : NSObject
/**
* UUID、UTDID、clientID、deviceModel,language,接入方无须重写,由mPaaS自动获取。
*/
@property (nonatomic, strong, readonly) NSString *UUID; // 默认实现为从DTFMobileIdentifier获取,如果没有DTFMobileIdentifier,会调用系统方法获取UUID
@property (nonatomic, strong, readonly) NSString *UTDID; // 默认实现为从DTFMobileIdentifier获取,如果没有DTFMobileIdentifier,会反射式调用UTDID库的[UTDevice utdid]方法
@property (nonatomic, strong, readonly) NSString *clientID; // 默认实现为从DTFMobileIdentifier获取,如果没有DTFMobileIdentifier,会返回@""
@property (nonatomic, strong) NSString *deviceModel; // 默认实现为从DTFMobileIdentifier获取,如果没有DTFMobileIdentifier,会调用系统方法获取设备型号
@property (nonatomic, strong) NSString *language; // 默认实现为读取NSUserDefaults中kAPLanguageSettingKey。如果使用钱包或mPaaS多语言模块,该方法不需要重写
/**
* userID为可选参数,当前登录的用户,接入方在Category中覆盖实现。
*/
@property (nonatomic, strong) NSString *userID;
/**
* log日志服务器地址,默认返回@"",需要接入方在Category中覆盖。格式为https://mdap.xxxlog.com/loggw/log.do
*/
@property (nonatomic, strong) NSString *logServerURL;
/**
* log日志服务器配置地址,默认返回@"",需要接入方在Category中覆盖。格式为https://mdap.xxxlog.com/loggw/config.do
* 一般只需要重写logServerURL即可,configServerURL系统会自动根据logServerURL进行修改。
*/
@property (nonatomic, strong) NSString *configServerURL;
/**
* 客户端日志产品ID,默认返回[[NSBundle mainBundle] objectForInfoDictionaryKey:@"Product ID"],如果不同需要接入方在Category中覆盖。
*/
@property (nonatomic, strong) NSString *platformID;
+ (instancetype)sharedInstance;
/**
* 默认进行上传的日志类型。哪些类型的日志在什么网络下进行上传,是由服务端下发配置来设置。
* 但当服务端配置不存在时,可以覆盖这个方法返回一定进行上传的日志类型。
* 默认实现为返回 @[@(MPLogTypeBehavior), @(MPLogTypeCrash), @(MPLogTypeAuto), @(MPLogTypeMonitor), @(MPLogTypeKeyBizTrace)]
*
* @return @[@(MPLogTypeXXX), @(MPLogTypeYYY)]数组。数组元素为NSNumber类型
*/
- (NSArray*)defaultUploadLogTypes;
/**
* 输出诊断日志到本地日志文件,方便定位问题。
* 该方法默认实现为空,由外部覆盖实现为指定日志方法。
*/
- (void)logToFile:(NSString*)logStr;
/**
* 触发本地日志上传的最小条数,默认为40。
* 即默认本地未上传的日志到达40条时,会自动触发上传,业务可根据需求修改
*/
- (NSInteger )numberOfSyncLogs;
@end
//
// DTFOSSManager.h
// DTFUtility
//
// Created by mengbingchuan on 2024/6/25.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ToygerData.h"
#define kDTFOSSFileNameKey @"fileName"
#define kDTFOSSFileDataKey @"fileData"
NS_ASSUME_NONNULL_BEGIN
@interface DTFOSSManager : NSObject
+ (NSDictionary * )buildUploadData:(NSData *)data fileName:(NSString *)fileName fileNamePrefix:(NSString *)fileNamePrefix fileType:(NSString *)fileType;
+ (void)uploadWithParams:(NSDictionary *)params completionBlock:(void (^)(NSError *error, NSDictionary *result))blk;
@end
NS_ASSUME_NONNULL_END
//
// DTFOSSModel.h
// DTFUtility
//
// Created by 汪澌哲 on 2023/10/22.
// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface DTFOSSModel : NSObject
@property (nonatomic, copy) NSString *accessKeyId;
@property (nonatomic, copy) NSString *accessKeySecret;
@property (nonatomic, copy) NSString *securityToken;
@property (nonatomic, copy) NSString *endpoint;
@property (nonatomic, copy) NSString *bucket;
@property (nonatomic, copy) NSString *fileNamePrefix;
@property (nonatomic, strong) NSNumber *useBackup;
@property (nonatomic, copy) NSString *backupOssEndPoint;
@property (nonatomic, copy) NSString *backupBucketName;
+ (instancetype)defaultModel;
- - initWithId:(NSString *)keyId keySecret:(NSString *)keySecret token:(NSString *)token endpoint:(NSString *)endpoint bucket:(NSString *)bucket prefix:(NSString *)prefix backupEndpoint:(NSString *)backupEndpoint backupBucket:(NSString *)backupBucket;
- - initWithDictionary:(NSDictionary *)dictionary;
- (NSDictionary *)dictionary;
- (BOOL)supportedBackup;
@end
......@@ -61,6 +61,11 @@ typedef void (^DTFRpcCompletionBlock)(NSError *error, NSDictionary *data);
*/
- (void)zimEKYCOCRConfirmIdentify:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk;
/**
* oss上传
*/
- (void)zimFileUpload:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk;
@end
......@@ -16,7 +16,16 @@
@property (nonatomic, copy) NSString *LOG_DEBUG_UPLOAD;
@property (nonatomic, copy) NSString *FORCE_MODEL_DOWNLOAD;
@property (nonatomic, copy) NSString *URLSESSION_DEGRADE;
@property (nonatomic, copy) NSString *MULTI_PICTURE_COLLECT;
@property (nonatomic, copy) NSString *EQUIPMENT_LIVENESS_THRESHOLD;
@property (nonatomic, copy) NSString *GEN_VIDEO_DEGRADE;
@property (nonatomic, copy) NSArray *MODEL_FILES;
@property (nonatomic, copy) NSString *PRESENT_VC_USE_COMPLETION;
@property (nonatomic, copy) NSString *BIO_USE_DELEGATE_REPLACE_KVO;
@property (nonatomic, copy) NSString *USE_BACKUP_DOMAIN_WHEN_TIMEOUT;//为@"1"时打开
@property (nonatomic, copy) NSString *NEED_OBSERVER_CAPTURE_SESSION;//是否需要监听session错误
@property (nonatomic, copy) NSString *ROTATION_OLD_STYLE;//是否使用老代码处理旋转
@property (nonatomic, copy) NSString *CLIENT_NATIVE_PHOTINUS;
//处理后数据
@property (nonatomic, assign) BOOL urlSessionDegrade;
......
//
// DTFStringsManager.h
// DTFUtility
//
// Created by mengbingchuan on 2024/1/23.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface DTFStringsUtils : NSObject
+ (NSString *)faceStringWithKey:(NSString *)key;
+ (NSString *)docStringWithKey:(NSString *)key;
+ (NSString *)guideStringWithKey:(NSString *)key;
@end
NS_ASSUME_NONNULL_END
//
// DTFUICustomConfig.h
// DTFUtility
//
// Created by 汪澌哲 on 2024/1/7.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface DTFGuideConfig : NSObject
@property (copy, nonatomic) NSString *titleColor;
@property (copy, nonatomic) NSString *titleBackPath;
@property (copy, nonatomic) NSString *titleBackBase64;
@property (copy, nonatomic) NSString *titleClosePath;
@property (copy, nonatomic) NSString *titleCloseBase64;
@property (copy, nonatomic) NSString *bannerImg;
@property (copy, nonatomic) NSString *agrtTopTipsColor;
@property (copy, nonatomic) NSString *agrtUnSelColor;
@property (copy, nonatomic) NSString *agrtSelBgColor;
@property (copy, nonatomic) NSString *agrtAgreeColor;
@property (copy, nonatomic) NSString *agrtColor;
@property (copy, nonatomic) NSString *startBtnColor;
@property (copy, nonatomic) NSString *agrtBotTipsColor;
@property (copy, nonatomic) NSString *startBtnDisColor;
@property (copy, nonatomic) NSString *startBtnBgColor;
@property (copy, nonatomic) NSString *startBtnDisBgColor;
@property (copy, nonatomic) NSString *elderBtnDisColor;
@property (copy, nonatomic) NSString *elderBtnBgColor;
@property (copy, nonatomic) NSString *elderBtnDisBgColor;
@property (copy, nonatomic) NSString *exitBtnColor;
@property (copy, nonatomic) NSString *exitBtnBgColor;
@property (copy, nonatomic) NSString *rareFormNameColor;
@property (copy, nonatomic) NSString *rareFormIDColor;
@property (copy, nonatomic) NSString *elderBtnColor;
@property (copy, nonatomic) NSString *rareFormEntBtnColor;
@property (copy, nonatomic) NSString *permissionDialogConfirmColor;
@property (copy, nonatomic) NSString *permissionToastTitleColor;
@property (copy, nonatomic) NSString *permissionToastMsgColor;
@property (copy, nonatomic) NSString *permissionToastBgColor;
@property (copy, nonatomic) NSString *dialogExitTitleColor;
@property (copy, nonatomic) NSString *dialogExitMsgColor;
@property (copy, nonatomic) NSString *dialogExitCancelColor;
@property (copy, nonatomic) NSString *dialogExitConfirmColor;
@property (copy, nonatomic) NSString *dialogPermissionFailedTitleColor;
@property (copy, nonatomic) NSString *dialogPermissionFailedMsgColor;
@property (copy, nonatomic) NSString *dialogPermissionFailedConfirmColor;
@property (copy, nonatomic) NSString *dialogPermissionFailedCancelColor;
@property (copy, nonatomic) NSString *dialogSupportFailedTitleColor;
@property (copy, nonatomic) NSString *dialogSupportFailedMsgColor;
@property (copy, nonatomic) NSString *dialogSupportFailedConfirmColor;
@property (copy, nonatomic) NSString *dialogNetworkFailedTitleColor;
@property (copy, nonatomic) NSString *dialogNetworkFailedMsgColor;
@property (copy, nonatomic) NSString *dialogNetworkFailedConfirmColor;
@property (copy, nonatomic) NSString *settingFailReason;
@property (copy, nonatomic) NSDictionary *originMap;
@end
@interface DTFFaceConfig : NSObject
@property (copy, nonatomic) NSString *faceBgColor;
@property (copy, nonatomic) NSString *faceTitleColor;
@property (copy, nonatomic) NSString *circleTxtBgAlpha;
@property (copy, nonatomic) NSString *dialogBgAlpha;
@property (copy, nonatomic) NSString *faceProgressStartColor;
@property (copy, nonatomic) NSString *faceProgressEndColor;
@property (copy, nonatomic) NSString *circleTxtColor;
@property (copy, nonatomic) NSString *exitIconPath;
@property (copy, nonatomic) NSString *exitIconBase64;
@property (copy, nonatomic) NSString *submitTextColor;
@property (copy, nonatomic) NSString *submitLoadingIconBase64;
@property (copy, nonatomic) NSString *submitLoadingIconPath;
@property (copy, nonatomic) NSString *dialogExitTitleColor;
@property (copy, nonatomic) NSString *dialogExitMsgColor;
@property (copy, nonatomic) NSString *dialogExitCancelColor;
@property (copy, nonatomic) NSString *dialogExitConfirmColor;
@property (copy, nonatomic) NSString *dialogTimeOutTitleColor;
@property (copy, nonatomic) NSString *dialogTimeOutMsgColor;
@property (copy, nonatomic) NSString *dialogTimeOutConfirmColor;
@property (copy, nonatomic) NSString *dialogNetworkFailedTitleColor;
@property (copy, nonatomic) NSString *dialogNetworkFailedMsgColor;
@property (copy, nonatomic) NSString *dialogNetworkFailedConfirmColor;
@property (copy, nonatomic) NSString *dialogArchSysFailedTitleColor;
@property (copy, nonatomic) NSString *dialogArchSysFailedMsgColor;
@property (copy, nonatomic) NSString *dialogArchSysFailedConfirmColor;
@property (copy, nonatomic) NSString *dialogTooManyRetriesTitleColor;
@property (copy, nonatomic) NSString *dialogTooManyRetriesMsgColor;
@property (copy, nonatomic) NSString *dialogTooManyRetriesConfirmColor;
@property (copy, nonatomic) NSString *dialogInterruptTitleColor;
@property (copy, nonatomic) NSString *dialogInterruptMsgColor;
@property (copy, nonatomic) NSString *dialogInterruptConfirmColor;
@property (copy, nonatomic) NSString *dialogInterruptCancelColor;
@property (copy, nonatomic) NSString *dialogSDKErrTitleColor;
@property (copy, nonatomic) NSString *dialogSDKErrMsgColor;
@property (copy, nonatomic) NSString *dialogSDKErrConfirmColor;
@property (copy, nonatomic) NSString *dialogCamOpenFailedTitleColor;
@property (copy, nonatomic) NSString *dialogCamOpenFailedMsgColor;
@property (copy, nonatomic) NSString *dialogCamOpenFailedConfirmColor;
@property (copy, nonatomic) NSString *dialogCamOpenFailedCancelColor;
@property (copy, nonatomic) NSString *noticeIconPath;
@property (copy, nonatomic) NSString *noticeIconBase64;
@property (copy, nonatomic) NSString *noticeTxtColor;
@property (copy, nonatomic) NSString *noticeBgColor;
@property (copy, nonatomic) NSString *settingFailReason;
@property (copy, nonatomic) NSString *dialogConfirmBgColor;//弹框确认按钮背景颜色
@property (copy, nonatomic) NSString *dialogCancelBgColor;//弹框取消按钮背景颜色
@end
@interface DTFUICustomConfig : NSObject
@property (strong, nonatomic) DTFGuideConfig *guideConfig;
@property (strong, nonatomic) DTFFaceConfig *faceConfig;
- (instancetype)initWithString:(NSString *)string type:(NSString *)type error:(NSError **)error;
+ (NSString *)checkValueFailt:(NSString *)value key:(NSString *)key;
+ (void)setDefaultForKey:(NSString *)key object:(NSObject *)object ;
+ (void)checkKeyFaultWithDict:(NSDictionary *)dict propertyName:(NSMutableSet *)propertyName settingFailReason:(NSString *)settingFailReason;
+ (NSString *)setValueForKeyWithClass:(NSObject *)object params:(NSDictionary *)params;
+ (UIImage *)getImageWithBse64:(NSString *)base64Str path:(NSString *)path;
+ (UIImage *)submitLoadingIcon;
+ (UIImage *)noticeIcon;
+ (UIImage *)titleCloseIcon;
+ (UIImage *)titleBackIcon;
+ (UIImage *)exitIcon;
@end
NS_ASSUME_NONNULL_END
......@@ -35,3 +35,7 @@ FOUNDATION_EXPORT const unsigned char DTFUtilityVersionString[];
#import <DTFUtility/NSString+DTFBase64.h>
#import <DTFUtility/DTFConstant.h>
#import <DTFUtility/DTFServerError.h>
#import <DTFUtility/APBToygerBioBisConfigManager.h>
#import <DTFUtility/APBToygerRemoteConfig.h>
#import <DTFUtility/APBBisProtocol.h>
#import <DTFUtility/ToygerBaseModel.h>
//
// NSData+DTFJSON.h
// DTFUtility
//
// Created by mengbingchuan on 2024/7/10.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSData (DTFJSON)
- (NSDictionary *)dtf_jsonDictionaryError:(NSError **)error;
- (NSMutableDictionary *)dtf_jsonMutableDictionaryError:(NSError **)error;
@end
NS_ASSUME_NONNULL_END
//
// NSDictionary+DTFJSON.h
// DTFUtility
//
// Created by mengbingchuan on 2024/7/15.
// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSDictionary (DTFJSON)
- (NSString *)dtf_jsonStringError:(NSError **)error;
- (NSData *)dtf_jsonDataError:(NSError **)error;
@end
NS_ASSUME_NONNULL_END
//
// NSObject+Toyger.h
// ToygerService
//
// Created by 王伟伟 on 2018/2/28.
// Copyright © 2018年 DTF. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSObject (Toyger)
- (NSDictionary *_Nonnull)propertyOfClass:(Class _Nullable )aclass;
//- (NSMutableDictionary *_Nonnull)dictionary;
//- (id _Nonnull )idFromObject:(nonnull id)object;
@end
......@@ -14,12 +14,12 @@ NS_ASSUME_NONNULL_BEGIN
/**
* 转换为Base64编码
*/
- (NSString *)base64EncodedString;
- (NSString *)dtf_base64EncodedString;
/**
* 将Base64解码
*/
- (NSString *)base64DecodedString;
- (NSString *)dtf_base64DecodedString;
@end
......
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论