diff --git a/nativePlugins/AP-FaceDetectModule/android/APSecuritySDK-deepSec-7.0.1.20250917.jiagu.aar b/nativePlugins/AP-FaceDetectModule/android/APSecuritySDK-deepSec-7.0.1.20250917.jiagu.aar new file mode 100644 index 00000000..f5b62a01 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/APSecuritySDK-deepSec-7.0.1.20250917.jiagu.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/Android-AliyunFaceGuard-10057.aar b/nativePlugins/AP-FaceDetectModule/android/Android-AliyunFaceGuard-10057.aar new file mode 100644 index 00000000..293e2d10 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/Android-AliyunFaceGuard-10057.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-base-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-base-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..19f47520 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-base-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-facade-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-facade-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..59b7d11f Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-facade-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-face-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-face-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..6a11f3b3 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-face-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-face-uniplugin.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-face-uniplugin.aar new file mode 100644 index 00000000..efbe1747 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-face-uniplugin.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-faceaudio-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-faceaudio-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..40c7d077 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-faceaudio-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-facelanguage-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-facelanguage-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..ca272c15 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-facelanguage-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-facequality-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-facequality-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..5ba175af Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-facequality-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-nfc-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-nfc-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..c39f821a Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-nfc-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-ocr-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-ocr-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..537d9823 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-ocr-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/android/aliyun-wishverify-2.3.41.1.250926151123.aar b/nativePlugins/AP-FaceDetectModule/android/aliyun-wishverify-2.3.41.1.250926151123.aar new file mode 100644 index 00000000..31838adc Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/android/aliyun-wishverify-2.3.41.1.250926151123.aar differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/en.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/en.strings new file mode 100644 index 00000000..1cb866c0 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/en.strings @@ -0,0 +1,78 @@ +/* + en.strings + APBToygerFacade + + Created by shouyi.www on 2017/6/1. + Copyright © 2017年 DTF. All rights reserved. +*/ + +"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"; +"APBToygerFacade:当前系统不支持刷脸"="Face scan not supported on your device system"; +"APBToygerFacade:无法启动相机"="No camera permission"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="Please allow to access your camera in \"Settings\"-\"Privacy\"-\"Camera\""; +"APBToygerFacade:立即开启"="OK"; +"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:本次操作失败"="Sorry, face scan failed"; +"APBToygerFacade:网络不给力"="Network connection failed"; +"APBToygerFacade:登录中断"="Login interrupted"; +"APBToygerFacade:验证中断"="Face scan interrupted"; + + +"APBToygerFacade:刷脸验证"="Face Scan"; +"APBToygerFacade:请把脸放入框内保持不动"="Put your face into the frame"; +"APBToygerFacade:靠近一点"="Move closer"; +"APBToygerFacade:没有检测到脸"="No face"; +"APBToygerFacade:再清晰一点"="Face not clear"; +"APBToygerFacade:脸部亮一点"="More light"; +"APBToygerFacade:请正对手机"="No face"; +"APBToygerFacade:把脸移入圈内"="No face"; +"APBToygerFacade:离远一点"="Move farther"; +"APBToygerFacade:请保持不动"="Stay still"; +"APBToygerFacade:请注视屏幕"="Open your eyes"; +"APBToygerFacade:眨眨眼"="Blink"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="Use a different verification method"; +"APBToygerFacade:拿起手机眨眨眼"="Blink"; +"APBToygerFacade:拿起手机向左摇头"="Turn Head Left"; +"APBToygerFacade:拿起手机向右摇头"="Turn Head Right"; +"APBToygerFacade:向左摇头"="Turn Head Left"; +"APBToygerFacade:向右摇头"="Turn Head Right"; + + +"APBToygerFacade:正在处理"="Processing"; +"APBToygerFacade:首次使用,请开通刷脸"="For the first time use, please enable Face Scan"; +"APBToygerFacade:立即开通"="Enable"; +"APBToygerFacade:下次再说"="Later"; + +"APBToygerFacade:请把手机正对面部"="Face straight at the phone"; +"APBToygerFacade:即将开始人脸检测"="Get ready for face recognition"; + +"APBToygerFacade:没有认出你"="Face scan failed"; +"APBToygerFacade:未能识别人脸"="Face not detected"; +"APBToygerFacade:人脸检测中"="Face Scan"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="Too many failed attempts, please try again later"; +"APBToygerFacade:请保持单人操作"=" "; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/id.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/id.strings new file mode 100644 index 00000000..91a74e6d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/id.strings @@ -0,0 +1,69 @@ +"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"; +"APBToygerFacade:当前系统不支持刷脸"="Sistem saat ini tidak mendukung pengenalan wajah"; +"APBToygerFacade:无法启动相机"="Tidak Memiliki Izin Akses Kamera"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="Buka Pengaturan > Privasi > Kamera dan izinkan akses"; +"APBToygerFacade:立即开启"="OK"; +"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:网络不给力"="Kondisi jaringan tidak memenuhi persyaratan"; +"APBToygerFacade:登录中断"="Logon Terganggu"; +"APBToygerFacade:验证中断"="Verifikasi terputus"; + + +"APBToygerFacade:刷脸验证"="Verifikasi dengan Pengenalan Wajah"; +"APBToygerFacade:请把脸放入框内保持不动"="Posisikan wajah Anda di dalam bingkai dan jangan bergerak"; +"APBToygerFacade:靠近一点"="Harap dekatkan wajah"; +"APBToygerFacade:没有检测到脸"="Tidak ada wajah terdeteksi"; +"APBToygerFacade:再清晰一点"="Perjelas wajah Anda"; +"APBToygerFacade:脸部亮一点"="Terangi wajah Anda"; +"APBToygerFacade:请正对手机"="Arahkan wajah lurus menghadap ponsel"; +"APBToygerFacade:请露出正脸"="Tunjukkan bagian depan wajah Anda"; +"APBToygerFacade:把脸移入圈内"="Posisikan wajah pada lingkaran"; +"APBToygerFacade:离远一点"="Harap jauhkan wajah"; +"APBToygerFacade:请保持不动"="Tetap tenang"; +"APBToygerFacade:请注视屏幕"="Lihat layar"; +"APBToygerFacade:眨眨眼"="Harap kedipkan mata"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="Ubah Metode Verifikasi"; +"APBToygerFacade:拿起手机眨眨眼"="Harap kedipkan mata"; +"APBToygerFacade:拿起手机向左摇头"="Harap menoleh ke kiri"; +"APBToygerFacade:拿起手机向右摇头"="Harap menoleh ke kanan"; +"APBToygerFacade:向左摇头"="Harap menoleh ke kiri"; +"APBToygerFacade:向右摇头"="Harap menoleh ke kanan"; + +"APBToygerFacade:正在处理"="Memproses"; +"APBToygerFacade:首次使用,请开通刷脸"="Aktifkan pengenalan wajah untuk melanjutkan"; +"APBToygerFacade:立即开通"="Aktifkan"; +"APBToygerFacade:下次再说"="Lain Kali"; + +"APBToygerFacade:请把手机正对面部"="Arahkan wajah lurus menghadap ponsel"; +"APBToygerFacade:即将开始人脸检测"="Memulai pengenalan wajah"; + +"APBToygerFacade:没有认出你"="Pengenalan wajah gagal"; +"APBToygerFacade:未能识别人脸"="Tidak ada wajah terdeteksi"; +"APBToygerFacade:人脸检测中"="Pengenalan wajah dalam proses"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="Pengenalan wajah terlalu sering dilakukan. Harap coba lagi nanti"; +"APBToygerFacade:请保持单人操作"=" "; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ja.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ja.strings new file mode 100644 index 00000000..95ba7320 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ja.strings @@ -0,0 +1,69 @@ +"APBToygerFacade:取消"="キャンセル"; +"APBToygerFacade:取消(引导页)"="キャンセル"; +"APBToygerFacade:再试一次"="もう一度お試しください"; +"APBToygerFacade:再试一次(验证中断)"="もう一度お試しください"; +"APBToygerFacade:再试一次(网络中断)"="もう一度お試しください"; +"APBToygerFacade:退出"="終了"; +"APBToygerFacade:退出(无法启动相机)"="終了"; +"APBToygerFacade:退出(验证中断)"="終了"; +"APBToygerFacade:确定"="OK"; +"APBToygerFacade:确定(引导页)"="OK"; +"APBToygerFacade:继续"="続行"; +"APBToygerFacade:我知道了"="OK"; +"APBToygerFacade:我知道了(系统不支持刷脸)"="OK"; +"APBToygerFacade:其他登录方式"="ログイン方法を切り替え"; +"APBToygerFacade:刷脸失败"="顔を認識できませんでした"; +"APBToygerFacade:当前设备不支持刷脸"="お使いのデバイスは顔認識をサポートしていません"; +"APBToygerFacade:当前系统不支持刷脸"="顔認識をサポートしていないシステムです"; +"APBToygerFacade:无法启动相机"="カメラにアクセスできません"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="[設定] > [プライバシー] > [カメラ] に移動し、アクセスを許可してください"; +"APBToygerFacade:立即开启"="OK"; +"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:眨眨眼"="まばたきしてください"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="検証方法を変更"; +"APBToygerFacade:拿起手机眨眨眼"="まばたきしてください"; +"APBToygerFacade:拿起手机向左摇头"="頭を左に"; +"APBToygerFacade:拿起手机向右摇头"="頭を右に"; +"APBToygerFacade:向左摇头"="頭を左に"; +"APBToygerFacade:向右摇头"="頭を右に"; + +"APBToygerFacade:正在处理"="処理中"; +"APBToygerFacade:首次使用,请开通刷脸"="顔認識を有効化して続行します"; +"APBToygerFacade:立即开通"="有効化"; +"APBToygerFacade:下次再说"="後で"; + +"APBToygerFacade:请把手机正对面部"="電話の方を向いてください"; +"APBToygerFacade:即将开始人脸检测"="顔認識を開始"; + +"APBToygerFacade:没有认出你"="顔を認識できませんでした"; +"APBToygerFacade:未能识别人脸"="顔が検出されません"; +"APBToygerFacade:人脸检测中"="顔を認識中です"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="顔認識が頻繁に実行されています。後でもう一度やり直してください"; +"APBToygerFacade:请保持单人操作"=" "; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ko.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ko.strings new file mode 100644 index 00000000..5da3afbb --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ko.strings @@ -0,0 +1,70 @@ +"APBToygerFacade:取消"="취소"; +"APBToygerFacade:取消(引导页)"="취소"; +"APBToygerFacade:再试一次"="다시 시도하세요"; +"APBToygerFacade:再试一次(验证中断)"="다시 시도하세요"; +"APBToygerFacade:再试一次(网络中断)"="다시 시도하세요"; +"APBToygerFacade:退出"="종료"; +"APBToygerFacade:退出(无法启动相机)"="종료"; +"APBToygerFacade:退出(验证中断)"="종료"; +"APBToygerFacade:确定"="확인"; +"APBToygerFacade:确定(引导页)"="확인"; +"APBToygerFacade:继续"="계속"; +"APBToygerFacade:我知道了"="확인"; +"APBToygerFacade:我知道了(系统不支持刷脸)"="확인"; +"APBToygerFacade:其他登录方式"="로그온 방법 전환"; +"APBToygerFacade:刷脸失败"="안면 인식에 실패했습니다"; +"APBToygerFacade:当前设备不支持刷脸"="귀하의 디바이스는 안면 인식을 지원하지 않습니다"; +"APBToygerFacade:当前系统不支持刷脸"="현재 시스템은 안면 인식을 지원하지 않습니다"; +"APBToygerFacade:无法启动相机"="카메라 권한이 없습니다"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="설정 > 개인 > 카메라에서 접근 권한을 부여하십시오"; +"APBToygerFacade:立即开启"="OK"; +"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:眨眨眼"="눈을 깜빡이세요"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="인증 방법을 변경합니다"; +"APBToygerFacade:拿起手机眨眨眼"="눈을 깜빡이세요"; +"APBToygerFacade:拿起手机向左摇头"="좌측으로 고개를 돌립니다"; +"APBToygerFacade:拿起手机向右摇头"="우측으로 고개를 돌립니다"; +"APBToygerFacade:向左摇头"="좌측으로 고개를 돌립니다"; +"APBToygerFacade:向右摇头"="우측으로 고개를 돌립니다"; + +"APBToygerFacade:正在处理"="처리 중"; +"APBToygerFacade:首次使用,请开通刷脸"="안면 인식을 활성화하여 계속 진행합니다"; +"APBToygerFacade:立即开通"="활성화하기"; +"APBToygerFacade:下次再说"="나중에 하기"; + +"APBToygerFacade:请把手机正对面部"="휴대전화를 정면으로 바라보세요"; +"APBToygerFacade:即将开始人脸检测"="안면 인식 시작"; + +"APBToygerFacade:没有认出你"="안면 인식에 실패했습니다"; +"APBToygerFacade:未能识别人脸"="감지된 얼굴이 없습니다"; +"APBToygerFacade:人脸检测中"="얼굴 인식 중"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="안면 인식이 연속으로 실행되었습니다. 나중에 다시 시도하세요"; +"APBToygerFacade:请保持单人操作"=" "; + diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-HK.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-HK.strings new file mode 100644 index 00000000..71eb4652 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-HK.strings @@ -0,0 +1,78 @@ +/* + zh-HK.strings + APBToygerFacade + + Created by shouyi.www on 2017/6/1. + Copyright © 2017年 DTF. All rights reserved. +*/ + + +"APBToygerFacade:取消"="取消"; +"APBToygerFacade:取消(引导页)"="取消"; +"APBToygerFacade:再试一次"="再試一次"; +"APBToygerFacade:再试一次(验证中断)"="再試一次"; +"APBToygerFacade:再试一次(网络中断)"="再試一次"; +"APBToygerFacade:退出"="退出"; +"APBToygerFacade:退出(验证中断)"="退出"; +"APBToygerFacade:退出(无法启动相机)"="退出"; +"APBToygerFacade:确定"="確定"; +"APBToygerFacade:确定(引导页)"="確定"; +"APBToygerFacade:继续"="继续"; +"APBToygerFacade:我知道了"="我知道了"; +"APBToygerFacade:我知道了(系统不支持刷脸)"="我知道了"; +"APBToygerFacade:其他登录方式"="其他登录方式"; +"APBToygerFacade:刷脸失败"="刷臉失敗"; +"APBToygerFacade:当前设备不支持刷脸"="目前系統不支援刷臉"; +"APBToygerFacade:当前系统不支持刷脸"="目前設備不支援刷臉"; +"APBToygerFacade:无法启动相机"="無法啟動相機"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="請到“設置-隱私-相機”開啓權限"; +"APBToygerFacade:立即开启"="開通權限"; +"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="刷脸仅在iOS7及以上系统可用"; +"APBToygerFacade:系统错误"="系統錯誤"; +"APBToygerFacade:确定退出吗?"="確定退出嗎?"; +"APBToygerFacade:确定退出吗?(引导页)"="確定退出嗎?"; +"APBToygerFacade:露个脸就能通过"="露個臉就能通過"; +"APBToygerFacade:露个脸就能通过(引导页)"="露個臉就能通過"; +"APBToygerFacade:操作超时"="操作超時"; +"APBToygerFacade:正对手机,更容易成功"="對準手機,更容易成功"; +"APBToygerFacade:本次操作失败"="本次操作失敗"; +"APBToygerFacade:网络不给力"="網絡異常,請稍後再試"; +"APBToygerFacade:登录中断"="登入中斷"; +"APBToygerFacade:验证中断"="驗證中斷"; + + +"APBToygerFacade:刷脸验证"="刷臉驗證"; +"APBToygerFacade:请把脸放入框内保持不动"="請把臉移入圈內保持不動"; +"APBToygerFacade:靠近一点"="靠近一點"; +"APBToygerFacade:没有检测到脸"="沒有檢測到臉"; +"APBToygerFacade:再清晰一点"="再清晰一點"; +"APBToygerFacade:脸部亮一点"="光線再亮點"; +"APBToygerFacade:请正对手机"="請正視手機"; +"APBToygerFacade:请露出正脸"="請露出正臉"; +"APBToygerFacade:把脸移入圈内"="把臉移入框內"; +"APBToygerFacade:离远一点"="離遠一點"; +"APBToygerFacade:请保持不动"="請保持不動"; +"APBToygerFacade:请注视屏幕"="請注視屏幕"; +"APBToygerFacade:眨眨眼"="眨眨眼"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="選擇其他驗證方式"; +"APBToygerFacade:拿起手机眨眨眼"="拿起手機,眨眨眼"; +"APBToygerFacade:拿起手机向左摇头"="拿著手機,向左搖頭"; +"APBToygerFacade:拿起手机向右摇头"="拿著手機,向右搖頭"; +"APBToygerFacade:向左摇头"="向左搖頭"; +"APBToygerFacade:向右摇头"="向右搖頭"; + +"APBToygerFacade:正在处理"="正在處理"; +"APBToygerFacade:首次使用,请开通刷脸"="首次使用,請開通刷臉"; +"APBToygerFacade:立即开通"="立即開通"; +"APBToygerFacade:下次再说"="下次再說"; + +"APBToygerFacade:请把手机正对面部"="請把手機正對面部"; +"APBToygerFacade:即将开始人脸检测"="即將開始人臉檢測"; + +"APBToygerFacade:没有认出你"="沒有認出你"; +"APBToygerFacade:未能识别人脸"="未能識別人臉"; +"APBToygerFacade:人脸检测中"="人臉檢測中"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="刷臉失敗次數過多,請稍後再試"; +"APBToygerFacade:请保持单人操作"="請保持單人操作"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hans.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hans.strings new file mode 100644 index 00000000..20efcd8b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hans.strings @@ -0,0 +1,83 @@ +/* + zh-Hans.strings + APBToygerFacade + + Created by shouyi.www on 2017/6/1. + Copyright © 2017年 DTF. All rights reserved. +*/ + + +"APBToygerFacade:取消"="取消"; +"APBToygerFacade:取消(引导页)"="取消"; +"APBToygerFacade:再试一次"="再试一次"; +"APBToygerFacade:再试一次(验证中断)"="再试一次"; +"APBToygerFacade:再试一次(网络中断)"="再试一次"; +"APBToygerFacade:退出"="退出"; +"APBToygerFacade:退出(验证中断)"="退出"; +"APBToygerFacade:退出(无法启动相机)"="退出"; +"APBToygerFacade:确定"="确定"; +"APBToygerFacade:确定(引导页)"="确定"; +"APBToygerFacade:继续"="继续"; +"APBToygerFacade:我知道了"="我知道了"; +"APBToygerFacade:我知道了(系统不支持刷脸)"="我知道了"; +"APBToygerFacade:其他登录方式"="其他登录方式"; +"APBToygerFacade:刷脸失败"="刷脸失败"; +"APBToygerFacade:当前设备不支持刷脸"="当前设备不支持刷脸"; +"APBToygerFacade:当前系统不支持刷脸"="当前系统不支持刷脸"; +"APBToygerFacade:无法启动相机"="无法启动相机"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="请到“设置-隐私-相机”开启权限"; +"APBToygerFacade:立即开启"="立即开启"; +"APBToygerFacade:刷脸仅在iOS8及以上版本可用"="刷脸仅在iOS8及以上版本可用"; +"APBToygerFacade:系统错误"="系统错误"; +"APBToygerFacade:确定退出吗?"="确定退出吗?"; +"APBToygerFacade:确定退出吗?(引导页)"="确定退出吗?"; +"APBToygerFacade:露个脸就能通过"="露个脸就能通过"; +"APBToygerFacade:露个脸就能通过(引导页)"="露个脸就能通过"; +"APBToygerFacade:操作超时"="操作超时"; +"APBToygerFacade:正对手机,更容易成功"="正对手机,更容易成功"; +"APBToygerFacade:本次操作失败"="本次操作失败"; +"APBToygerFacade:网络不给力"="网络不给力"; +"APBToygerFacade:登录中断"="登录中断"; +"APBToygerFacade:验证中断"="验证中断"; + + +"APBToygerFacade:刷脸验证"="刷脸验证"; +"APBToygerFacade:请把脸放入框内保持不动"="请把脸移入圈内保持不动"; +"APBToygerFacade:靠近一点"="靠近一点"; +"APBToygerFacade:没有检测到脸"="没有检测到脸"; +"APBToygerFacade:再清晰一点"="再清晰一点"; +"APBToygerFacade:脸部亮一点"="脸部亮一点"; +"APBToygerFacade:请正对手机"="请正对手机"; +"APBToygerFacade:请露出正脸"="请露出正脸"; +"APBToygerFacade:把脸移入圈内"="把脸移入圈内"; +"APBToygerFacade:离远一点"="离远一点"; +"APBToygerFacade:请保持不动"="请保持不动"; +"APBToygerFacade:请注视屏幕"="请注视屏幕"; +"APBToygerFacade:眨眨眼"="眨眨眼"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="选择其他验证方式"; +"APBToygerFacade:拿起手机眨眨眼"="拿起手机,眨眨眼"; +"APBToygerFacade:拿起手机向左摇头"="拿起手机,向左摇头"; +"APBToygerFacade:拿起手机向右摇头"="拿起手机,向右摇头"; +"APBToygerFacade:向左摇头"="向左摇头"; +"APBToygerFacade:向右摇头"="向右摇头"; + +"APBToygerFacade:正在处理"="正在处理"; +"APBToygerFacade:首次使用,请开通刷脸"="首次使用,请开通刷脸"; +"APBToygerFacade:立即开通"="立即开通"; +"APBToygerFacade:下次再说"="下次再说"; + +"APBToygerFacade:请把手机正对面部"="请把手机正对面部"; +"APBToygerFacade:即将开始人脸检测"="即将开始人脸检测"; + +"APBToygerFacade:没有认出你"="没有认出你"; +"APBToygerFacade:未能识别人脸"="未能识别人脸"; +"APBToygerFacade:人脸检测中"="人脸检测中"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="刷脸失败次数过多,请稍后再试"; +"APBToygerFacade:请保持单人操作"="请保持单人操作"; + +"APBToygerFacade:请缓慢靠近"="请缓慢靠近"; +"APBToygerFacade:请缓慢远离"="请缓慢远离"; +"APBToygerFacade:请保持不动"="请保持不动"; +"APBToygerFacade:把脸移入圈内"="把脸移入圈内"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hant.strings b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hant.strings new file mode 100644 index 00000000..74fc90ba --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hant.strings @@ -0,0 +1,78 @@ +/* + zh-Hant.strings + APBToygerFacade + + Created by shouyi.www on 2017/6/1. + Copyright © 2017年 DTF. All rights reserved. +*/ + + +"APBToygerFacade:取消"="取消"; +"APBToygerFacade:取消(引导页)"="取消"; +"APBToygerFacade:再试一次"="再試一次"; +"APBToygerFacade:再试一次(验证中断)"="再試一次"; +"APBToygerFacade:再试一次(网络中断)"="再試一次"; +"APBToygerFacade:退出"="退出"; +"APBToygerFacade:退出(验证中断)"="退出"; +"APBToygerFacade:退出(无法启动相机)"="退出"; +"APBToygerFacade:确定"="確定"; +"APBToygerFacade:确定(引导页)"="確定"; +"APBToygerFacade:继续"="繼續"; +"APBToygerFacade:我知道了"="我知道了"; +"APBToygerFacade:我知道了(系统不支持刷脸)"="我知道了"; +"APBToygerFacade:其他登录方式"="其他登入方式"; +"APBToygerFacade:刷脸失败"="刷臉失敗"; +"APBToygerFacade:当前设备不支持刷脸"="目前設備不支援刷臉服務"; +"APBToygerFacade:当前系统不支持刷脸"="当前系统不支持刷脸"; +"APBToygerFacade:无法启动相机"="無法啟動相機"; +"APBToygerFacade:请到\“设置-隐私-相机\”开启权限"="請到“設置-隱私-相機”開啓權限"; +"APBToygerFacade:立即开启"="開通權限"; +"APBToygerFacade:刷脸仅在iOS8及以上系统可用"="刷脸仅在iOS8及以上系统可用"; +"APBToygerFacade:系统错误"="系統錯誤"; +"APBToygerFacade:确定退出吗?"="確定退出嗎?"; +"APBToygerFacade:确定退出吗?(引导页)"="確定退出嗎?"; +"APBToygerFacade:露个脸就能通过"="露個臉就能通過"; +"APBToygerFacade:露个脸就能通过(引导页)"="露個臉就能通過"; +"APBToygerFacade:操作超时"="操作超時"; +"APBToygerFacade:正对手机,更容易成功"="對準手機,更容易成功"; +"APBToygerFacade:本次操作失败"="本次操作失敗"; +"APBToygerFacade:网络不给力"="網絡異常,請稍後再試"; +"APBToygerFacade:登录中断"="登入中斷"; +"APBToygerFacade:验证中断"="驗證中斷"; + + +"APBToygerFacade:刷脸验证"="刷臉驗證"; +"APBToygerFacade:请把脸放入框内保持不动"="請把臉移入圈內保持不動"; +"APBToygerFacade:靠近一点"="靠近一點"; +"APBToygerFacade:没有检测到脸"="沒有檢測到臉"; +"APBToygerFacade:再清晰一点"="再清晰一點"; +"APBToygerFacade:脸部亮一点"="光線再亮點"; +"APBToygerFacade:请正对手机"="請正視手機"; +"APBToygerFacade:请露出正脸"="請露出正臉"; +"APBToygerFacade:把脸移入圈内"="把臉移入框內"; +"APBToygerFacade:离远一点"="離遠一點"; +"APBToygerFacade:请保持不动"="請保持不動"; +"APBToygerFacade:请注视屏幕"="請注視屏幕"; +"APBToygerFacade:眨眨眼"="眨眨眼"; +"APBToygerFacade:蚂蚁佐罗提供技术支持"=""; + +"APBToygerFacade:选择其他验证方式"="選擇其他驗證方式"; +"APBToygerFacade:拿起手机眨眨眼"="拿起手機,眨眨眼"; +"APBToygerFacade:拿起手机向左摇头"="拿起手機,向左搖頭"; +"APBToygerFacade:拿起手机向右摇头"="拿起手機,向右搖頭"; +"APBToygerFacade:向左摇头"="向左搖頭"; +"APBToygerFacade:向右摇头"="向右搖頭"; + +"APBToygerFacade:正在处理"="正在處理"; +"APBToygerFacade:首次使用,请开通刷脸"="首次使用,請開通刷臉"; +"APBToygerFacade:立即开通"="立即開通"; +"APBToygerFacade:下次再说"="下次再說"; + +"APBToygerFacade:请把手机正对面部"="請把手機正對面部"; +"APBToygerFacade:即将开始人脸检测"="即將開始人臉檢測"; + +"APBToygerFacade:没有认出你"="沒有認出你"; +"APBToygerFacade:未能识别人脸"="未能識別人臉"; +"APBToygerFacade:人脸检测中"="人臉檢測中"; +"APBToygerFacade:刷脸失败次数过多,请稍后再试"="刷臉失敗次數過多,請稍後再試"; +"APBToygerFacade:请保持单人操作"="請保持單人操作"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade new file mode 100644 index 00000000..69b83ebe Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBaseTask.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBaseTask.h new file mode 100644 index 00000000..6f152065 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBaseTask.h @@ -0,0 +1,77 @@ +// +// APFBaseTask.h +// APFaceDetectBiz +// +// Created by 晗羽 on 8/25/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import +#import +#import +//#import "APBToygerDataCenter.h" +#import +#import + +@class DTFLogMonitor,APBToygerDataCenter; + +typedef void (^APFAlertExtraAction)(); + +@interface APBToygerBaseTask : NSObject + +//协议定义的属性 +@property(nonatomic, copy)NSString *taskName; //任务名 +@property(nonatomic, strong)APBTaskContext *context; //任务数据 +@property(nonatomic, weak)NSMutableDictionary *pipeInfo; //共享数据 +//公用属性 +@property(nonatomic, weak)UIViewController *parentViewController; //父viewController +@property(nonatomic, weak)APBToygerViewController *currentViewController; //当前viewController +@property(nonatomic, weak)UIView *currentView; //当前显示的界面 +@property(nonatomic, copy)commandBlock bioCommandBlock; //对框架进行操作的block +@property(nonatomic, strong)APBToygerRemoteConfig * bisConfig; //bis下放的配置参数 +@property(nonatomic, strong)APBToygerDataCenter * dataCenter; //行为日志 +@property(nonatomic, copy)NSString *bisToken; //bisToken +@property(nonatomic, assign)NSInteger currentRetryCnt; //当前重试次数 +@property(nonatomic, assign)BOOL soundStatus; //当前声音状态 +//@property(nonatomic, assign)BOOL isLoginMode; //当前场景是否为登录场景 +@property(nonatomic, assign)BOOL isMYBank; //是否是网商银行 +@property(nonatomic, strong)DTFLogMonitor *monitor; //埋点 +@property(nonatomic, weak) id 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 + retryIncrement:(BOOL)retryIncrement; + +/** + * 用户选择退出 + */ +- (void)handleExitActionWithScene:(NSString *)scene + buttonTitle:(NSString *)title + exitReason:(APBResultType)reason + extAction:(APFAlertExtraAction)action; + +/** + * 用户选择继续 + */ +- (void)handleContinueActionWithScene:(NSString *)scene + buttonTitle:(NSString *)title + extaction:(APFAlertExtraAction)action; + +/** + * 消除VC的方式,加菲和樱桃不同 + */ +- (void)dismissViewControllerAnimated: (BOOL)flag completion:(void (^ __nullable)(void))completion; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h new file mode 100644 index 00000000..994d0fb5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h @@ -0,0 +1,28 @@ +// +// APFCherryDetectTask.h +// APBToygerFacade +// +// Created by richard on 01/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import +#import +#import +#import +#import + +#define kFaceCameraPreviewWidth 480 +#define kFaceCameraPreviewHeight 640 +#define kFaceAVCaptureSessionPreset AVCaptureSessionPreset640x480 + +@interface APBToygerCherryDetectTask : APBToygerBaseTask + +@property (nonatomic, assign) BOOL photinusFlags; +@property (nonatomic, strong) DTFCameraService *cameraService; +@property (nonatomic, strong) id instance; //Toyger对象 +@property (nonatomic, assign) BOOL useNativePhotinus; + +- (void)onButtonCancel; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h new file mode 100644 index 00000000..33eaee81 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h @@ -0,0 +1,26 @@ +// +// APFCherryUploadTask.h +// APFaceDetectBiz +// +// Created by yukun.tyk on 28/11/2016. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import + +typedef NS_ENUM(NSInteger, APBToygerRemoteCommand) +{ + APBToyger_REMOTE_COMMAND_PASS = 1001, //比对通过 + APBToyger_REMOTE_COMMAND_CONTINUE = 1002, //需要继续采集 + APBToyger_REMOTE_COMMAND_FAIL = 2001, //比对失败 + APBToyger_REMOTE_COMMAND_RETRY = 2002, //需要重试 +}; + + +@interface APBToygerCherryUploadTask : APBToygerUploadTask + +- (APBToygerRemoteCommand)remoteCommandFromString:(NSString *)code; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacade.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacade.h new file mode 100644 index 00000000..cd6ae2e0 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacade.h @@ -0,0 +1,36 @@ +// +// APFaceFacade.h +// APFaceDetectBiz +// +// Created by 晗羽 on 8/25/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import + +@interface APBToygerFacade : NSObject + ++(void)setTokenid:(NSString*)info; ++(NSString*)getTokenid; + +@end + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +//! Project version number for APBToygerFacade. +FOUNDATION_EXPORT double APBToygerFacadeVersionNumber; + +//! Project version string for APBToygerFacade. +FOUNDATION_EXPORT const unsigned char APBToygerFacadeVersionString[]; diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h new file mode 100644 index 00000000..53eb575f --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h @@ -0,0 +1,130 @@ +// +// APFCherryDefine.h +// APBToygerFacade +// +// Created by shouyi.www on 27/02/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#ifndef APBToygerFacadeDefine_h +#define APBToygerFacadeDefine_h + + +static float normalized_distance(float current_value, float best_value, float range) { + return fabsf((current_value - best_value) / range); +} + +//typedef struct toyger_status_evaluator_t { +// float pitch; +// float yaw; +// float width; +// +// float best_pitch; +// float best_yaw; +// float best_width; +// float pitch_range; +// float yaw_range; +// float width_range; +// float pitch_weight; +// float yaw_weight; +// float width_weight; +// +// toyger_status_evaluator_t(float pitch_ = -0.3, float pitch_range_ = 0.7, float best_pitch_ = 0, float pitch_weight_ = 1, +// float yaw_ = -0.6, float yaw_range_ = 0.6, float best_yaw_ = 0, float yaw_weight_ = 1, +// float width_ = 0.2, float width_range_ = 1.2, float best_width_ = 0.7, float width_weight_ = 1){ +// pitch = pitch_; +// yaw = yaw_; +// width = width_; +// pitch_range = pitch_range_; +// yaw_range = yaw_range_; +// width_range = width_range_; +// best_pitch = best_pitch_; +// best_yaw = best_yaw_; +// best_width = best_width_; +// pitch_weight = pitch_weight_; +// yaw_weight = yaw_weight_; +// width_weight = width_weight_; +// } +// +// void reset(){ +// pitch = -0.3; +// yaw = -0.6; +// width = 0.2; +// } +// +// void update(float pitch_, float yaw_, float width_) { +// pitch = pitch_; +// yaw = yaw_; +// width = width_; +// } +// +// float evaluateProgress(float pitch_, float yaw_, float width_){ +// return +// (normalized_distance(pitch_, best_pitch, pitch_range) * pitch_weight + +// normalized_distance(yaw_, best_yaw, yaw_range) * yaw_weight + +// normalized_distance(width_, best_width, width_range) * width_weight) / +// (pitch_weight + yaw_weight + width_weight); +// } +// +// float evaluate(){ +// return 1 - +// (normalized_distance(pitch, best_pitch, pitch_range) * pitch_weight + +// normalized_distance(yaw, best_yaw, yaw_range) * yaw_weight + +// normalized_distance(width, best_width, width_range) * width_weight) / +// (pitch_weight + yaw_weight + width_weight); +// } +// +//}ToygerStatusEvaluator; + + +typedef struct apbtoyger_tip_evaluator_t { + bool pose_end; + bool has_face; + bool did_blink; + bool pos_okay; + bool quality_okay; + bool under_exposure; + bool face_width_too_small; + bool face_width_too_big; + bool integrity_fail; + bool yaw_fail; + bool pitch_fail; + bool tremble_fail; + bool did_checkSeven; + int tip_timer_wait_cnt; + bool tip_show_switch; + int tip_message; + + apbtoyger_tip_evaluator_t(){ + reset(); + } + + void reset(){ + has_face = false; + did_blink = false; + pos_okay = false; + under_exposure = false; + face_width_too_small = false; + integrity_fail = false; + pitch_fail = false; + face_width_too_big = false; + yaw_fail = false; + tremble_fail = false; + tip_timer_wait_cnt = 0; + tip_show_switch = true; + did_checkSeven = false; + quality_okay = false; + pose_end = false; + tip_message =0; + } +}APBToygerTipEvaluator; + + +//UI样式 +typedef enum : NSUInteger { + APBToygerUIStyleFPPCherry = 991, //991 FPP樱桃(废弃) + APBToygerUIStyleCherry, //992 zFace樱桃 + APBToygerUIStyleGarfield, //993 加菲 +} APBToygerUIStyle; + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerPresentTask.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerPresentTask.h new file mode 100644 index 00000000..39e213e8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerPresentTask.h @@ -0,0 +1,25 @@ +// +// APFPresentTask.h +// APFaceDetectBiz +// +// Created by 晗羽 on 8/26/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import +/** + * @author Skye Ying, 16-08-26 13:08:04 + * + * 新建VC,启动整个view + */ +@interface APBToygerPresentTask : APBToygerBaseTask + +@property(nonatomic, strong) id faceView; + +-(void) postCameraPresentwithCamera:(DTFCameraService *) cameraService; + +-(void) presentAnimated: (BOOL)flag completion:(void (^ __nullable)(void))completion; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUploadTask.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUploadTask.h new file mode 100644 index 00000000..26819c8d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUploadTask.h @@ -0,0 +1,27 @@ +// +// APBToygerUploadTask.h +// APBToygerFacade +// +// Created by Dan Cong on 29/1/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import + +/** + 上传基类,用于下沉多种UI(樱桃和加菲)下通用的逻辑 + */ +@interface APBToygerUploadTask : APBToygerBaseTask + +- (void)uploadImage; + +- (void)didFinishUploadWithSuccess:(BOOL)success + retCode:(NSString *)retCode + retMessage:(NSString *)msg + extInfo:(NSString *)ext; + +- (void)handleFailWithRetCodeSub:(NSString *)retCodeSub retMessageSub:(NSString *)retMessageSub; + +- (void)requestAgain; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUtils.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUtils.h new file mode 100644 index 00000000..75c055fd --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUtils.h @@ -0,0 +1,65 @@ +// +// APFUtils.h +// APFaceDetectBiz +// +// Created by 晗羽 on 8/25/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import + +//#import "APFaceDetectBizFacade.h" + +//主线程同步操作 +#define SYNC_MAINTHREAD_BEGIN_APBT [APBToygerUtils APBToygerMainThread:^{ +#define SYNC_MAINTHREAD_END_APBT }]; + +#define LOCK(locker, ...) dispatch_semaphore_wait(locker, DISPATCH_TIME_FOREVER); \ +__VA_ARGS__; \ +dispatch_semaphore_signal(locker); + +@class MGLivenessDetectionFrameEncodedData; + +@interface APBToygerUtils : NSObject + ++ (void)APBToygerMainThread:(dispatch_block_t)block; + ++ (NSString *)getTextContentforKey:(NSString*)keyName; ++ (NSString *)localizedTextForKey:(NSString *)key; ++ (NSBundle *)getBundle; + ++ (int)getCodefrom:(NSString *)bisToken withLength:(int)codeLen; +//+ (NSString *)getActionNoticeByActionType:(APFLiveActionType) actionType; + +//检查文件是否存在 ++ (BOOL) checkFileunderPath:(NSString *) filePath; + +//写入文件 +//如果文件存在,不重写,返回失败。 +//如果文件不再在,写入,返回写入结果 ++ (BOOL) writeFileunderPath:(NSString *) filePath; + +//删除文件 ++ (BOOL) removeFileunderPath:(NSString *) filePath; + +//随机文件名 ++ (NSString *)randomString:(NSInteger)len; + ++ (NSString *)localizedStringForKey:(NSString *)key; + ++ (UIImage *)loadImageFromBundleNamed:(NSString *)imageName; + ++ (UIWindow *)lastWindow; + ++ (APBToygerTips *)toygerTipsConfig; + ++ (BOOL)useElemeEquipmentUI:(APBToygerRemoteConfig *)config; + ++ (BOOL)useNearFarLiveness:(APBToygerRemoteConfig *)config; + +@end + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerViewController.h b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerViewController.h new file mode 100644 index 00000000..b1a1ef36 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerViewController.h @@ -0,0 +1,31 @@ +// +// APFViewController.h +// APFaceDetectBiz +// +// Created by 晗羽 on 8/25/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import +#import + +@interface APBToygerViewController : DTFBaseViewController + +@property(nonatomic, strong) id faceView; + +- (void)startFaceRecognition:(AVCaptureVideoPreviewLayer *)layer; + +- (void)handleFaceStateChange:(ToygerMessage)state + stateTips:(NSString *)tips + actionGuideType:(ToygerStaticMessage)guideType + actionGuide:(NSString *)guide + progress:(CGFloat)progress + extInfo:(NSDictionary *)extInfo; + +- (void)faceDectectComplete; +- (void)setPhotinusColor:(UIColor *)color; +- (void)showBlur:(UIImage *)image; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Info.plist new file mode 100644 index 00000000..dbd34504 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Modules/module.modulemap b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Modules/module.modulemap new file mode 100644 index 00000000..f34493fa --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module APBToygerFacade { + umbrella header "APBToygerFacade.h" + + export * + module * { export * } +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_angle.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_angle.mp3 new file mode 100644 index 00000000..ebc2b334 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_angle.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_away.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_away.mp3 new file mode 100644 index 00000000..11bd77cc Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_away.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_blink.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_blink.mp3 new file mode 100644 index 00000000..9808283c Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_blink.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_closer.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_closer.mp3 new file mode 100644 index 00000000..afd607ef Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_closer.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_integrity.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_integrity.mp3 new file mode 100644 index 00000000..791e911c Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_integrity.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_left_yaw.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_left_yaw.mp3 new file mode 100644 index 00000000..78964f3a Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_left_yaw.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_light.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_light.mp3 new file mode 100644 index 00000000..8bb39098 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_light.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_right_yaw.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_right_yaw.mp3 new file mode 100644 index 00000000..084fa0a9 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_right_yaw.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_stay.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_stay.mp3 new file mode 100644 index 00000000..152fae07 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_stay.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_too_more_face.mp3 b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_too_more_face.mp3 new file mode 100644 index 00000000..1bfa3867 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APBToygerFacadeSuitable.bundle/voiceUrl_too_more_face.mp3 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK new file mode 100644 index 00000000..a5e3023f Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK-Info.plist b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK-Info.plist new file mode 100644 index 00000000..01af302e Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK-Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDID.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDID.h new file mode 100644 index 00000000..463c6392 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDID.h @@ -0,0 +1,122 @@ +// +// APDID.h +// APPSecuritySDK +// +// Created by eric on 2021/2/7. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import +#import "ASSTokenResult.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^ASSSecureSdkCallback)(ASSTokenResult* result, NSString* error); + +typedef void(^ASSSecureSdkOpenCallback)(NSString* token, int errorCode); + +@interface APDID : NSObject + +/* + 异步初始化vkeyid,推荐在app启动时和收银台页面加载时调用,SDK内部会根据时间戳和设备信息进行判断是否需要进行网络请求,无线程要求 + @param params 初始化的字典参数,包含三项内容:tid、userid、environment; + tid与userid选传,传入可以保证vkeyid与其正确关联,取不到传入空字符串; + 环境变量请与app设置中的环境相关联,字典中的value包括线上,预发,测试,日常; + @param callback 初始化完成后的结果回调 + + Asynchronously initialize vkeyid(apdid), recommend to invoke this API when app launches, and cashier view presents. + Inside SDK we will decide whether to launch network request or not based on timestamp and device info. + No thread requirement. + @param params: Initialized parameters, includes 3 key-value pairs: tid, userid,environment; + Tid and userid are optional, they can be associated with vkeyid(apdid) if passed in. + If the values for tid and userid are not available, pass in empty NSString(@""). + @param callback: Callback block when token is available + */ ++ (void) initToken:(NSDictionary*)params callback:(ASSSecureSdkCallback)callback; + +/* + 同步获取vkeyid完整信息,包括vkeyid,token,clientkey,无网络请求; + 如果首次安装app,且首次网络请求未完成或失败,将会返回降级措施:vkeyid会返回客户端随机串clientkey,token将会返回空。 + + Synchronously get full info of vkeyid(apdid), token and clientkey, no network requests. + If the app is installed for the first time and first network request failed, it would return degradation result: vkeyid would be clientkey which is a client-side generated random string, token would be empty NSString @"" + */ ++ (ASSTokenResult*)getToken DEPRECATED_MSG_ATTRIBUTE("use getTokenResult instead"); + +/* + 同步获取vkeyid完整信息,包括vkeyid,token,clientkey,无网络请求; + 如果首次安装app,且首次网络请求未完成或失败,将会返回降级措施:vkeyid会返回客户端随机串clientkey,token将会返回空。 + + Synchronously get full info of vkeyid(apdid), token and clientkey, no network requests. + If the app is installed for the first time and first network request failed, it would return degradation result: vkeyid would be clientkey which is a client-side generated random string, token would be empty NSString @"" + */ ++ (ASSTokenResult*)getTokenResult; + + ++ (ASSTokenResult *)getTokenResult:(NSString*)appName appKeyClient:(NSString*)appKeyClient; + + +//===================lazada api====================// + +/* + 异步初始化vkeyid,推荐在app启动时和收银台页面加载时调用,SDK内部会根据时间戳和设备信息进行判断是否需要进行网络请求,无线程要求 + @param appName 应用名称 + + @param appKeyClient 应用客户端密钥 + + @param callback 初始化完成后的结果回调,以Token作为参数 + + */ ++ (void)initToken:(NSString *)appName appKeyClient:(NSString *)appKeyClient callback:(ASSSecureSdkOpenCallback)callback; + +/* + 同步接口返回token + + @param appName 应用名称 + + @param appKeyClient 应用客户端密钥 + + */ ++ (NSString *)getResultToken; + +/* + 同步接口返回token + + @param appName 应用名称 + + @param appKeyClient 应用客户端密钥 + + */ ++ (NSString *)getResultToken:(NSString*)appName appKeyClient:(NSString*)appKeyClient; + +//===================TMN api====================// +/* + 异步初始化vkeyid,推荐在app启动时和收银台页面加载时调用,SDK内部会根据时间戳和设备信息进行判断是否需要进行网络请求,无线程要求 + @param appName 应用名称 + + @param appKeyClient 应用客户端密钥 + + @param sessionId 业务方传入自己的id + + @param callback 初始化完成后的结果回调,以Token作为参数 + + */ + ++ (void)initToken:(NSString *)appName appKeyClient:(NSString *)appKeyClient sessionId:(NSString *)sessionId callback:(ASSSecureSdkOpenCallback)callback; + + +//===================ae api====================// + +/* + 强制上报接口 + @param params 初始化的字典参数,包含四项内容:umid、tid、userid、environment; + umid必传,tid与userid选传,传入可以保证vkeyid与其正确关联,取不到传入空字符串; + 环境变量请与app设置中的环境相关联,字典中的value包括线上,预发,测试,日常; + @param callback 初始化完成后的结果回调 + + */ ++ (void) updateToken:(NSDictionary*)params callback:(ASSSecureSdkCallback)callback; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDeviceColor.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDeviceColor.h new file mode 100644 index 00000000..677045fc --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDeviceColor.h @@ -0,0 +1,41 @@ +// +// APDeviceColor.h +// APPSecuritySDK +// +// Created by eric on 2021/2/25. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface APDeviceColor : NSObject + +/* +* getColorLabel 设备染色接口 +* +* @param bizToken 业务场景 +* @param extParams 扩展参数 +* @param errInfo 错误信息 +* +* @return 设备染色数据 +*/ ++ (NSString*) getColorLabel: (NSString*) bizToken + ext: (NSDictionary *) extParams + error: (NSError **) errInfo; + +/* +* getColorLabel 设备染色接口 +* +* @param extParams 扩展参数 +* @param errInfo 错误信息 +* +* @return 设备染色数据 +*/ ++ (NSString*) getColorLabel: (NSDictionary *) extParams + error: (NSError **) errInfo; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDynamic.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDynamic.h new file mode 100644 index 00000000..8caaf9d9 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDynamic.h @@ -0,0 +1,32 @@ +// +// APDynamic.h +// APPSecuritySDK-Sign +// +// Created by eric on 2021/2/25. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface APDynamic : NSObject + +/* +* dynamicCheckDispatch 动态攻防脚本运行 +* +* @param dict 动态攻防脚本 +*/ ++ (void)dynamicCheckDispatch:(NSDictionary *)dict; + +/* +* dynamicCheckDispatch 动态攻防脚本运行,动态攻防脚本运行后会自动上传, 无特殊需求不建议 +* +* @param dict 动态攻防脚本 +* @param callback 运行结果回调 +*/ ++ (void)dynamicCheckDispatch:(NSDictionary *)dict withCallBack: (void(^)(Boolean, NSString *))callback; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h new file mode 100644 index 00000000..415bf06b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h @@ -0,0 +1,21 @@ +// +// APRiskConfigReportRequest.h +// APPSecuritySDK-Common +// +// Created by eric on 2021/8/16. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface APRiskConfigReportRequest : NSObject + +@property(nonatomic, strong) NSString* os; +@property(nonatomic, strong) NSString* apdid; +@property(nonatomic, strong) NSDictionary* deviceDataMap; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h new file mode 100644 index 00000000..99b4bf43 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h @@ -0,0 +1,19 @@ +// +// APRiskConfigReportResponse.h +// APPSecuritySDK-Common +// +// Created by eric on 2021/8/16. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface APRiskConfigReportResponse : NSObject + +@property(nonatomic, strong) NSDictionary* resultData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h new file mode 100644 index 00000000..71461a84 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h @@ -0,0 +1,20 @@ +// +// APRiskConfigServiceProtocol.h +// APPSecuritySDKAdapter +// +// Created by hongren on 2020/9/7. +// Copyright © 2020 Alipay. All rights reserved. +// +#import "APRiskSyncHandlerProtocol.h" + +@protocol APRiskConfigServiceProtocol + +@required +- (NSString *)stringValueForKey:(NSString *)key; + +- (void)addConfigChangeListener:(id)handler forKey:(NSString *)key; + +- (void)refreshConfig:(NSDictionary *)tConfigMap from:(NSString *)sourceType; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h new file mode 100644 index 00000000..7d5c150e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h @@ -0,0 +1,14 @@ +// +// APRiskFileUploadProtocol.h +// APPSecuritySDKAdapter +// +// Created by hongren on 2020/9/7. +// Copyright © 2020 Alipay. All rights reserved. +// + +@protocol APRiskFileUploadProtocol + +@required +- (NSString *)uploadCustomFile:(NSString *)path; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h new file mode 100644 index 00000000..eb8dd700 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h @@ -0,0 +1,21 @@ +// +// APRiskLoggerProtocol.h +// APPSecuritySDK-Common +// +// Created by eric on 2021/6/25. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol APRiskLoggerProtocol + +@required + +-(void)print:(NSString *)format, ...NS_REQUIRES_NIL_TERMINATION; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h new file mode 100644 index 00000000..eae9fd3e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h @@ -0,0 +1,30 @@ +// +// APRiskRPCProtocol.h +// APPSecuritySDKAdapter +// +// Created by hongren on 2020/9/7. +// Copyright © 2020 Alipay. All rights reserved. +// + +#import "APRiskReportRequest.h" +#import "APRiskReportResponse.h" +#import "APRiskRpcConfiguration.h" +#import "APRiskConfigReportRequest.h" +#import "APRiskConfigReportResponse.h" + +@protocol APRiskRPCProtocol +//gateway + +@required +- (APRiskReportResponse *)sendStaticRequest:(APRiskReportRequest *)data + config:(APRiskRpcConfiguration*)cfg; + +@required +- (APRiskConfigReportResponse *)sendConfigReportRequest:(APRiskConfigReportRequest *)data + config:(APRiskRpcConfiguration*)cfg; + +@required +- (BOOL)updateLog:(NSString*)log + config:(APRiskRpcConfiguration*)cfg; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h new file mode 100644 index 00000000..aa0025c8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h @@ -0,0 +1,29 @@ +// +// APRiskRemoteLoggerProtocol.h +// APPSecuritySDKAdapter +// +// Created by hongren on 2020/9/7. +// Copyright © 2020 Alipay. All rights reserved. +// + +@protocol APRiskRemoteLoggerProtocol + +@required +- (void)writeLogWithActionId:(NSString *)event + extParams:(NSArray *)args + appId:(NSString *)appId + seed:(NSString *)seed + ucId:(NSString *)ucId; + +@required +- (void)writeLogWithActionId:(NSString *)event + extParams:(NSArray *)args + appId:(NSString *)appId + seed:(NSString *)seed + ucId:(NSString *)ucId + bizType:(NSString *)bizType; + +@required +- (void)writeEventLog:(NSDictionary *)dict; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportRequest.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportRequest.h new file mode 100644 index 00000000..96cdcc5c --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportRequest.h @@ -0,0 +1,68 @@ +// +// APRiskReportRequest.h +// APPSecuritySDK +// +// Created by hongren on 2020/9/7. +// Copyright © 2020 Alipay. All rights reserved. +// + +#import + +@interface APRiskReportRequest : NSObject + +/** +* os type: android|ios" +*/ + + @property(nonatomic, strong) NSString *os; + /** +* device id for ios for static report, or device id for dynamic report both for ios and android +*/ + + @property(nonatomic, strong) NSString *apdid; + /** +* public region device id for android for static report +*/ + + @property(nonatomic, strong) NSString *pubApdid; + /** +* private region device id for android for static report +*/ + + @property(nonatomic, strong) NSString *priApdid; + /** +* apdid token +*/ + + @property(nonatomic, strong) NSString *token; + /** +* umid token +*/ + + @property(nonatomic, strong) NSString *umidToken; + /** +* rpc version +*/ + + @property(nonatomic, strong) NSString *version; + /** +* last apdid time (create time) +*/ + + @property(nonatomic, strong) NSString *lastTime; + + /** + * dynamicKey + */ + @property(nonatomic,strong) NSString* dynamicKey; + /** +* device info map +*/ + + @property(nonatomic, strong) NSDictionary *dataMap; + + (Class)dataMapElementClass; + + @property(nonatomic,strong) NSDictionary *bizData; + + (Class)bizDataElementClass; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportResponse.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportResponse.h new file mode 100644 index 00000000..d61c1bbf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportResponse.h @@ -0,0 +1,65 @@ +// +// APRiskReportResponse.h +// APPSecuritySDK +// +// Created by hongren on 2020/9/7. +// Copyright © 2020 Alipay. All rights reserved. +// + +#import + +@interface APRiskReportResponse : NSObject + +/** + * success or not + */ + + @property(nonatomic, assign) BOOL success; + /** + * result code + */ + + @property(nonatomic, strong) NSString *resultCode; + +/** +* device id +*/ + + @property(nonatomic, strong) NSString *apdid; + /** +* apdid token +*/ + + @property(nonatomic, strong) NSString *token; + /** +* current apdid time (create time) +*/ + + @property(nonatomic, strong) NSString *currentTime; + /** +* rpc version +*/ + + @property(nonatomic, strong) NSString *version; + /** +* switch for vkey +*/ + + @property(nonatomic, strong) NSString *vkeySwitch; + /** +* switch for BugTrack +*/ + + @property(nonatomic, strong) NSString *bugTrackSwitch; + /** +* version for applist cmd +*/ + + @property(nonatomic, strong) NSString *appListVer; + + @property(nonatomic, strong) NSString *dynamicKey; + + @property(nonatomic, strong) NSDictionary *resultData; + + (Class)resultDataElementClass; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h new file mode 100644 index 00000000..98e746ef --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h @@ -0,0 +1,20 @@ +// +// APRiskRpcConfiguration.h +// APPSecuritySDKAdapter +// +// Created by hongren on 2020/9/8. +// Copyright © 2020 Alipay. All rights reserved. +// +#import + +@interface APRiskRpcConfiguration : NSObject +// 超时时间 +@property(nonatomic, assign) int timeout; + +// 网关地址 +@property(nonatomic, strong) NSString* gatewayURL; + +// workspaceid和appid +@property(nonatomic, strong) NSDictionary *headers; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h new file mode 100644 index 00000000..da99a141 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h @@ -0,0 +1,21 @@ +// +// APRiskSyncHandlerProtocol.h +// APPSecuritySDK +// +// Created by eric on 2020/10/15. +// Copyright © 2020 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol APRiskSyncHandlerProtocol + +@required + +-(void) handleWithBizType: (NSString *) bizType andData: (NSString *) data; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h new file mode 100644 index 00000000..bb6cbde2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h @@ -0,0 +1,28 @@ +// +// APRiskSyncServiceProtocol.h +// APPSecuritySDK +// +// Created by eric on 2020/10/15. +// Copyright © 2020 Alipay. All rights reserved. +// + +#import +#import "APRiskSyncHandlerProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +static NSString* const kEdgeBizTypeGlobal = @"EDGE-GLOBAL"; +static NSString* const kEdgeBizTypeSingle = @"EDGE-SINGLE"; +static NSString* const kEdgeBizTypeUid = @"EDGE-SINGLE-USER"; +static NSString* const kEdgeBizTypeSyncDegradeToConfig = @"EDGE-SYNC-DEGRADE-TO-CONFIG"; + +@protocol APRiskSyncServiceProtocol + +@required + +-(void) registerHandler:(id)handler; +-(void) registerSyncBiz; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecRDS.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecRDS.h new file mode 100644 index 00000000..558a7e1a --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecRDS.h @@ -0,0 +1,41 @@ +// +// APSecRDS.h +// APSecRDS +// +// Created by xingchen on 15/4/8. +// Copyright (c) 2015年 Alipay. All rights reserved. +// + +#import +#import + +@interface APSecRDS : NSObject + +/* + appname 当前app的名称 + appver 当前app的版本 + sdkname 当前sdk的名称 + sdkver 当前sdk的版本 + user 淘宝/支付宝身份 + pagesrc 淘宝/支付宝 + page 当前页面标识 + + */ +-(void) onPageWithView:(NSString*)pageName args:(NSDictionary*) inArgs; +-(NSString*) onPageEndWithView:(NSString*) pageName user:(NSString*) userName; +-(NSString*) onPageEndZipDataWithView:(NSString*)pageName user:(NSString*)userName; + +-(void) onControlClickWithView:(NSString*) pageName ctrl: (NSString*)ctrlName; + +//按键信息 +-(void) onKeyDownWithView:(NSString*) pageName ctrl:(NSString*) ctrlName keyCode:(NSString*)keyValue; + +//焦点信息 +-(void) onGetFocusWithView:(NSString*)pageName ctrl:(NSString*) ctrlName; +-(void) onLostFocusWithView:(NSString*) pageName ctrl:(NSString*) ctrlName; + +//触屏信息 +-(void) onTouchScreenWithView:(NSString*)pageName ctrl:(NSString*) ctrlName point:(CGPoint) pt; + + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecStore.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecStore.h new file mode 100644 index 00000000..4e6c0279 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecStore.h @@ -0,0 +1,48 @@ +// +// APSecStore.h +// APPSecuritySDK +// +// Created by eric on 2021/3/10. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface APSecStore : NSObject + +/* + *功能: 从keychain中载入字符串 + *线程安全: 是 + *可重入: 是 + *@return: 成功返回key对应字符串,失败返回nil + *@param key:不能为nil + *@param error:失败时保存错误信息 + */ ++(NSString*) loadKey:(NSString*) key error:(NSError **)error; + +/* + *功能: 将字符串(键-值对)存入keychain + *线程安全: 是 + *可重入: 是 + *@return: 成功返回yes,失败返回no + *@param key:不能为nil + *@param value:不能为nil + *@param error:失败时保存错误信息 + */ ++(BOOL) saveKey:(NSString*) key Value:(NSString*)value error:(NSError **)error; + +/* + *功能: 从keychain中删除字符串(键-值对) + *线程安全: 是 + *可重入: 是 + *@return: 成功返回yes,失败返回no + *@param key:不能为nil + *@param error:失败时保存错误信息 + */ ++(BOOL) deleteKey:(NSString*) key error:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecureSdk.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecureSdk.h new file mode 100644 index 00000000..11c17571 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecureSdk.h @@ -0,0 +1,117 @@ +// +// ASSSecureSdk.h +// APSecSecuritySDK +// +// Created by xingchen on 15/2/26. +// Copyright (c) 2015年 Alipay. All rights reserved. +// +#import + +//初始化API的字典参数中,TID的key +//key for TID in the NSDictionary parameter for initToken:callback: API +extern NSString * const ASS_TID; + +//初始化API的字典参数中,userid的key +//key for USERID in the NSDictionary parameter for initToken:callback: API +extern NSString * const ASS_USERID; + +//初始化API的字典参数中,环境变量的key +//key for server environment configuration in the NSDictionary parameter for initToken:callback: API +extern NSString * const ASS_ENVIRONMENT; + +//初始化API的字典参数中,环境变量的value,代表线上环境 +//value for server configuration in the NSDictionary parameter for initToken:callback: API, stands for online environment +extern NSString * const ASS_ENVIRONMENT_ONLINE; + +//初始化API的字典参数中,环境变量的value,代表测试环境 +//value for server configuration in the NSDictionary parameter for initToken:callback: API, stands for test environment +extern NSString * const ASS_ENVIRONMENT_SIT; + +//初始化API的字典参数中,环境变量的value,代表开发环境 +//value for server configuration in the NSDictionary parameter for initToken:callback: API, stands for daily environment +extern NSString * const ASS_ENVIRONMENT_DAILY; + +//初始化API的字典参数中,环境变量的value,代表预发环境 +//value for server configuration in the NSDictionary parameter for initToken:callback: API, stands for pre online environment +extern NSString * const ASS_ENVIRONMENT_PRE; + +//初始化API的字典参数中,设置RPC网关地址的key。 +//key for RPC server gateway address in the NSDictionary parameter for initToken:callback: API. +//If value for this key is specified, the value for ASS_ENVIRONMENT will be ignored. +extern NSString* const ASS_RPC_GATEWAY_ADDR; + +//rpc header workspaceid key +extern NSString* const ASS_RPC_WORKSPACEID; + +//rpc header appid key +extern NSString* const ASS_RPC_APPID; + +//初始化API的字典参数中,设置UMID网关host地址的key。 +//host 要设置的线上地址,如ynuf.alipay.com,不要带协议头,不要带后面的参数,只能传纯host地址 +//key for UMID server host in the NSDictionary parameter for initToken:callback: API. +//host should only contain online address such as ynuf.alipay.com, without protocol or parameters. +extern NSString* const ASS_UMID_HOST; + +//初始化API的字典参数中,设置加密的umid。 +extern NSString * const ASS_ENCODE_UMID; + +/*! + @typedef ASSStatusCode + + Possible return codes + @constant ASSStatusCodeOk Completed, No errors + @constant ASSStatusCodeInvalidParam input param invalid + @constant ASSStatusCodeAppNameNil appName is nil + @constant ASSStatusCodeAppKeyNil appKeyClient is nil + @constant ASSStatusCodeConnectionError network connection failure + */ +typedef NS_ENUM(NSInteger, ASSStatusCode) +{ + ASSStatusCodeOk = 0, + ASSStatusCodeInvalidParam, + ASSStatusCodeAppNameNil, + ASSStatusCodeAppKeyNil, + ASSStatusCodeConnectionError, + +}; + +typedef NS_ENUM(NSInteger, ASSAddressFlag) +{ + ASSAddressFlagIndonesia = 1, + ASSAddressFlagMalaysia = 2, + ASSAddressFlagPilipinas = 3, + ASSAddressFlagSingapore = 4, + ASSAddressFlagIpayVn = 11, + ASSAddressFlagIpayId = 12, + ASSAddressFlagIpayMy = 13, + ASSAddressFlagIpaySg = 14, + ASSAddressFlagIpayTh = 15, + ASSAddressFlagIpayPh = 16, + ASSAddressFlagIpayDefault = 17, +}; + +@interface APSecureSdk : NSObject + +/** + 获取单例 + */ ++ (id)sharedInstance; + +/* + *网关设置 + */ +- (void)setSecuritySDKConfig:(ASSAddressFlag)address; + +/** + 初始化 + */ +- (void)initWithRpcConfiguration:(NSDictionary *) config; + +//===================测试联调 api====================// +- (void)setRpcConfiguration:(NSDictionary *) config; + ++(BOOL) isSupportFaceShield; + ++(BOOL) isTrackingAuthorization; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSign.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSign.h new file mode 100644 index 00000000..23295a84 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSign.h @@ -0,0 +1,61 @@ +// +// APSign.h +// APPSecuritySDK-Sign +// +// Created by eric on 2021/2/25. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +extern NSString * const APSE_SIGN_MODE_NORMAL; +extern NSString * const APSE_SIGN_MODE_ENHANCE; +extern NSString * const APSE_SIGN_MODE_NORMAL_ASYNC; +extern NSString * const APSE_SIGN_MODE_ENHANCE_ASYNC; + +@interface APSign : NSObject + +/* +* getColorInfo 请求可信接口,获取数字签名 +* +* @param bizToken 业务场景 +* @param bizParam 业务参数 +* @param extParams 扩展参数 +* @param errInfo 错误信息 +* +* @return 数字签名数据 +*/ ++ (NSString*) getColorInfo: (NSString*) bizToken + param: (NSString*) bizParam + ext: (NSDictionary*) extParams + error: (NSError **) errInfo; + +/* +* preColorInfo 签名数据预处理接口,用于不同业务定制签名携带数据 +* +* @param userAction 当前动作,由业务定制的行为事件 +* @param extParams 业务参数,格式需要与内部对齐 +* +* @return 预处理数据 +*/ ++ (NSString*) preColorInfo: (int) userAction + ext: (NSDictionary*) extParams + error: (NSError **) errInfo; + +/* +* preColorInfo 签名数据预处理接口,用于不同业务定制签名携带数据 +* +* @param userAction 当前动作,由业务定制的行为事件 +* @param extParams 业务参数,格式需要与内部对齐 +* +* @return 预处理数据 +*/ ++ (NSString*) preColorInfoForString: (int) userAction + ext: (NSString*) extParams + error: (NSError **) errInfo; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSCommon.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSCommon.h new file mode 100644 index 00000000..483e0064 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSCommon.h @@ -0,0 +1,234 @@ +// +// ASSCommon.h +// ae-security-sdk +// +// Created by xingchen on 14/12/30. +// Copyright (c) 2014年 Alipay. All rights reserved. +// + +#import +#import "ASSLogger.h" + +//#define IN_DEBUG +#define USED_BY_ALIPAY + +static NSErrorDomain APSECURITYSDK_ERROR_DOMAIN = @"APSecuritySDKErrorDomain"; + +static NSString* const PRIVATE_KEY_XXXX = @"qqAIhzy)H)ip53<>ugx,sI{#}CE$37L|z5G=IScgO^=aQHaN[b|NM.RWdZpcy.r$"; + +static NSString* const PRIVATE_KEY_CLIENTKEY = @"EQopzyui)H)ipQW983uitx,sgI{#}##20110kl==^^woQG,msq.xinjun.$$"; + +static NSString* const LOG_SWITCH_SETTING_INITIALIZED = @"开关设置从keychain初始化成功"; + +static NSString* const LOG_LOAD_SETTING_EXCEPTION = @"开关设置在keychain中无存储,读取失败"; + +static NSString* const LOG_DECRYPT_SETTING_EXCEPTION = @"开关设置从keychain中读取成功,解密失败"; + +static NSString* const LOG_SWITCH_APPLIST_INITIALIZED = @"applist从keychain初始化成功"; + +static NSString* const LOG_LOAD_APPLIST_EXCEPTION = @"applist相关信息在keychain中无存储,读取失败"; + +static NSString* const LOG_DECRYPT_APPLIST_EXCEPTION = @"applist信息从keychain中读取成功,解密失败"; + +static NSString* const LOG_UMID_TOKEN_REQUEST_BACK = @"UMID TOKEN返回结果为:"; + +static NSString* const LOG_VKEYINFO_GENERATED = @"本地VKEY开关打开,将生成VKEY信息"; + +static NSString* const LOG_VKEYINFO_ABORT = @"本地VKEY开关关闭,将放弃生成VKEY信息"; + +static NSString* const LOG_VKEY_NO_KEYCHAIN_CACHE = @"VKEY缓存信息在keychain中无存储,读取失败"; + +static NSString* const LOG_VKEY_FOUND_KEYCHAIN_CACHE = @"VKEY缓存信息在keychain中获取缓存值"; + +static NSString* const LOG_VKEY_INFO_DETAIL = @"KEY信息为:"; + +static NSString* const LOG_VKEY_GENERATION_EXCEPTION = @"VEr:"; + +static NSString* const LOG_GID_GENERATED = @"本地GID开关打开,将生成GID信息"; + +static NSString* const LOG_GID_ABORT = @"本地GID开关关闭,将放弃生成GID信息"; + +static NSString* const LOG_GID_NO_KEYCHAIN_CACHE = @"GID缓存信息在keychain中无存储,读取失败"; + +static NSString* const LOG_GID_FOUND_KEYCHAIN_CACHE = @"GID缓存信息在keychain中获取缓存值"; + +static NSString* const LOG_GID_INFO_DETAIL = @"GID信息为:"; + +static NSString* const LOG_VOS_RUNNING = @"VKEY任务启动"; + +static NSString* const LOG_VOS_ASYNC_ABORT = @"放弃异步VOS任务"; + +static NSString* const LOG_VOS_VKEY_GENERATION = @"VOS VKEY采集中"; + +static NSString* const LOG_VOS_GID_GENERATION = @"VOS GID采集中"; + +static NSString* const LOG_GID_GENERATION_EXCEPTION = @"GEr:"; + +static NSString* const LOG_JB_ERROR_DETECTED = @"JEr"; + +static NSString* const LOG_STATIC_INFO_DETAIL = @"采集静态信息列表如下:"; + +static NSString* const LOG_APP_LIST_INFO_COLLECTED = @"APPLIST信息扫描获取中"; + +static NSString* const LOG_APP_LIST_INFO_ABORT = @"APPLIST信息放弃扫描获取"; + +static NSString* const LOG_LOAD_MODEL_KEYCHAIN_EXCEPTION = @"VKEYID在keychain无存储,读取失败"; + +static NSString* const LOG_LOAD_MODEL_FROM_KEYCHAIN = @"VKEYID从keychain中成功读取"; + +static NSString *const LOG_LOCALMODEL_ABSENT = @"本地未找到VKEYID存储"; + +static NSString *const LOG_LOCALMODEL_LOADSUCCESS = @"本地成功找到VKEYID存储"; + +static NSString *const LOG_LOAD_PREAPDID_SUCCESS = @"本地成功在keychain中读取旧版apdid的值:"; + +static NSString *const LOG_LOAD_PREAPDID_FAILED = @"旧版apdid在keychain中无存储,读取失败"; + +static NSString* const LOG_STATIC_INFO_CHANGED = @"所采集的静态信息发生改变或者存储中没有记录"; + +static NSString* const LOG_STATIC_INFO_SAME = @"所采集的静态信息与存储中相同"; + +static NSString* const LOG_TODAY_FIRST = @"检测为24小时内首次请求"; + +static NSString* const LOG_NOT_TODAY_FIRST = @"检测24小时内已经发起过请求"; + +static NSString *const LOG_GETAPDIDTOKEN_RET_LOCAL = @"不发起网络请求,直接返回本地存储"; + +static NSString* const LOG_CONNECT_TO_SERVER = @"需要访问服务器请求TOKEN"; + +static NSString* const LOG_REQUEST_INFO_INCLUDED = @"静态请求上传需要携带静态信息"; + +static NSString* const LOG_REQUEST_INFO_EXCLUDED = @"静态请求上传不需要携带静态信息"; + +static NSString* const LOG_STATIC_REQUEST_EXCEPTION = @"静态数据请求发送出现异常"; + +static NSString* const LOG_STATIC_REQUEST_FAILED = @"静态数据请求返回出现错误"; + +static NSString* const LOG_STATIC_REQUEST_SUCCESS = @"静态数据请求请求返回"; + +static NSString* const LOG_SERVER_RESPONSE_SUCCESS = @"服务端返回结果通过验证,证明有效:"; + +static NSString* const LOG_SERVER_RESPONSE_FAILED = @"服务端获取TOKEN失败"; + +static NSString* const LOG_LOG_REQUEST_RESPONSE = @"日志上传成功返回"; + +static NSString *const LOG_LOCALMODEL_SAVED_KEYCHAIN = @"成功将VKEY ID保存至keychain"; + +static NSString *const LOG_UPDATE_SETTING = @"已更新keychain中开关的设置值"; + +static NSString* const LOG_APP_LIST_NEED_UPDATE = @"经过检测,app list列表需要从服务器更新"; + +static NSString *const LOG_UPDATE_APPLIST = @"app list列表成功从服务器更新"; + +static NSString* const LOG_APPLIST_SETTING_SAVED_KEYCHAIN = @"app list列表信息成功更新至keychain保存"; + +static NSString* const LOG_APP_LIST_REQUEST_EXCEPTION = @"app list请求出现异常"; + +static NSString* const LOG_APP_LIST_RESPONSE_FAILED = @"app list请求结果失败"; + +static NSString* const LOG_LOG_UPDATE_EXCEPTION = @"日志信息请求发送出现异常"; + +static NSString* const LOG_LOG_UPLOAD_ERROR = @"日志信息发送出现错误"; + +static NSString* const LOG_LOG_UPLOAD_SUCCESS = @"日志信息发送返回成功"; + +static NSString *const LOG_SETTINGMODEL_SAVEFAILED = @"开关信息保存错误"; + +static NSString *const LOG_SETTINGMODEL_SUCCESS = @"开关信息成功保存到keychain"; + +static NSString* const LOG_LOG_UPLOAD_PROCESS = @"上报日志开关打开,开始上报错误日志流程"; + +static NSString* const LOG_LOG_UPLOAD_ABORT = @"上报日志开关关闭,放弃上报错误日志"; + +static NSString* const LOG_LOG_FILE_DETAIL = @"检测到错误日志文件:"; + +static NSString* const LOG_LOG_FILE_REMOVAL = @"已经删除错误日志文件:"; + +static NSString* const LOG_LOG_UPLOAD_START = @"开始日志上报网络请求"; + +static NSString* const LOG_LOG_UPLOAD_DETAIL = @"日志上报网络请求具体内容:"; + + + +static NSString* const LOG_JSON_PARSE_EXCEPTION = @"JSON解析失败"; + +static NSString* const ASS_STORAGE_KEY_SUCCESS = @"success"; +static NSString* const ASS_STORAGE_KEY_APDID = @"apdid"; +static NSString* const ASS_STORAGE_KEY_TOKEN = @"token"; +static NSString* const ASS_STORAGE_KEY_TIME = @"time"; +static NSString* const ASS_STORAGE_KEY_VKEYSWITCH = @"vkeyon"; +static NSString* const ASS_STORAGE_KEY_LOGSWITCH = @"logon"; +static NSString* const ASS_STORAGE_KEY_APPLISTVERSION = @"appver"; +static NSString* const ASS_STORAGE_KEY_STATICHASH = @"statichash"; +static NSString* const ASS_STORAGE_KEY_ERROR = @"error"; +static NSString* const ASS_APPKEY_INVALID = @"APPKEY_ERROR"; +static NSString* const ASS_STORAGE_KEY_WEBRTCURL = @"webrtcurl"; +static NSString* const ASS_STORAGE_KEY_DYNAMICKEY = @"dynamickey"; +static NSString* const ASS_STORAGE_KEY_AGENTURL = @"agentcurl"; +static NSString* const ASS_STORAGE_KEY_APSE_DEGRADE = @"apse_degrade"; +static NSString* const ASS_STORAGE_KEY_TIMEINTERVAL = @"timeInterval"; + +static NSString* const SECURE_SDK_KEYCHAIN_KEY = @"com.alipay.securesdk.storage"; +static NSString* const LAST_LOGIN_TIME_KEY = @"com.alipay.asssecuritySDK.lastlogintime"; +static NSString* const SECURE_SDK_RANDOM_STRING = @"com.alipay.securesdk.ranstr"; +static NSString* const SECURE_SDK_RANDOM_TOKEN = @"com.alipay.securesdk.tokenid"; +static NSString* const ASS_KEYCHAIN_KEY_SETTING = @"com.alipay.asssecuresdk.config"; +static NSString* const SECURE_SDK_RANDOM_CLIENTKEY_STRING = @"com.alipay.securesdk.clientkey"; +static NSString* const SECURE_SDK_KEYCHAIN_TOKEN = @"maintoken"; + +static NSString* const ASS_KEYCHAIN_KEY_APPLIST = @"com.alipay.asssecuresdk.list"; +static NSString* const ASS_KEYCHAIN_KEY_DFP = @"com.alipay.asssecuresdk.dfp"; +static NSString* const ASS_KEYCHAIN_KEY_GID = @"com.alipay.asssecuresdk.gid"; +static NSString* const ASS_KEYCHAIN_KEY_JBER = @"com.alipay.asssecuresdk.jber"; +static NSString* const ASS_KEYCHAIN_KEY_APDIDC = @"com.alipay.asssecuresdk.apdidc"; +static NSString* const ASS_KEYCHAIN_KEY_TMXTIME = @"com.alipay.asssecuresdk.tmxtime"; +static NSString* const ASS_KEYCHAIN_KEY_TMXSESSOINID = @"com.alipay.asssecuresdk.tmxsessionid"; +static NSString* const ASS_KEYCHAIN_KEY_ARPMAC = @"com.alipay.asssecuresdk.arpmac"; +static NSString* const ASS_KEYCHAIN_KEY_DYNAMICKEY = @"com.alipay.asssecuresdk.dynamickey"; + +static NSString* const ASS_USER_DEFAULT_KEY_DEGRADE_TIME = @"asssecuritysdkdegrade"; + +static const int overtime = 9; + +//CRASHGUARD +static NSString* const CRASH_GUARD_GET_COLOR_INFO = @"05f445"; +static NSString* const CRASH_GUARD_PRE_COLOR_INFO = @"f379d2"; +static NSString* const CRASH_GUARD_INIT_COLOR_INFO = @"25f523"; +static NSString* const CRASH_GUARD_UPDATE_COLOR_CODE = @"8e81ac"; +static NSString* const CRASH_GUARD_GET_COLOR_LABEL = @"d785d8"; +static NSString* const CRASH_GUARD_UPDATE_COLOR_LABEL = @"dccf1d"; +static NSString* const CRASH_GUARD_INIT_TOKEN = @"0780aa"; +static NSString* const CRASH_GUARD_INIT = @"e37f013"; + + +@interface ASSCommon : NSObject + ++ (int)getCurrentMode; + ++ (NSString*)getRPCURL; + ++ (NSString*)getServerHost; + ++ (void) setRPCHeader:(NSDictionary*)header; + ++ (NSDictionary*)getRPCHeader; + ++ (void)setupEnvironmentMode:(int)mode; + ++ (void)setupRPCAddress:(NSString*)address; + ++ (BOOL)useURLWhitelist; + ++ (BOOL)checkDeviceSystemVersion; + ++ (void)setSecuritySDKConfig:(int)address; + ++ (void)setRpcHeaderAppid:(NSString*)apid; + ++ (NSString*)getRpcHeaderAppid; + ++ (void)setRpcHeaderWorkspaceid:(NSString*)spaceid; + ++ (NSString*)getRpcHeaderWorkspaceid; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSDynamicManager.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSDynamicManager.h new file mode 100644 index 00000000..73ea5734 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSDynamicManager.h @@ -0,0 +1,37 @@ +// +// ASSDynamicManager.h +// APSecSecuritySDK +// +// Created by msq on 2019/1/5. +// Copyright © 2019 Alipay. All rights reserved. +// + +#import +#import "APDynamicProtocol.h" + +@interface ASSDynamicManager : NSObject + ++ (instancetype)sharedInstance; + +- (void)dynamicCheckDispatch:(NSDictionary *)dict; + +- (void)dynamicCheckDispatch:(NSDictionary *)dict withCallBack: (void(^)(Boolean, NSString *))callback; + +- (void)dynamicCheckCustomLocal:(int)delay; + ++ (NSData *)sendDynamicSynchronousRequest:(NSString *)url; + ++ (void)uploadTimerCheckResult:(NSString *)data + dynamicTrace:(NSString*)trace + dynamicCmd:(int)cmd + dynamicNum:(int)num; + ++ (NSString *)uploadCustomFile:(NSString *)path; + ++ (void)recordError:(const char *)pos + withAction:(const char *)action + errCode:(int)code; + +//+ (NSString *)processFeature; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSLogger.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSLogger.h new file mode 100644 index 00000000..b763df6e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSLogger.h @@ -0,0 +1,39 @@ +// +// ASSLogger.h +// ae-security-sdk +// +// Created by xingchen on 14/12/22. +// Copyright (c) 2014年 Alipay. All rights reserved. +// + +#import +#import "ASSProtocolCenter.h" + +#define ASSLog(...) do { \ + if ([ASSProtocolCenter sharedCenter].logDelegate) { \ + [[ASSProtocolCenter sharedCenter].logDelegate print:__VA_ARGS__, nil]; \ + }} while(0) +#define ASSDtl(params, detail) [[ASSProtocolCenter sharedCenter].logDelegate print:[NSString stringWithFormat:@"%@%@",params,detail], nil] +#define ASSLogError(erroInfo) do { [[ASSLogger sharedInstance] addLogWithMessage: erroInfo]; } while(0) + +@interface ASSLogger : NSObject + +@property (nonatomic, strong) NSString* loggerInfo; + ++(id)sharedInstance; + +-(void)initializeWithArgs:(NSDictionary*)inArgs; + +-(void)addLogWithMessage:(NSString*)message; + +-(void)uploadLog; + +//---------for test +-(NSData*)generateMessage:(NSString*)msg; +-(void)addLogWithMessage:(NSString *)message withFileName:(NSString*)fileName; +-(NSString*)getCurrentFileName:(NSDate*)date; +-(void)internal_addLog:(NSString*)message; +-(void)uploadLogCertified; + + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureInfo.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureInfo.h new file mode 100644 index 00000000..9ba1e201 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureInfo.h @@ -0,0 +1,28 @@ +// +// ASSSecureInfo.h +// APPSecuritySDK +// +// Created by msq on 2018/7/9. +// Copyright © 2018年 Alipay. All rights reserved. +// + +#import + +#define ASSSecureInfo ASSSecureInfoCore + +@interface ASSSecureInfo : NSObject +/** + * 重打包检测 + * 返回值:YES表示个人签名;NO表示企业签名 + * + */ ++ (BOOL)hasPersonSign; + +/** + * 越狱检测 + * 返回值:0表示非越狱;大于0其他值表示越狱 + * + */ ++ (uint32_t)checkJB; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h new file mode 100644 index 00000000..be565ae7 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h @@ -0,0 +1,77 @@ +// +// ASSSecureOpenSdk.h +// APPSecuritySDK +// +// Created by msq on 16/6/1. +// Copyright © 2016年 Alipay. All rights reserved. +// + +#import +#import "APSecureSdk.h" +#import "ASSTokenResult.h" + +typedef void(^ASSSecureSdkCallbackOpen)(NSString* token, int errorCode); + +@interface ASSSecureOpenSdk : NSObject + +/* + 异步初始化vkeyid,推荐在app启动时和收银台页面加载时调用,SDK内部会根据时间戳和设备信息进行判断是否需要进行网络请求,无线程要求 + @param appName 应用名称 + @param appKeyClient 应用客户端密钥 + @param callback 初始化完成后的结果回调,以Token作为参数 + */ ++ (void)initToken:(NSString *)appName appKeyClient:(NSString *)appKeyClient callback:(ASSSecureSdkCallbackOpen)callback; + + +/* + 异步初始化vkeyid,推荐在app启动时和收银台页面加载时调用,SDK内部会根据时间戳和设备信息进行判断是否需要进行网络请求,无线程要求 + @param appName 应用名称 + @param appKeyClient 应用客户端密钥 + @param parameters 业务方按约定的自定义参数 + @param callback 初始化完成后的结果回调,以Token作为参数 + */ ++ (void)initToken:(NSString *)appName appKeyClient:(NSString *)appKeyClient parameters:(NSDictionary*)inArgs callback:(ASSSecureSdkCallbackOpen)callback; + +/* + 异步强制更新vkeyid,推荐在app启动时和收银台页面加载时调用,无线程要求 + @param appName 应用名称 + @param appKeyClient 应用客户端密钥 + @param parameters 业务方按约定的自定义参数 + @param callback 初始化完成后的结果回调,以Token作为参数 + */ ++ (void)updateToken:(NSString *)appName appKeyClient:(NSString *)appKeyClient parameters:(NSDictionary*)inArgs callback:(ASSSecureSdkCallbackOpen)callback; + +/* + VKEYID和VKEYID token的接口,无网络请求。 + 同步调用前应当先调用过异步初始化接口 + + 如果异步初始化由于网络等原因失败,同步接口将返回降级方案: + 1)VKEYID将在旧版apdid存在的情况下返回旧版apdid,否则返回随机串 + 2)VKEYID token将返回空字符串:@"" + */ ++ (ASSTokenResultOpen*)getTokenResult; + +/* + *获取exactID + */ ++ (NSString*)getExactID; + +/* + *设置自定义的网关地址 + */ ++ (void)setGatewayAddress:(NSString*)addr; + ++ (void)setRpcConfiguration:(NSDictionary *) config; + + +/** +* 感知埋点。 +* appName - 应用名 (智科人脸:“zorro”) +* appKeyClient - 应用key (智科人脸:“elBwppCSr9nB1LIQ”) +* action - 感知行为编号 +* extParams - 可选扩展参数,以map方式传参 +*/ +//+(APRiskResult*)APPerceptRisk:(NSString*)appName appKeyClient:(NSString*)appKeyClient userAction:(NSInteger)action extParams:(NSDictionary *)args; + + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h new file mode 100644 index 00000000..1e43d793 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h @@ -0,0 +1,29 @@ +// +// ASSSgomInfoOpen.h +// APPSecuritySDK +// +// Created by hongren on 2021/8/16. +// Copyright © 2021 Alipay. All rights reserved. +// + +#import + +/** +* 感知结果类。 +*/ +@interface ASSSgomResult: NSObject + +@property (nonatomic) NSInteger resCode; +@property (nonatomic, strong) NSString* resInfo; + +@end + + +@interface ASSSgomInfoOpen : NSObject + ++ (instancetype)sharedInstance; + +- (ASSSgomResult*)updateSgomInfo:(int) userAction + ext:(NSDictionary*) extParams; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSTokenResult.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSTokenResult.h new file mode 100644 index 00000000..c23d447b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSTokenResult.h @@ -0,0 +1,40 @@ +// +// ASSTokenResult.h +// APPSecuritySDK +// +// Created by xingchen on 15/7/31. +// Copyright (c) 2015年 Alipay. All rights reserved. +// + +#import + +#define ASSTokenResult ASSTokenResultCore + + +@interface ASSTokenResult : NSObject + +@property (nonatomic, strong) NSString* vkeyidToken; +@property (nonatomic, strong) NSString* clientKey; +@property (nonatomic, strong) NSString* umidToken; +@property (nonatomic, strong) NSString* vkeyid; + +@end + + +@interface ASSTokenResultOpen: NSObject + +@property (nonatomic, strong) NSString* vkeyidToken; +@property (nonatomic, strong) NSString* clientKey; +@property (nonatomic, strong) NSString* vkeyid; + +@end + +/** +* 感知结果类。 +*/ +@interface APRiskResult: NSObject + +@property (nonatomic) int resCode; +@property (nonatomic, strong) NSString* resInfo; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/AntSecurityManager.h b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/AntSecurityManager.h new file mode 100644 index 00000000..61246e45 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/AntSecurityManager.h @@ -0,0 +1,101 @@ +// +// AntSecurityManager.h +// APPSecuritySDK +// +// Created by msq on 2018/8/20. +// Copyright © 2018年 Alipay. All rights reserved. +// + +#import + +typedef enum: NSInteger { + //正常 + SEC_STORE_OK = 0, + //未找到 + SEC_STORE_NOT_FOUND = 10001, + //拷贝 + SEC_STORE_CP = 10002, + //内部错误 + SEC_STORE_ERR = 10003, + + SEC_STORE_PARAM_ERR = 10004, + + SEC_STORE_DEGRADE_ERR = 10005, + +} SEC_STORE_ERR_CODE; + +@interface APSecStoreResult : NSObject + +@property (nonatomic, strong) NSString* value; + +@property (nonatomic, assign) SEC_STORE_ERR_CODE errCode; + +@property (nonatomic, assign) int errCodeDetail; + +@end + +@interface AntSecurityManager : NSObject + +/** + * brief aes_encrypt + * ase 加密 + * param data 原始数据 + * + * return + * 返回加密后数据 + * nil 表示异常 + */ ++ (NSString*)securityEncrypt:(NSString*)data; + +/** + * brief aes_decrypt + * ase 解密 + * param data 加密原始数据 + * + * return + * 返回解密后数据 + * nil 表示异常 + */ ++ (NSString*)securityDecrypt:(NSString*)data; + +/** + * brief wbSign + * + * param data 签名数据 + * + * return + * 签名数据 44B base64文本 + */ ++ (NSString*)wbSign:(NSString*)data; + +/** + *防拷贝存储保存数据接口 + *@param key + *@param value 需要加密的数据 + *@param bizType 业务场景 + *@return 返回错误码,0表示正常,其他非0值都表示异常 + */ + ++ (int) setSafeStore:(NSString*)key value:(NSString*)value bizType:(NSString*)bizType; + +/** + *防拷贝存储读取数据接口 + *@param key + *@param bizType 业务场景 + *@return 返回APSecStoreResult对象 + * SEC_STORE_OK 0 正常 + * SEC_STORE_NOT_FOUND 10001 未找到 + * SEC_STORE_CP 10002 拷贝 + * SEC_STORE_ERR 10003 内部错误 + */ ++ (APSecStoreResult*)getSafeStore:(NSString*)key bizType:(NSString*)bizType; + +/** + *删除保存数据接口 + *@param key + *@param bizType 业务场景 + *@return 返回错误码,0表示正常,其他非0值都表示异常 + */ ++ (int) deleteSafeStore:(NSString*)key bizType:(NSString*)bizType; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Info.plist new file mode 100644 index 00000000..2a4fd847 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..1b43ae66 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,61 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + + + + + NSPrivacyTrackingDomains + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + + + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + NSPrivacyAccessedAPITypeReasons + + 7D9E.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + + + NSPrivacyAccessedAPITypeReasons + + DDA9.1 + C617.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeDirectory b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeDirectory new file mode 100644 index 00000000..f8e7b862 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeDirectory differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements new file mode 100644 index 00000000..dbf9d614 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1 b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1 new file mode 100644 index 00000000..e54e5c22 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1 differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeResources b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeResources new file mode 100644 index 00000000..e6782ce7 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeResources @@ -0,0 +1,574 @@ + + + + + files + + APPSecuritySDK-Info.plist + + Po//BA5tM1BE58borc33LNpqXyw= + + Headers/APDID.h + + YaNffM20hdQMiNpnIoEPIHF8o+A= + + Headers/APDeviceColor.h + + sqZwHJLZ8j2L+9pkCmTqWHaRPoo= + + Headers/APDynamic.h + + TBp9H7ZpcLh5hWGFJbObSnR3sSQ= + + Headers/APRiskConfigReportRequest.h + + 5vPyFFL4v0DrNrSc35DrU0204M4= + + Headers/APRiskConfigReportResponse.h + + WODwFqptygg++OMfRxg5nJhV1tM= + + Headers/APRiskConfigServiceProtocol.h + + SJJczKTD81Beaeutnk5eh5yYk6s= + + Headers/APRiskFileUploadProtocol.h + + LLqKfgEm/gVHeBO+chBoA32ce6w= + + Headers/APRiskLoggerProtocol.h + + KaoFaIX0tcWToF7p3GQSPdm1fNI= + + Headers/APRiskRPCProtocol.h + + /OdHTVHBuEGxpO5dJbde5mXoV3Q= + + Headers/APRiskRemoteLoggerProtocol.h + + L9Ca3T+cAEzjRZxJTwHTaKytgQs= + + Headers/APRiskReportRequest.h + + p0bXoJMwS+46ZRrgLqdvbEFjAmI= + + Headers/APRiskReportResponse.h + + 3pzJU3RgAQBnPg/R2tEjuGJLfvc= + + Headers/APRiskRpcConfiguration.h + + ypma2woz2iRq5pghoIkfFTGVm+8= + + Headers/APRiskSyncHandlerProtocol.h + + Vum7s9ObS3JRBHwQBG4BUdk6SN8= + + Headers/APRiskSyncServiceProtocol.h + + V0kCGcKZFd1gG+a2uuDzVkzj218= + + Headers/APSecRDS.h + + ZKM/B2Jcl/et+wyK8FepeewKCi8= + + Headers/APSecStore.h + + rEuJJetfP9Aj7GLQd5R3IgSZw/c= + + Headers/APSecureSdk.h + + MXM1OJAiXpW6nnot0SH2kDLtVy8= + + Headers/APSign.h + + UxWq8miIIfr3zl7GiKnKdG8PS5s= + + Headers/ASSCommon.h + + lrrlG7ZqNaz4ciXX/i5kj/NnG3A= + + Headers/ASSDynamicManager.h + + 4Vk+CxCMPtR9isbOl7FqtE5jZuo= + + Headers/ASSLogger.h + + WvM9Fp3B5ZaI8D+rnHiUcBTxsdk= + + Headers/ASSSecureInfo.h + + C7uQ4VE5uwtF5ws1blMIKLKpfmI= + + Headers/ASSSecureOpenSdk.h + + KmdnMxfQN0cqG23Vuu092URfYCs= + + Headers/ASSSgomInfoOpen.h + + /AhECuNKFdWPVi1Q6oH8rMN66XM= + + Headers/ASSTokenResult.h + + X5xdpK/2lE52tWoVFEg/ZivE9UQ= + + Headers/AntSecurityManager.h + + w5tB5gEPNoVoucc6rkAlUnUhzV4= + + Info.plist + + rnUOBUjn0OMe0SPq7xgsMLCff4Y= + + PrivacyInfo.xcprivacy + + swau2mVU7M9oJ4EceHYg7CKBaiI= + + en.lproj/InfoPlist.strings + + hash + + zmV6UqBSo6r1NOz798vd5O4zTBA= + + optional + + + module.map + + nJxa72k41Z2wyhSJqqJgUyYvSgA= + + + files2 + + APPSecuritySDK-Info.plist + + hash + + Po//BA5tM1BE58borc33LNpqXyw= + + hash2 + + B2XyqSNoreUIQ8uDojzpys2o9qi8XuLbypPrkCR+l8w= + + + Headers/APDID.h + + hash + + YaNffM20hdQMiNpnIoEPIHF8o+A= + + hash2 + + 0nNHe4UB7qz6XFIk/QzRt79MyXYVEOukTfqa3YBJYbY= + + + Headers/APDeviceColor.h + + hash + + sqZwHJLZ8j2L+9pkCmTqWHaRPoo= + + hash2 + + c/mo/+N/KECjwx+fLMepqE+OqRtyfnn2hHshYhmO9IU= + + + Headers/APDynamic.h + + hash + + TBp9H7ZpcLh5hWGFJbObSnR3sSQ= + + hash2 + + tUrg2Z43qGA67I0mIGCqRWU6Gc2I9Yx9mn5e2mu9XQU= + + + Headers/APRiskConfigReportRequest.h + + hash + + 5vPyFFL4v0DrNrSc35DrU0204M4= + + hash2 + + OMGRtuphIpujn+dr+tCsCMIUw+KV8WQ2zE+bsdDUVCw= + + + Headers/APRiskConfigReportResponse.h + + hash + + WODwFqptygg++OMfRxg5nJhV1tM= + + hash2 + + NvTd6RhL7dbwHKHDPiqBqkIc9aWUQLV5SwFFsEorcqg= + + + Headers/APRiskConfigServiceProtocol.h + + hash + + SJJczKTD81Beaeutnk5eh5yYk6s= + + hash2 + + RyMjAfHvdfRW5n+MDPHVlPZ6VM0Kr/T2A133j9ytwDQ= + + + Headers/APRiskFileUploadProtocol.h + + hash + + LLqKfgEm/gVHeBO+chBoA32ce6w= + + hash2 + + b2wnReDRJkaR7JxbLjLQXdNsfQbd29tkXtSh/5sjuGo= + + + Headers/APRiskLoggerProtocol.h + + hash + + KaoFaIX0tcWToF7p3GQSPdm1fNI= + + hash2 + + k2gnCevVtGYZ1cgzxh9FrAlnVnnDzD/3l8lIuDPVuDc= + + + Headers/APRiskRPCProtocol.h + + hash + + /OdHTVHBuEGxpO5dJbde5mXoV3Q= + + hash2 + + 1v7HTHTTRf+k61+lf5L1URwSh/MFv72gdnHxTodGrJA= + + + Headers/APRiskRemoteLoggerProtocol.h + + hash + + L9Ca3T+cAEzjRZxJTwHTaKytgQs= + + hash2 + + BmYD66C5squNiQNaLya1JrWDDCJ9V8w6C+AVGpr8QF4= + + + Headers/APRiskReportRequest.h + + hash + + p0bXoJMwS+46ZRrgLqdvbEFjAmI= + + hash2 + + XH1Y2gtlfBaBoOANsxALY7w6fBn81SMhxHKHNVbEFcQ= + + + Headers/APRiskReportResponse.h + + hash + + 3pzJU3RgAQBnPg/R2tEjuGJLfvc= + + hash2 + + PAxPqKwwsKVZNGSWI01WquBx9DZcg0tTsnYe8/UwlAM= + + + Headers/APRiskRpcConfiguration.h + + hash + + ypma2woz2iRq5pghoIkfFTGVm+8= + + hash2 + + xucoo82E5P13oVpu65VVAqbLK11kcVmtbwRCVlEQI5E= + + + Headers/APRiskSyncHandlerProtocol.h + + hash + + Vum7s9ObS3JRBHwQBG4BUdk6SN8= + + hash2 + + 4wA6oLvZ4U8u4Ff5SSuprJISDBd1X+Zx5MqlV0aGoik= + + + Headers/APRiskSyncServiceProtocol.h + + hash + + V0kCGcKZFd1gG+a2uuDzVkzj218= + + hash2 + + oSMsgkxXfg8rdX0ZWmUqRmlTF1fgLfINWgGqYcBeMfI= + + + Headers/APSecRDS.h + + hash + + ZKM/B2Jcl/et+wyK8FepeewKCi8= + + hash2 + + N3/Ych+ScRXiaFWFlsCWXqyGbWdqHhBCHpyp0sQFYPc= + + + Headers/APSecStore.h + + hash + + rEuJJetfP9Aj7GLQd5R3IgSZw/c= + + hash2 + + R7UHcZTpvTV6HWYJm1bEji6L2ry1wSoCprSTRHEqP0M= + + + Headers/APSecureSdk.h + + hash + + MXM1OJAiXpW6nnot0SH2kDLtVy8= + + hash2 + + bl6AOc/gkaKL/sCIDvxpsfcgDIIV97nocPpmnssA4tQ= + + + Headers/APSign.h + + hash + + UxWq8miIIfr3zl7GiKnKdG8PS5s= + + hash2 + + Te3d2WjOmORK+v6JoH87htyWMIRPvOVgrOi25YxMBWY= + + + Headers/ASSCommon.h + + hash + + lrrlG7ZqNaz4ciXX/i5kj/NnG3A= + + hash2 + + adc/BhjRDcEbnGdNnfGBsTu2jTNZbT2Csi+oHGqx2oY= + + + Headers/ASSDynamicManager.h + + hash + + 4Vk+CxCMPtR9isbOl7FqtE5jZuo= + + hash2 + + lMtcIcfdivy04/miLJ4swfqpcY6/+5XYbnQMhMiToRw= + + + Headers/ASSLogger.h + + hash + + WvM9Fp3B5ZaI8D+rnHiUcBTxsdk= + + hash2 + + JNJIdG9385MDYXjB+F1Mj1NXHTx8faIKEft1KjkceeI= + + + Headers/ASSSecureInfo.h + + hash + + C7uQ4VE5uwtF5ws1blMIKLKpfmI= + + hash2 + + VS1+TQV7GpG7Z2dfhSkfmGi3KjE6cGBUxof1/s+bLPo= + + + Headers/ASSSecureOpenSdk.h + + hash + + KmdnMxfQN0cqG23Vuu092URfYCs= + + hash2 + + Xq/bbsjzFy4rMCr4osH17Nif1NZQqxmWKvgRHq4THr0= + + + Headers/ASSSgomInfoOpen.h + + hash + + /AhECuNKFdWPVi1Q6oH8rMN66XM= + + hash2 + + j8Lnl+QqgD+rwdHhl7yEh7Op76XuicUYflL4/LNrFXE= + + + Headers/ASSTokenResult.h + + hash + + X5xdpK/2lE52tWoVFEg/ZivE9UQ= + + hash2 + + 7O9oGJk95fMdxJyn2mOlI1Iqe1vPcmPRvP5Rgj8J9zk= + + + Headers/AntSecurityManager.h + + hash + + w5tB5gEPNoVoucc6rkAlUnUhzV4= + + hash2 + + 5QS2NUN5NsRJ5dYsLrHlgLY/GLXNwZDSsR5gN4lin6k= + + + PrivacyInfo.xcprivacy + + hash + + swau2mVU7M9oJ4EceHYg7CKBaiI= + + hash2 + + cbCbEdNpgafqoUs5gJLFqR3Y2yLqCszMbjmaIw7fW1U= + + + en.lproj/InfoPlist.strings + + hash + + zmV6UqBSo6r1NOz798vd5O4zTBA= + + hash2 + + kmHsztpgjvF0JW5f3HdMHm49z1M0CcG8OT1JDQHHE/E= + + optional + + + module.map + + hash + + nJxa72k41Z2wyhSJqqJgUyYvSgA= + + hash2 + + XRW9liRaYf8O2c1bSPVShfimQ3Yfcd1SbIKvIE+sv7c= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeSignature b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeSignature new file mode 100644 index 00000000..e69de29b diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/en.lproj/InfoPlist.strings b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/en.lproj/InfoPlist.strings differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/module.map b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/module.map new file mode 100644 index 00000000..7d2d32a2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/module.map @@ -0,0 +1,9 @@ +module APPSecuritySDK { + header "Headers/APSecureSdk.h" + header "Headers/APDID.h" + header "Headers/APDeviceColor.h" + header "Headers/APSign.h" + header "Headers/APDynamic.h" + header "Headers/ASSTokenResult.h" + export * +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade new file mode 100644 index 00000000..64821bca Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade-Info.plist b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade-Info.plist new file mode 100644 index 00000000..01af302e Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade-Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Headers/AliyunFaceAuthFacade.h b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Headers/AliyunFaceAuthFacade.h new file mode 100644 index 00000000..e17af1ff --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Headers/AliyunFaceAuthFacade.h @@ -0,0 +1,49 @@ +// +// AliyunFaaceAuthFacade.h +// AliyunFaceAuthFacade +// +// Created by 汪澌哲 on 2022/11/21. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface AliyunFaceAuthFacade : NSObject + ++ (void)init; + ++ (void)initSDK; + +/* IPV6的初始化接口 只有你的网络环境强制要求是IPV6的时候,才调用initIPv6。 + */ ++ (void)initIPv6; + ++ (NSString *)getVersion; + ++ (NSString *)getNFCVersion; + ++ (void)preload:(NSDictionary *)param completion:(void (^)(BOOL success))completion; + ++ (NSDictionary *)getMetaInfo; + ++ (NSDictionary *)getNFCMetaInfo; + ++ (void)verifyWith:(NSString *)zimId + extParams:(NSDictionary *)params + onCompletion:(void (^)(ZIMResponse *response))callback; + ++ (void)nfcVerifyWith:(NSString *)zimId + 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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Headers/PoPGatewayNetwork.h b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Headers/PoPGatewayNetwork.h new file mode 100644 index 00000000..1791f44c --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Headers/PoPGatewayNetwork.h @@ -0,0 +1,32 @@ +// +// PoPGatewayNetwork.h +// ZimDemo +// +// Created by sanyuan.he on 2020/1/20. +// Copyright © 2020 com.. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface PoPGatewayNetwork : NSObject + +@property(nonatomic, assign) NSTimeInterval timeoutForInit; + +@property(nonatomic, assign) NSTimeInterval timeoutForVerify; + +-(void)bizSendContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (NSError *error, NSURLResponse *response, NSData *data))completionBlock; + +-(void)verifySendContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (NSError *error, NSURLResponse *response, NSData *data))completionBlock; + + +-(void)sendInitFaceVerifyContent:(NSDictionary*)serviceParameters keyName:(NSString*)name initKey:(NSString *)initKey initSimpleValue:(NSString *)initSimpleValue completionBlock:(void (^) (NSError *error, NSURLResponse *response, NSData *data))completionBlock; + +-(void)sendOCRContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (NSError *error, NSURLResponse *response, NSData *data))completionBlock; + +-(void)sendLogContent:(NSDictionary*)serviceParameters extraHeader:(NSDictionary *)header completionBlock:(void (^) (NSError *error, NSURLResponse *response, NSData *data))completionBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Info.plist new file mode 100644 index 00000000..5b8e4935 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Modules/module.modulemap b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Modules/module.modulemap new file mode 100644 index 00000000..0b1451f3 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AliyunFaceAuthFacade { + umbrella header "AliyunFaceAuthFacade.h" + + export * + module * { export * } +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/en.lproj/InfoPlist.strings b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/AliyunFaceAuthFacade.framework/en.lproj/InfoPlist.strings differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/back.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/back.png new file mode 100644 index 00000000..faa2eb3a Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/back.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/close.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/close.png new file mode 100644 index 00000000..16ba24ef Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/close.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/icon_tip.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/icon_tip.png new file mode 100644 index 00000000..83ab0fef Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/icon_tip.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/open.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/open.png new file mode 100644 index 00000000..63a64740 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/open.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/open_shuke.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/open_shuke.png new file mode 100644 index 00000000..63792771 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/open_shuke.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/status_bar_cancel.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/status_bar_cancel.png new file mode 100644 index 00000000..2395562d Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/status_bar_cancel.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/status_bar_cancel_suitable.png b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/status_bar_cancel_suitable.png new file mode 100644 index 00000000..2545258f Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.bundle/image/status_bar_cancel_suitable.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/BioAuthEngine b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/BioAuthEngine new file mode 100644 index 00000000..8e01aa48 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/BioAuthEngine differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEAlertView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEAlertView.h new file mode 100644 index 00000000..3c258623 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEAlertView.h @@ -0,0 +1,76 @@ +// +// AFEAlertView.h +// BioAuthEngine +// +// Created by shuhong.xsh on 16/8/3. +// Copyright © 2016年 DTF. All rights reserved. +// 弹出框管理类 + +#import + +typedef void (^AFEAlertClickBlock) (); + +@interface AFEAlertView : NSObject + +@property(atomic, assign) BOOL isAlertViewShow; + ++(AFEAlertView*) sharedInstance; + +/** + * 当前alert是否显示 + */ +- (BOOL)isAlertViewShow; + +/** + * 显示alert + * + * @param title 标题 + * @param msg 提示信息 + * @param firstTitle 第一个按钮提示文案(不可为空) + * @param secondTitle 第二课提示文案(可为空) + * @param fblk 第一个按钮点击事件callback(不可为空) + * @param sblk 第二个按钮点击事件callback(可为空) + */ +- (void)displayAlertViewWithTitle:(NSString *)title + message:(NSString*)msg + firstButtonTitle:(NSString *)firstTitle + secondBittonTitle:(NSString *)secondTitle + firstCallBack:(AFEAlertClickBlock)fblk + secondCallBack:(AFEAlertClickBlock)sblk + withVC:(UIViewController*)parentViewController; + + +/** + * 活体失败 + * + */ +- (void)displayLivnessFailAlertView:(NSString *)title + tips:(NSString*)tip + cancleTip:(NSString *)cancelTips + retryTip:(NSString *)retryTips + withCancelCallBack:(AFEAlertClickBlock)cancel + retryCallBack:(AFEAlertClickBlock)retry + withVC:(UIViewController*)parentViewController; + +/** + * 展示浮层提示框 + * @param superview 父view + * @param title 主文案,只能显示一行 + * @param detailTitle 副文案,最多显示两行 + * @param cancelTips 取消按钮文本 + * @param retryTips 再试一次按钮文本 + */ +- (void)displayCameraPermissionAlert:(UIViewController *)parentViewController + title:(NSString *)title + detailTitle:(NSString *)detailTitle + cancleTip:(NSString *)cancelTips + retryTip:(NSString *)retryTips + cancelCallBack:(AFEAlertClickBlock)cancelCall + setCallBack:(AFEAlertClickBlock)setCall; + +// 判断最顶层视图是否是 APBAlertViewController +- (BOOL)isAPBAlertViewController; + +- (UIViewController *)currentViewController; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFECircleProgressBar.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFECircleProgressBar.h new file mode 100644 index 00000000..8528f88a --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFECircleProgressBar.h @@ -0,0 +1,32 @@ +// +// AFECircleProgressBar.h +// CircularView +// +// Created by shouyi.www on 2017/6/26. +// Copyright © 2017年 shouyi.www. All rights reserved. +// + +#import +#import + +@interface AFECircleProgressBar : CALayer + +@property (nonatomic, assign) BOOL clockWise; +@property (nonatomic, assign) CGFloat animateTime; +@property (nonatomic, assign) CGFloat endAngle; +@property (nonatomic, assign) CGFloat progressBarWidth; +@property (nonatomic, assign) CGFloat maxValue; +@property (nonatomic, assign) CGFloat minValue; +@property (nonatomic, assign) CGFloat startAngle; +@property (nonatomic, copy) NSArray *gradientLocation; +@property (nonatomic, strong) NSMutableArray *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; +- (void)stopAnimation; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFECircularView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFECircularView.h new file mode 100644 index 00000000..9c22aac4 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFECircularView.h @@ -0,0 +1,76 @@ +// +// AFECircularView.h +// BioAuthEngine +// +// Created by yukun.tyk on 01/11/2016. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import "DTFTextLayer.h" +#import "AFECircleProgressBar.h" +#import "DTFUIElementManager.h" +#import "DTFUploadWaveLayer.h" + +@class AFEStatusBar, AFECircleProgressBar, APBBlurView; + +@protocol AFECircularViewProtocol + +- (void)onStopScan; + +@optional +- (void)playBtn:(UIButton *)btn; + +@end + +@interface AFECircularView : UIView + +@property (strong, nonatomic) AFEStatusBar *statusBar; +@property (nonatomic, strong) CALayer *compactLayer; +@property (nonatomic, strong) CALayer *cameraLayer; +@property (nonatomic, assign) float cameraStartY; +@property (nonatomic, assign) float cameraEndY; +@property (nonatomic, assign) BOOL isWish; +@property (nonatomic, strong) DTFTextLayer *bottomTipLayer; +@property (nonatomic, strong) DTFTextLayer *tipLayer; +@property (nonatomic, strong) CALayer *tipBackgroundLayer; +@property (nonatomic, strong) DTFTextLayer *powerByLayer; +@property (nonatomic, strong) AFECircleProgressBar *progressBar; +@property (nonatomic, strong) DTFUploadWaveLayer *waveLayer; +@property (nonatomic, strong) DTFTextLayer * stopScanTipLayer; +@property (nonatomic, weak) id aFECirViewDelegate; +@property (nonatomic, strong) UIButton * stopScanTipButton; +@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; +- (void)addCameraPreviewLayer:(CALayer *)cameraPreviewLayer; +- (void)powerByLayerHidden:(BOOL)hidden; +- (void)setBottomTipHidden:(BOOL)hidden; +- (void)setScreenRotation:(BOOL)isRotation; +- (void)setPlayBtnIcon:(NSString *)platformInfo; + +- (void)setStopScanButtonHidden:(BOOL)hidden; +- (void)setMaskImage:(UIImage *)bestImage; +- (void)startWave; +- (void)stopWave; +- (void)setAFECirViewDelegate:(id)delegate; +- (void)showBrandTip:(NSString *)brandTip; +- (void)showStopScanTip:(NSString *)stopScanTip; +- (void)hideViewList; +- (void)showViewList; +- (void)_buildShowView; +- (void)_updateView; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEScanViewDelegate.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEScanViewDelegate.h new file mode 100644 index 00000000..35720693 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEScanViewDelegate.h @@ -0,0 +1,43 @@ +// +// AFEScanViewDelegate.h +// FaceEyePrint +// +// Created by yukun.tyk on 12/28/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import + +/** + * 扫描界面接口,可以展示扫描动画和提示错误消息,错误消息内部做了平滑处理, + * 1s内只会显示一条错误消息,在这期间传入的消息会做缓存处理,最多缓存1条消息 + * 如果同时播放声音,声音会与错误消息做同步处理 + */ + +typedef NS_ENUM(NSInteger, AFEScanViewStatus) { + AFE_SCAN_SHOWING_ERROR, //正在显示错误 + AFE_SCAN_SCANNING, //正在扫描 + AFE_SCAN_HOLDING, //等待显示缓存信息 + AFE_SCAN_STOPPED, //停止中 +}; + + +@protocol AFEScanViewProtocol + +/** + * 导航栏回调 + */ +- (void)setDelegate:(id)delegate; + +/** + * 设置导航栏透明度 + */ +- (void)setNaviBarAlpha:(CGFloat)alpha; + +/** + * 设置扫描进度 + */ +- (void)showPercent:(CGFloat)stage; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEStatusBar.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEStatusBar.h new file mode 100644 index 00000000..e166f416 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEStatusBar.h @@ -0,0 +1,30 @@ +// +// AFEStatusBar.h +// FaceEyePrint +// +// Created by yukun.tyk on 12/17/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + +@protocol IStatusBarDelegate +- (void)onButtonCancel; +@optional +- (void)onSoundStatusChanged:(BOOL)newStatus; +@end + +@interface AFEStatusBar : UIView + +- (void)onButtonCancel; + +- (void)setDelegate:(id)delegate; + +- (void)setTransparent:(CGFloat) alpha; + +- (void)setCancelButtonHidden:(BOOL)hidden; + +/// 适老化 调用 +- (void)setCancelButtonImage:(UIImage *)image; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEUploadView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEUploadView.h new file mode 100644 index 00000000..08317a40 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEUploadView.h @@ -0,0 +1,25 @@ +// +// AFEUploadView.h +// FaceEyePrint +// +// Created by yukun.tyk on 12/14/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +// + + +@interface AFEUploadView : UIView + + +@property (strong, nonatomic) UILabel *label; +@property (strong, nonatomic) UIView *backgroundView; +@property (strong, nonatomic) UIImageView *backgroundImageView; + + +- (void)beginUploading; +- (void)stopUploading; +- (void)setBackgroundImage:(UIImage *)img; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEWebGuideView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEWebGuideView.h new file mode 100644 index 00000000..d89aade6 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/AFEWebGuideView.h @@ -0,0 +1,50 @@ +// +// AFEWebGuideView.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/21/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import +#import +#import "DTFUICustom.h" + +typedef NS_ENUM(NSUInteger, AFEWebGuideCancelType) { + AFEWebGuideCancelTypeActiveWithdrawal = 0,//主动退出 + AFEWebGuideCancelTypeNotCertifiedYet,//暂不认证 +}; + +@protocol AFEWebGuideViewDelegate + +- (void)onButtonBegin:(BOOL)suitableType query:(NSDictionary *)dict; +- (void)onButtonCancel:(AFEWebGuideCancelType)cancelType;//退出 + +@optional +- (void)onLoadFinished:(BOOL)success; +- (void)onH5Logger:(NSString *)h5Logger; +- (void)onButtonAgreement; + +@end + +@interface AFEWebTopBar: UIView + +@end + +@interface AFEWebGuideView : UIView + +@property(strong,nonatomic) WKWebView *wkwebView; + +@property(nonatomic, assign)BOOL loaded; +@property(nonatomic, strong)APBToygerAlertConfig *toygerAlertConfig; +@property(nonatomic, weak)UIViewController *currentViewController; +@property(nonatomic, strong)DTFUICustom *customProtocol; +@property(nonatomic, strong)NSDictionary *alertParam; + +- (void)setWebGuideViewDelegate:(id)webGuideViewDeleage; +- (void)setURL:(NSURL *)url; +//清除网页的localstorage,localStorage存储了自定义UI信息 +- (void)clearUICustomSettingWebLocalStorage; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAlertController.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAlertController.h new file mode 100644 index 00000000..91c31857 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAlertController.h @@ -0,0 +1,18 @@ +// +// APBAlertController.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/2/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import + + +extern NSString *const kAlertViewAppear; +extern NSString *const kAlertViewDisappear; + + +@interface APBAlertController : UIAlertController + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAuthEngine.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAuthEngine.h new file mode 100644 index 00000000..a9b8388a --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAuthEngine.h @@ -0,0 +1,82 @@ +// +// APBAuthEngine.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/9/15. +// Copyright © 2015 DTF. All rights reserved. +// +// + +#import +#import "BioAuthFacade.h" + +/** + 生物认证类型定义 + */ +typedef enum { + BIO_FACE = 100, //人脸识别 + BIO_VOICE = 101, //声纹识别 + BIO_HANDWRITING = 103, //笔迹识别 + BIO_IDPAPERS = 107, //重构后的证件宝 + BIO_CARD = 109, //证件宝 + BIO_DTF_DOC = 110, //一体化证件宝 + BIO_FACE_VOICE = 202, //人脸+声纹识别 + BIO_FACE_EYE = 201, //人脸+眼纹识别 + BIO_CARD_FACE = 200, //人证合一 + BIO_TOYGER = 300, //Toyger产品 +}APBBioType; + +/** + 操作类型定义 + */ +typedef enum { + ACTION_COLLECT = 300, //采集操作 + ACTION_VERFIY = 301, //验证操作 +}APBActionType; + +@interface APBAuthEngine : NSObject + +/** + * 唤起生物认证之前获取框架meta数据 + */ ++ (NSString *)getBioMetaInfo; + +/** + * 触发下载资源文件 + */ ++ (void)preLoad; + +/** + * 申请生物认证 + * + * @param request 生物认证请求 + * @param callback 生物认证结果回调处理 + */ +- (void)authWithRequest:(APBRequest *)request withCallback:(BioAuthCallback)callback; + +/** + * 让正在进行中的生物认证因子执行某种操作 + * + * @param command 操作码 + * @param callback 执行结果回调 + */ +- (void)exec:(APBCommand *)command withCompletionCallback:(BioAuthExecCallback)callback; + +/** + * 当前是否运行任务 + */ +- (BOOL)isBusy; + +/** + * 生物认证类型版本号 + * + * @return 生物认证类型版本号 + */ +- (NSString *)version; + +/** + * 当前运行的认证方式 + */ ++ (NSString *)getAuthFactorName; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAuthFacade.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAuthFacade.h new file mode 100644 index 00000000..8d887346 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBAuthFacade.h @@ -0,0 +1,18 @@ +// +// APBAuthFacade.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/9/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBackwardCommand.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBackwardCommand.h new file mode 100644 index 00000000..111e1575 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBackwardCommand.h @@ -0,0 +1,59 @@ +// +// APBBackwardCommand.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/26/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + + +/** + * 任务队列可要求框架执行的命令 + */ +typedef NS_ENUM(NSInteger, APBBackwardCommandType) { + BACKWARD_COMMAND_RESTART = 300, //重新开始任务队列,task可以设置params来指定冲新开始的任务下标 + BACKWARD_COMMAND_ADD_PARALLEL_TASK = 302, //添加并行任务 + BACKWARD_COMMNAD_GLOBAL_TIMER = 305, //全局timer操作 + BACKWARD_COMMNAD_UPLOAD_DATA = 400, //合并上传 + BACKWARD_COMMNAD_STOP_SCANCE = 401, //关闭扫描 + BACKWARD_COMMNAD_OCRUPLOAD_DATA = 402, //EKYC OCR上传 + BACKWARD_COMMNAD_OCRUPLOADCONFIRM_DATA = 403, //EKYC OCR确认 +}; + +typedef NS_ENUM(NSInteger, APBTimerCommandType) { + TIMER_COMMAND_START, //开始全局计时 + TIMER_COMMAND_CANCEL, //取消全局计时 + TIMER_COMMAND_PAUSE, //暂停全局计时 + TIMER_COMMAND_RESUME, //恢复全局计时 +}; + +/** + * param key {BACKWARD_COMMAND_RESTART} + * 重新开始命令,指定从第几个任务开始 + */ +extern NSString *const kCommandRestartTaskIndexKey; + +/** + * param key {BACKWARD_COMMAND_ADD_PARALLEL_TASK} + * 添加并行任务,value为id,新任务会在新线程中并行运行 + */ +extern NSString *const kAddParallelTaskInstanceKey; + +/** + * 全局计时器操作命令 + * value为NSNumber{APBTimerCommandType} + */ +extern NSString *const kGlobalTimerCommandKey; + + +@interface APBBackwardCommand : NSObject + +@property(nonatomic, assign, readonly)APBBackwardCommandType commandType; +@property(nonatomic, strong, readonly)NSDictionary *params; + +- (instancetype)initWithCommandType:(APBBackwardCommandType)commandType + withParams:(NSDictionary *)params; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBehavLogModel.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBehavLogModel.h new file mode 100644 index 00000000..748eb5d5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBehavLogModel.h @@ -0,0 +1,145 @@ +// +// APBBehavLogModel.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/15/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import + +//JSON +#ifndef SUPPORT_PB + +@interface BisClientInfo : NSObject +@property (nonatomic,strong) NSString* model; +@property (nonatomic,strong) NSString* os; +@property (nonatomic,strong) NSString* osVer; +@property (nonatomic,strong) NSString* clientVer; +@end + +@interface BisBehavToken : NSObject +@property (nonatomic,strong) NSString* token; +@property (nonatomic,strong) NSString* type; +@property (nonatomic,strong) NSString* sampleMode; +@property (nonatomic,strong) NSString* uid; +@property (nonatomic,strong) NSString* apdid; +@property (nonatomic,strong) NSString* appid; +@property (nonatomic,strong) NSString* behid; +@property (nonatomic,strong) NSString* bizid; +@property (nonatomic,strong) NSString* verifyid; +@property (nonatomic,strong) NSString* vtoken; +@property (nonatomic,strong) NSString* apdidToken; +@end + +@interface BisBehavCommon : NSObject +@property (nonatomic,strong) NSString* invtp; +@property (nonatomic,strong) NSString* tm; +@property (nonatomic,strong) NSString* retry; +@end + +@interface BisBehavTask : NSObject +@property (nonatomic,strong) NSString* name; +@property (nonatomic,strong) NSString* idx; +@property (nonatomic,strong) NSString* dur; +@property (nonatomic,strong) NSString* quality; +@property (nonatomic,strong) NSString* extInfo; +@end + +@interface BisBehavLog : NSObject +@property (nonatomic,strong) BisClientInfo* clientInfo; +@property (nonatomic,strong) BisBehavToken* behavToken; +@property (nonatomic,strong) BisBehavCommon* behavCommon; +@property (nonatomic,strong) NSMutableArray * behavTask; +@end + +//PB +#else + +#ifdef __cplusplus +extern "C"{ +#endif +#import + +#ifdef __cplusplus +} +#endif +@class BisBehavCommon; +@class BisBehavLog; +@class BisBehavTask; +@class BisBehavToken; +@class BisClientInfo; + +@interface BisClientInfo : APDPBGeneratedMessage +@property (readonly) BOOL hasModel; +@property (readonly) BOOL hasOs; +@property (readonly) BOOL hasOsVer; +@property (readonly) BOOL hasClientVer; +@property (nonatomic,strong) NSString* model; +@property (nonatomic,strong) NSString* os; +@property (nonatomic,strong) NSString* osVer; +@property (nonatomic,strong) NSString* clientVer; +@end + +@interface BisBehavToken : APDPBGeneratedMessage +@property (readonly) BOOL hasToken; +@property (readonly) BOOL hasType; +@property (readonly) BOOL hasSampleMode; +@property (readonly) BOOL hasUid; +@property (readonly) BOOL hasApdid; +@property (readonly) BOOL hasAppid; +@property (readonly) BOOL hasBehid; +@property (readonly) BOOL hasBizid; +@property (readonly) BOOL hasVerifyid; +@property (readonly) BOOL hasVtoken; +@property (readonly) BOOL hasApdidToken; +@property (nonatomic,strong) NSString* token; +@property (nonatomic) SInt32 type; +@property (nonatomic) SInt32 sampleMode; +@property (nonatomic,strong) NSString* uid; +@property (nonatomic,strong) NSString* apdid; +@property (nonatomic,strong) NSString* appid; +@property (nonatomic,strong) NSString* behid; +@property (nonatomic,strong) NSString* bizid; +@property (nonatomic,strong) NSString* verifyid; +@property (nonatomic,strong) NSString* vtoken; +@property (nonatomic,strong) NSString* apdidToken; +@end + +@interface BisBehavCommon : APDPBGeneratedMessage +@property (readonly) BOOL hasInvtp; +@property (readonly) BOOL hasTm; +@property (readonly) BOOL hasRetry; +@property (nonatomic,strong) NSString* invtp; +@property (nonatomic,strong) NSString* tm; +@property (nonatomic,strong) NSString* retry; +@end + +@interface BisBehavTask : APDPBGeneratedMessage +@property (readonly) BOOL hasName; +@property (readonly) BOOL hasIdx; +@property (readonly) BOOL hasDur; +@property (readonly) BOOL hasQuality; +@property (readonly) BOOL hasExtInfo; +@property (nonatomic,strong) NSString* name; +@property (nonatomic,strong) NSString* idx; +@property (nonatomic)SInt32 dur; +@property (nonatomic)SInt32 quality; +@property (nonatomic,strong) NSString* extInfo; +@end + +@interface BisBehavLog : APDPBGeneratedMessage +@property (readonly) BOOL hasClientInfo; +@property (readonly) BOOL hasBehavToken; +@property (readonly) BOOL hasBehavCommon; +@property (readonly) BOOL hasExtAttr; +@property (nonatomic,strong) BisClientInfo* clientInfo ; +@property (nonatomic,strong) BisBehavToken* behavToken ; +@property (nonatomic,strong) BisBehavCommon* behavCommon ; +@property (nonatomic,strong) NSMutableArray* behavTask ; +@property (nonatomic,strong) PBMapStringString* extAttr ; +@end + +#endif + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBisRequestBuilder.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBisRequestBuilder.h new file mode 100644 index 00000000..3e578edf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBBisRequestBuilder.h @@ -0,0 +1,30 @@ +// +// APBBisRequestBuilder.h +// BioAuthEngine +// +// Created by 晗羽 on 21/04/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import +#import +#import +#import + +@interface APBBisRequestBuilder : NSObject + ++(APBBisUploadGwRequest *) buildRequestwithpubKey:(NSString *) pubKey + token:(NSString *) bistoken + contentData:(ToygerUploadContent *)content + behaveLog:(BisBehavLog *)behavlog + andCypherData:(NSString *) aesKeyData; + ++ (APBBisUploadGwRequest *)buildEKYCRequestWithContentData:(NSString *)content + behaveLog:(BisBehavLog *)behavlog + andCypherData:(NSString *)aesKeyData; + ++ (NSString *)rsaImage:(NSString *) pubKey image:(UIImage *)image; + ++ (UIImage *)compressImage:(UIImage *)image; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBCommand.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBCommand.h new file mode 100644 index 00000000..92646eda --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBCommand.h @@ -0,0 +1,28 @@ +// +// APBCommand.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/26/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + +/** + * 业务方可以执行的任务类型 + */ +typedef NS_ENUM(NSInteger, APBCommandType) { + COMMAND_QUIT = 100, //业务方强制退出 + COMMAND_CLOSE_UPLOADPAGE = 101, //业务方关闭上传界面 + COMMAND_BIS_RETURN = 102, //业务方传递bis服务器返回结果,或网络错误结果 +}; + +@interface APBCommand : NSObject + +@property(nonatomic, assign, readonly)APBCommandType commandType; //操作类型 +@property(nonatomic, strong, readonly)NSDictionary *params; //操作扩展参数,可以为空 + +- (instancetype)initWithCommandType:(APBCommandType)commandType + withParams:(NSDictionary *)params; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBConfig.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBConfig.h new file mode 100644 index 00000000..9798e1d8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBConfig.h @@ -0,0 +1,22 @@ +// +// APBConfig.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/8/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import + +//是否支持protobuffer +//#define SUPPORT_PB +//#define USE_FPP + + +#ifdef SUPPORT_PB +static const int kRPCFormat = 1; +#else +static const int kRPCFormat = 0; +#endif + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBDTFUploadToastView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBDTFUploadToastView.h new file mode 100644 index 00000000..a842b799 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBDTFUploadToastView.h @@ -0,0 +1,19 @@ +// +// APBDTFUploadTostView.h +// APBToygerFacade +// +// Created by richard on 28/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// +#import +#import "DTFCustomActivityIndicator.h" +@interface APBDTFUploadToastView : UIView + +@property(nonatomic,strong)UIActivityIndicatorView *indicator; + +@property(nonatomic,strong)DTFCustomActivityIndicator *customActivityIndicator; + +- (instancetype)initWithFrame:(CGRect)frame; + +- (void)andSubViewWithFrame:(CGRect)frame AndText:(NSString *)text andStartY:(float)startY; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBEvent.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBEvent.h new file mode 100644 index 00000000..c200789d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBEvent.h @@ -0,0 +1,43 @@ +// +// APBEvent.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/26/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + +@class APBCommand; + +extern NSString *const kKeepUploadPageKey; //extInfo key: 生物识别产品是否要保持上传界面,默认不保持 + +/** + * task可以响应的事件类型 + */ +typedef NS_ENUM(NSInteger, APBEventType) { + EVENT_QUIT = 100, //退出 + EVENT_CLOSE_UPLOADPAGE = 101, //业务方关闭上传界面 + EVENT_BIS_RETURN = 102, //bis服务器返回 + EVENT_SYSTEM_INTERRUPT = 200, //系统中断 + EVENT_SYSTEM_INTERRUPT_RESUME = 201, //系统中断恢复 + EVENT_GLOBAL_TIMEOUT = 202, //全局超时 + EVENT_TASK_TIMEOUT = 203, //task超时 + EVENT_ALERT_APPEAR = 204, //alert框显示 + EVENT_ALERT_DISAPPEAR = 205, //alert框退出 + EVENT_ABNORMAL_CLOSE = 206, //异常退出 + EVENT_SYSTEM_ENTER_FOREGROUND = 207, //后台返回前台 +}; + + +@interface APBEvent : NSObject + +@property(nonatomic, assign, readonly) APBEventType eventType; +@property(nonatomic, strong, readonly) NSDictionary *params; + +- (instancetype)initWithEventType:(APBEventType)eventType + withParam:(NSDictionary *)params; + ++ (instancetype)eventWithCommand:(APBCommand *)command; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBFaceVerifyInfo.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBFaceVerifyInfo.h new file mode 100644 index 00000000..0cd7b029 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBFaceVerifyInfo.h @@ -0,0 +1,34 @@ +// +// APBFaceVerifyInfo.h +// BioAuthEngine +// +// Created by 晗羽 on 28/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import +#import + +@interface APBFaceVerifyInfo : NSObject + +@property(nonatomic,strong)NSString* dtfDeviceToken; + ++ (instancetype)getInstance; + +//获取语言类型 +- (NSInteger)languageCode; + +- (NSString *)languageName; + +//在某些未初始化设备指纹的地方提供初始化接口 +- (void)initDeviceInfo; + +//获取apdidtoken +- (NSString *)getApdidToken; + + +- (BOOL)loadDylib; + +- (UIViewController *)currentVC; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBGatewayFacade.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBGatewayFacade.h new file mode 100644 index 00000000..412fc3cb --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBGatewayFacade.h @@ -0,0 +1,27 @@ +// +// APBGatewayFacade.h +// BioAuthEngine +// +// Created by richard on 26/02/2018. +// Copyright © 2018 com..iphoneclient.DTF. All rights reserved. +// + +#import + +typedef void (^apRpcCompletionBlock)(BOOL success, NSObject *result); + +@interface APBGatewayFacade : NSObject + + +/** + * rpc结果回调 + * + * @param success 网络交互是否成功(不代表服务端返回的结果) + * @param result 服务端返回的结果 + */ +-(void)request:(id)bisUploadGwRequest + withConfig:(NSDictionary *)configDict +completionBlock:(apRpcCompletionBlock)blk; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBLogger.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBLogger.h new file mode 100644 index 00000000..46cacd28 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBLogger.h @@ -0,0 +1,43 @@ +// +// APBLogger.h +// BioAuthEngine +// +// Created by yukun.tyk on 12/8/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import + + + +extern NSString *const kDebugNotiName; //log信息发送的通知名称 + + +#define __FILE_NAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) + +#ifdef DEBUG //debug +// std::cout<<"\n[BIOAUTH]:" << [[NSString stringWithFormat:fmt, ##__VA_ARGS__]cStringUsingEncoding:NSUTF8StringEncoding] \ +// <<", function:" << __PRETTY_FUNCTION__ << ", file:" << __FILE_NAME__ << ", line:" << __LINE__ << ", date:" << \ +// __DATE__ << ", time:" <<__TIME__< + +@interface APBProxy : NSProxy + +/** + The proxy target. + */ +@property (nonatomic, weak, readonly) id target; + +/** + Creates a new weak proxy for target. + + @param target Target object. + + @return A new proxy object. + */ +- (instancetype)initWithTarget:(id)target; + +/** + Creates a new weak proxy for target. + + @param target Target object. + + @return A new proxy object. + */ ++ (instancetype)proxyWithTarget:(id)target; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBRequest.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBRequest.h new file mode 100644 index 00000000..10113faf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBRequest.h @@ -0,0 +1,25 @@ +// +// APBRequest.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/9/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import +@class UIViewController; + +extern NSString *const kKeepUploadPageKey; //extInfo key: 生物识别产品是否要保持上传界面,默认不保持 + +@interface APBRequest : NSObject + +@property(nonatomic, weak, readonly)UIViewController *vc; //显示的viewController +@property(nonatomic, strong, readonly)APBToygerBioBisConfigManager *protocolModel; //服务端下发的配置参数 +@property(nonatomic, strong, readonly)NSDictionary *extInfo; //扩展业务参数 + +- (instancetype)initWithViewController:(UIViewController *)vc + protocolModel:(APBToygerBioBisConfigManager *)protocolModel + extInfo:(NSDictionary *)ext; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBResponse.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBResponse.h new file mode 100644 index 00000000..3cbe1159 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBResponse.h @@ -0,0 +1,67 @@ +// +// APBResponse.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/9/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + +/** + 结果码定义 + */ +typedef enum { + APB_RESULT_SUCCESS = 500, //操作成功(不弹框) + APB_RESULT_SUCCESS_VALIDATE_UPLOAD = 501, //操作成功(不弹框),合并上传 + APB_RESULT_SUCCESS_VALIDATE_OCRUPLOAD = 502, //EKYC OCR识别 + APB_RESULT_SUCCESS_VALIDATE_OCRUPLOAD_CONFIRM = 503, //EKYC OCR确认 + + APB_RESULT_CAMERA_PERMISSION_DENIED = 100, //无摄像头权限(弹框) + APB_RESULT_CAMERA_DEVICE_UNSUPPORTED = 101, //摄像头不支持(弹框) + APB_RESULT_CAMERA_CPU_UNSUPPORTED = 102, //CPU不支持(弹框) + APB_RESULT_DEVICE_UNSUPPORTED = 103, //设备不支持(弹框) + APB_RESULT_UNDEFINED_ERROR = 104, //其他异常(不弹框) + + APB_RESULT_CAMERA_INIT_FAILED = 200, //摄像头初始化失败(不弹框) + APB_RESULT_INVALID_ARGUMENT = 201, //无效的业务参数(不弹框) + APB_RESULT_INTERRUPT = 202, //操作中断(弹框) + APB_RESULT_TIMEOUT = 203, //操作超时(弹框) + APB_RESULT_RESOURCE_ABSENCE = 204, //缺少资源文件(不弹框) + APB_RESULT_SYSTEM_EXCEPT = 205, //系统异常(不弹框) + APB_RESULT_ENGINE_EXCEPT = 206, //框架内部错误(不弹框) + APB_RESULT_NETWORK_TIMEOUT = 207, //网络超时(弹框) + APB_RESULT_SERVER_FAIL = 208, //服务端错误(弹框) + APB_RESULT_RETRY_LIMIT = 209, //重试次数达到上限(弹框) + APB_RESULT_AUTH_REJECT = 210, //用户拒绝人脸授权(弹框) + APB_RESULT_NETWORK_FAIL = 211, //网络出错 + + 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 + +@property(nonatomic, assign)APBResultType resultType; //结果码 +@property(nonatomic, copy)NSString *failReason; //失败原因 +@property(nonatomic, copy)NSString *token; //bis token +@property(nonatomic, strong)NSMutableDictionary *successResult; //成功结果 +@property (nonatomic,copy) NSString* retCodeSub ; +@property (nonatomic,copy) NSString* retMessageSub ; + +- (instancetype)initWithResultType:(APBResultType)type + failReason:(NSString *)reason + token:(NSString *)token + retCodeSub:(NSString *)retCodeSub + retMessageSub:(NSString *)retMessageSub + successResult:(NSMutableDictionary *)result; + +- (instancetype)initWithResultType:(APBResultType)type + failReason:(NSString *)reason + token:(NSString *)token + successResult:(NSMutableDictionary *)result; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBTaskContext.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBTaskContext.h new file mode 100644 index 00000000..3760d6c3 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBTaskContext.h @@ -0,0 +1,31 @@ +// +// APBTaskContext.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/27/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import "APBResponse.h" + +/** + 任务状态定义 + */ +typedef enum { + STATE_NOT_RUNNING, //未运行 + STATE_RUNNING, //运行态 + STATE_FINISHED, //任务结束 +}APBTaskState; + +@interface APBTaskContext : NSObject + +@property(nonatomic, assign)APBTaskState state; //任务状态 +@property(nonatomic, assign)APBResultType resultCode; //任务结果码 +@property(nonatomic, copy)NSString *failReason; //任务失败原因 +@property(nonatomic, strong)NSMutableDictionary *successResult; //任务成功结果 + +@property (nonatomic,strong) NSString* retCodeSub ; //产品结果明细,不影响决策 +@property (nonatomic,strong) NSString* retMessageSub ; //retMessageSub对应的文案 + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBToygerBehavlogManager.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBToygerBehavlogManager.h new file mode 100644 index 00000000..a4c8888e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBToygerBehavlogManager.h @@ -0,0 +1,44 @@ +// +// APFBehavlogManager.h +// APFaceDetectBiz +// +// Created by yukun.tyk on 9/8/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import + +@class BisBehavLog, BisBehavTask; + +@interface APBToygerBehavlogManager : NSObject + +/** + * @param config 配置参数,各种id和token + */ +- (instancetype)initWithConfig:(NSDictionary *)config; + +/** + * 添加行为日志 + * + * @param task 任务 + */ +- (void)addTask:(BisBehavTask *)task; + +/** + * clearTask + * + * + */ +- (void)clearTask; +/** + * 创建行为日志 + * + * @param invtp 触发类型 + * @param retry 重试次数 + * + * @return 行为日志 + */ +- (BisBehavLog *)generateLogWithInvokeType:(NSString *)invtp + withRetry:(NSInteger)retry; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBToygerDataCenter.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBToygerDataCenter.h new file mode 100644 index 00000000..3f4728d6 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/APBToygerDataCenter.h @@ -0,0 +1,125 @@ +// +// APFDataCenter.h +// APFaceDetectBiz +// +// Created by yukun.tyk on 9/8/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import + +@class BisBehavTask; + +@protocol APBToygerDataCenterDelegate + +/** + * 收到response的回调 + * @param success rpc是否成功 + * @param retCode 结果码 + * @param msg 结果信息 + * @param ext 扩展信息 + */ +- (void)didFinishUploadWithSuccess:(BOOL)success + retCode:(NSString *)retCode + retMessage:(NSString *)msg + extInfo:(NSString *)ext; +@end + + +@interface APBToygerDataCenter : NSObject + +@property (nonatomic, copy) NSString *pubkey; +/** + * 初始化 + * + * @param config 配置参数 + */ +- (instancetype)initWithConfig:(NSDictionary *)config; + + + +#ifdef SUPPORT_PB + +/** + * 添加采集数据 + * + * @param monitorImage 监控照片 + * @param panoImage 全景图,若该参数指定,将替换之前的全景图 + */ +- (void)addMonitorImage:(UIImage *)monitorImage + replacePanoImage:(NSData *)panoImage + andCypherKeyData:(NSData *)cypherKey; + +#else + +/** + * 添加采集数据 + * + * @param monitorImage 监控照片 + * @param panoImage 全景图,若该参数指定,将替换之前的全景图 + */ +- (void)addMonitorImage:(UIImage *)monitorImage + replacePanoImage:(ToygerUploadContent *)panoImage + andCypherKeyData:(NSString *)cypherKey; + +#endif + +/** + * 清除采集数据 + * + * @param monitorImage 监控照片 + * @param panoImage 全景图, + */ +- (void)clearMonitorImage:(BOOL)monitor + panoImage:(BOOL)pano; + +/** + * 添加行为日志 + * + * @param task 任务 + */ +- (void)addBehavTask:(BisBehavTask *)task; + +/** + * clearTask + * + * + */ +- (void)clearTask; +/** + * clear + * + * + */ +- (void)clear; + +- (BOOL)hasFaceData; + +/** + * 建立上传数据request + * + * @param monitor 是否上传监控照片 + * @param behav 是否上传行为日志 + * @param pano 是否上传全景图 + * @param type 触发类型 + * @param retry 重试次数 + */ +- (APBBisUploadGwRequest *)buildUploadRequestWithMonitorImage:(BOOL)monitor + behavLog:(BOOL)behav + panoImage:(BOOL)pano + invokeType:(NSString *)type + retryCnt:(NSInteger)retry; + +- (APBBisUploadGwRequest *)buildUploadRequestWithRetryCnt:(NSInteger)retry; + +- (NSString *)rsaImage:(NSString *)pubkey image:(UIImage *)image ; + + +/** + * 设置delegate + */ +- (void)setDelegate:(id)delegate; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthCommonSetting.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthCommonSetting.h new file mode 100644 index 00000000..7133b47d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthCommonSetting.h @@ -0,0 +1,433 @@ +// +// BioAuthCommonSetting.h +// BioAuthEngine +// +// Created by shouyi.www on 2017/5/19. +// Copyright © 2017年 DTF. All rights reserved. +// + +#ifndef BioAuthCommonSetting_h +#define BioAuthCommonSetting_h + +typedef NS_ENUM(NSUInteger, BioAuthAlertType) { + BioAuthALert_Unknown, + BioAuthAlert_Unsupport, + BioAuthAlert_WrongSystemVersion, + BioAuthAlert_SystemError, + BioAuthAlert_NoCameraPermission, + BioAuthAlert_Exit, + BioAuthAlert_TimeOut, + BioAuthAlert_Fail, + BioAuthAlert_Limit, + BioAuthAlert_NetworkError, + BioAuthAlert_Interrupt, +}; + +static NSString *const kBioAuthTipMoveClose = @"请离近一点"; +static NSString *const kBioAuthTipAdjustGesture = @"请调整姿势"; +static NSString *const kBioAuthTipMoveAway = @"请离远一点"; +static NSString *const kBioAuthTipKeepStill = @"请保持不动"; +static NSString *const kBioAuthStatusOk = @"Okay"; +static NSString *const kBioAuthStatusTooFar = @"too far"; +static NSString *const kBioAuthStatusTooClose = @"too close"; +static NSString *const kBioAuthStatusNoEye = @"no eye"; + +static NSString *const kBioAuthEyeStatus = @"eyestatus"; +static NSString *const kBioAuthGyroStatus = @"gyrostatus"; +static NSString *const kBioAuthEVVer = @"evVer"; +static NSString *const kBioAuthBVer = @"bEva"; +static NSString *const kBioAuthFEVer = @"feVer"; +static NSString *const kBioAuthEyeVerify = @"eyeverify"; +static NSString *const kBioAuthBisAction = @"bis_action"; +static NSString *const kBioAuthDetectEndTimeCost = @"kBioAuthDetectEndTimeCost"; +static NSString *const kBioAuthLiveBodyStartTime = @"kBioAuthLiveBodyStartTime"; +static NSString *const kBioAuthMonitorLoadDefaultConfig = @"loadDefaultConfig"; + +static NSString *const kBioAuthParamNetworkSuccess = @"networkSuccess"; +static NSString *const kBioAuthParamServerReturnCode = @"serverReturnCode"; +static NSString *const kBioAuthParamNetworkResult = @"networkResult"; +static NSString *const kBioAuthParamSceneCode = @"scenecode"; +static NSString *const kBioAuthParamLivenessLevel = @"livenesslevel"; +static NSString *const kBioAuthParamFail = @"failed"; +static NSString *const kBioAuthParamDiagnosticLogging = @"DiagnosticLogging"; +static NSString *const kBioAuthParamEyeScore = @"eyescore"; +static NSString *const kBioAuthParamHasFace = @"hasface"; +static NSString *const kBioAuthParamPicsScore = @"picscore"; +static NSString *const kBioAuthParamFaceScore = @"facescore"; +static NSString *const kBioAuthParamIKnown = @"我知道了"; +static NSString *const kBioAuthParamDeviceModelError = @"errorDeviceModel"; +static NSString *const kBioAuthParamLightDetection = @"lightdetection"; +static NSString *const kBioAuthParamLight = @"light"; +static NSString *const kBioAuthParamFace = @"face"; +static NSString *const kBioAuthParamQuality = @"quality"; +static NSString *const kBioAuthParamEyeDistance = @"eyedistance"; +static NSString *const kBioAuthParamFaceFarOrNear = @"faceFarorNear"; +static NSString *const kBioAuthParamFGROAngle = @"fgyroangle"; +static NSString *const kBioAuthParamOpenPage = @"openPage"; +static NSString *const kBioAuthParamServerFail = @"serverFail"; +static NSString *const kBioAuthParamNetworkFail = @"networkFail"; +static NSString *const kBioAuthParamNetworkError1006 = @"NetworkError1006"; +static NSString *const kBioAuthParamFaceFail = @"faceFail"; +static NSString *const kBioAuthParamUploadImageDataNil = @"uploadImageDataNil"; +static NSString *const kBioAuthParamAlertViewTitle = @"kBioAuthParamAlertViewTitle"; +static NSString *const kBioAuthParamAlertViewMessage = @"kBioAuthParamAlertViewMessage"; +static NSString *const kBioAuthParamAlertViewFirstButtonTitle = @"kBioAuthParamAlertViewFirstButtonTitle"; +static NSString *const kBioAuthParamAlertViewSecondButtonTitle = @"kBioAuthParamAlertViewSecondButtonTitle"; +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"; +static NSString *const kBioAuthParamLoadAlgorithmErr = @"loadAlgorithmErr"; +static NSString *const kBioAuthParamErrorMicriphone = @"errorMicrophone"; +static NSString *const kBioAuthParamVidCnt = @"vidcnt"; +static NSString *const kBioAuthParamFQuality = @"fquality"; +static NSString *const kBioAuthParamFCToken = @"fcToken"; +static NSString *const kBioAuthParamF = @"f"; +static NSString *const kBioAuthParamFC = @"fc"; +//static NSString *const kBioAuthFaceUrlPrefix = @"prefs://"; + +static NSString *const kBioAuthEVAssetsBundle = @"EyePrintAssets.bundle"; + +static NSString *const kBioAuthDirDocuments = @"Documents"; +static NSString *const kBioAuthDirBioAuth = @"BioAuth"; +static NSString *const kBioAuthDirAssetsFile = @"EyeVerify_Asset_Files"; +static NSString *const kBioAuthFailReasonEyeDetector = @"初始化eyeDetector失败"; + +static NSString *const kBioAuthFailReasonCreateTaskFail = @"创建眼纹检测任务失败"; +static NSString *const kBioAuthFailReasonCreateGyroTaskFail = @"创建陀螺仪检测任务失败"; +static NSString *const kBioAuthFailReasonFailToGetScanTask = @"扫脸任务无法获取scanTask"; +static NSString *const kBioAuthFailReasonViewControllerFail = @"无法获取viewController"; +static NSString *const kBioAuthFailReasonNoCameraPermission = @"没有摄像头权限"; +static NSString *const kBioAuthFailReasonWrongSystemVersion = @"操作系统版本太低"; +static NSString *const kBioAuthFailReasonUnsupportedDevice = @"不支持的设备"; + +static NSString *const kBioAuthTipSystemNotSupport = @"当前系统不支持刷脸"; +static NSString *const kBioAuthTipWrongSysVersion = @"刷脸仅在iOS8及以上版本可用"; +static NSString *const kBioAuthTipCameraNoPermission = @"无法启用相机"; +static NSString *const kBioAuthTipOpenCameraPermissionPath = @"请到“设置-隐私-相机”开启权限"; +static NSString *const kBioAuthTipCameraPermissionOpenNow = @"立即开启"; +static NSString *const kBioAuthTipQuit = @"退出"; +static NSString *const kBioAuthTipOk = @"确定"; +static NSString *const kBioAuthTipCancel = @"取消"; +static NSString *const kBioAuthTipOneMoreTime = @"再试一次"; +static NSString *const kBioAuthTipMakeSureToQuit = @"确定退出么?"; +static NSString *const kBioAuthTipOneFaceToPass = @"露个脸就能通过"; +static NSString *const kBioAuthTipTimeOut = @"操作超时"; +static NSString *const kBioAuthTipFaceFrontMakePassMoreEasier = @"提示:正对手机,更容易成功"; +static NSString *const kBioAuthTipFaceScanFail = @"刷脸失败"; +static NSString *const kBioAuthTipOperationFail = @"本次操作失败"; +static NSString *const kBioAuthTipNetworkFail = @"网络不给力"; +static NSString *const kBioAuthTipInterrupt = @"验证中断"; + + +static NSString *const kAFETimeoutMessage = @"kTimeoutMessage"; + +static NSString *const kBioAuthUnsupportedMedelMessage = @"kUnsupportedMedelMessage"; +static NSString *const kAFEUnsupportedSystemMessage = @"kUnsupportedSystemMessage"; + +static NSString *const kAFENoCameraPermissionOpen = @"kNoCameraPermissionOpen"; +static NSString *const kAFENoCameraPermissionCancel = @"kNoCameraPermissionCancel"; +static NSString *const kAEFNoCameraPermissionTitle = @"kNoCameraPermissionTitle"; +static NSString *const kAFENoCameraPermissionDetail = @"kNoCameraPermissionDetail"; + +static NSString *const kAFELocalizedNetworkError = @"kNetworkErrorMessage"; + + + +static NSString *const kAFELocalizedFaceFailTitle = @"kFaceFailTitle"; +static NSString *const kAFELocalizedFaceFailMsg = @"kFaceFailMessage"; +static NSString *const kAFELocalizedCancelTitle = @"kCancelTitle"; +static NSString *const kAFELocalizedCancelLoginMsg = @"kCancelLoginMessage"; +static NSString *const kAFELocalizedCancelSampleMsg = @"kCancelSampleMessage"; + +static NSString *const kCherryAglErrorTips = @"kCherryAglErrorTips"; +static NSString *const kCherryOtherLoginButton = @"kCherryOtherLoginButton"; +static NSString *const kCherryLoginHomeEvent = @"kCherryLoginHomeEvent"; +static NSString *const kCherrySampleHomeEvent = @"kCherrySampleHomeEvent"; +static NSString *const kCherryExitButton = @"kCherryExitButton"; +static NSString *const kCherryOpenButton = @"kCherryOpenButton"; +static NSString *const kCherryRetryButton = @"kCherryRetryButton"; +static NSString *const kContextRetryLimit = @"kRetryLimit"; +static NSString *const kCherryTimeout = @"kCherryTimeout"; +static NSString *const kCherryTipMessage = @"kCherryTipMessage"; +static NSString *const kCherryDetectTask = @"cherryDetectTask"; +static NSString *const kCherryAdjustPosTip = @"kcherryAdjustPosTip"; +static NSString *const kCherryNofaceTip = @"kCherryNofaceTip"; +static NSString *const kCherryCancelLogin = @"kCherryCancelLogin"; +static NSString *const kCherryCancelSample = @"kCherryCancelSample"; +static NSString *const kCherryCancelSampleMessage = @"kCherryCancelSampleMessage"; + +static NSString *const kAFEStatusUpdate = @"statusupdate"; + +static NSString *const kSceneRetryLimit = @"retryLimit"; +static NSString *const kAFERetryLimit = @"retryLimit"; + +static NSString *const kCherryUnderExposure = @"kCherryUnderExposure"; +static NSString *const kCherryFaceTooSmall = @"kCherryFaceTooSmall"; +static NSString *const kCherryFaceIncomplete = @"kCherryFaceIncomplete"; +static NSString *const kCherryYawFail = @"kCherryYawFail"; +static NSString *const kCherryTremble = @"kCherryTremble"; + +static NSString *const kCherryCancleButton = @"kCherryCancleButton"; +static NSString *const kCherryEnterButton = @"kCherryEnterButton"; +static NSString *const kIKnowButton = @"kIKnowButton"; +static NSString *const kNoMicPermissionTitle = @"kNoMicPermissionTitle"; +static NSString *const kNoMicPermissionMsg = @"kNoMicPermissionMsg"; + +static NSString *const kSceneCircularViewFail = @"AFECircularViewFail"; + +static NSString *const kCherryDetectFlagBlink = @"kCherryDetectFlagBlink"; +static NSString *const kCherryDetectFlagPosQuality = @"kCherryDetectFlagPosQuality"; +static NSString *const kCherryDetectFlagPosCond = @"kCherryDetectFlagPosCond"; + +static NSString *const kAFENetworkType = @"networkType"; +static NSString *const kBioAuthParamSensor = @"sensor"; +static NSString *const kBioAuthParamTotalSteps = @"tsteps"; +static NSString *const kBioAuthNotifiUploadTaskBeginNotiName = @"afeuploadtaskbegin"; +static NSString *const kBioAuthParamAlertShowKey = @"alert"; +static NSString *const kBioAuthParamCaptureView = @"captureView"; +static NSString *const kBioAuthParamScanView = @"scanview"; +static NSString *const kBioAuthPramBizInfoForKey = @"biz"; +static NSString *const kBioAuthParamStepsUploaded = @"upsteps"; +static NSString *const kBioAuthParamEnvStatus = @"envstatus"; +static NSString *const kBioAuthParamRetryNum = @"retry"; +static NSString *const kBioAuthParamCurrentTransactionSteps = @"transactionSteps"; +static NSString *const kBioAuthParamSound = @"sound"; +static NSString *const kBioAuthParamUID = @"UID"; +static NSString *const kBioAuthParamAction = @"SCENE_ID"; +static NSString *const kBioAuthParamCurrentView = @"currentView"; + +static NSString * const kAPFParentViewControllerKey = @"parentViewController"; +static NSString * const kAPFCurrentViewControllerKey = @"currentViewController"; + +static NSString * const kAPFCurrentRetryCntKey = @"currentRetryCnt"; +static NSString * const kAPFSoundStatusKey = @"soundStatus"; +static NSString * const kAPFIsLoginModeKey = @"isLoginMode"; +static NSString * const kAPFBisConfigModelKey = @"APFBisConfigModel"; +static NSString * const kAPFBisTokenKey = @"bis_token"; +static NSString * const kAPFUploadViewPic = @"kUploadViewPic"; +static NSString * const kAPFAcionListKey = @"kActionList"; +static NSString * const kAPFPresentTimeKey = @"kPresentTime"; + +static NSString *const kBioAuthApdidKey = @"APDID"; +static NSString *const kBioAuthTokenidKey = @"TOKEN_ID"; +static NSString *const kBioAuthSceneIdKey = @"sceneId"; +static NSString *const kBioAuthSceneNameKey = @"SCENE_NAME"; +static NSString *const kBioAuthAppidKey = @"appID"; +static NSString *const kBioAuthExtInfo = @"extInfo"; +static NSString *const kBioAuthParamType = @"type"; +static NSString *const kBioAuthParamSampleMode = @"samplemode"; +static NSString *const kBioAuthParamPubKey = @"pubkey"; +static NSString *const kBioAuthParamPermissionKey = @"audioPermissionKey"; +static NSString *const kBioAuthParamBizInfoKey = @"bizinfo"; +static NSString *const kBioAuthParamBestImage = @"bestimage"; +static NSString *const kBioAuthParamImageQuality = @"bestimagequality"; +static NSString *const kBioAuthParamMineCount = @"minecount"; +static NSString *const kBioAuthParamLoggingLevel = @"LoggerLevel"; +static NSString *const kBioAuthParamLevelHigh = @"level1"; +static NSString *const kBioAuthParamLevelMedium = @"level2"; +static NSString *const kBioAuthParamLevelLow = @"level3"; + +static NSString *const kBioAuthParamNLSAppKey = @"121312323a123-ios"; +static NSString *const kBioAuthParamAsrRequest = @"asr_usr_id"; +static NSString *const kBioAuthParamNLSSVCUrl = @"ws://speechapi.m.taobao.com"; +static NSString *const kBioAuthParamFppVer = @"fppVer"; +static NSString *const kBioAuthParamFVer = @"fVer"; +static NSString *const kBioAuthParamFaceDetect = @"facedetect"; +static NSString *const kBioAuthParamProduct = @"product"; +static NSString *const kBioAuthParamCherry = @"cherry"; +static NSString *const kBioAuthParamStock = @"stock"; +static NSString *const kBioAuthEngine = @"BioAuthEngine"; +static NSString *const kBioAuthFaceNavigation = @"faceNavigation"; +static NSString *const kBioAuthTypeHTML = @"htm"; +static NSString *const kBioAuthTypeBundle = @"bundle"; + +static NSString *const kAPFWaveUploadKey = @"waveUploadKey"; +static NSString *const kAPFCameraViewKey = @"cameraViewKey"; + +static NSString *const kAFELocalizedLoginFailTooManyTimes = @"kLoginFailTooManyTimesMessage"; +static NSString *const kAFELoginFailTooManyTimesMessage = @"kLoginFailTooManyTimesMessage"; + +static NSString *const kAFELocalizedLock = @"kLockMessage"; +static NSString *const kAFELockMessage = @"kLockMessage"; + +static NSString *const kAFELocalizedRetryTitle = @"kRetryTitle"; +static NSString *const kAFERetryTitle = @"kRetryTitle"; + +static NSString *const kAFELocalizedPassWdTitle = @"kUsePasswordTitle"; +static NSString *const kAFEUsePasswordTitle = @"kUsePasswordTitle"; + +static NSString *const kAFELocalizedExitTitle = @"kExitTitle"; +static NSString *const kAFEExitTitle = @"kExitTitle"; + +static NSString *const kAFELocalizedIKnowTitle = @"kIKnowTitle"; +static NSString *const kAFEIKnowTitle = @"kIKnowTitle"; + +static NSString *const kBioAuthParamTimeout = @"timeout"; +static NSString *const kBioAuthParamClickXBack = @"clickXback"; +static NSString *const kBioAuthParamSystemInterrupt = @"systemInterrupt"; +static NSString *const kBioAuthParamProcessInterrupt = @"processInterrupt"; +static NSString *const kBioAuthParamCameraPermission = @"cameraPermission"; +static NSString *const kBioAuthParamCameraOpenFail = @"cameraOpenFail"; +static NSString *const kBioAuthParamErrorSystemVersion = @"errorSystemVersion"; +static NSString *const kBioAuthParamReason = @"reason"; +static NSString *const kBioAuthParamMoniton = @"motion"; +static NSString *const kBioAuthParamFrameMoniton = @"frameMotion"; +static NSString *const kBioAuthParamChoose = @"choose"; +static NSString *const kBioAuthParamTimeCost = @"timecost"; +static NSString *const kBioAuthParamReturnCode = @"returnCode"; +static NSString *const kBioAuthParamFrontCamera = @"frontCamera"; +static NSString *const kBioAuthParamBackCamera = @"backCamera"; +static NSString *const kBioAuthParamMemory = @"memory"; +static NSString *const kBioAuthParamProcessorNum = @"processorNum"; +static NSString *const kBioAuthParamTotalStorage = @"totalStorage"; +static NSString *const kBioAuthParamAvailableStorage = @"availableStorage"; +static NSString *const kBioAuthParamBisToken = @"bistoken"; +static NSString *const kBioAuthParamAlgorithmIntTime = @"inttime"; +static NSString *const kBioAuthParamAlgorithmName = @"name"; +static NSString *const kBioAuthParamUploadRequest = @"uploadrequest"; +static NSString *const kBioAuthParamBisCfg = @"biscfg"; +static NSString *const kBioAuthParamUserId = @"USER_ID"; +static NSString *const kBioAuthParamBioType = @"bioType"; +static NSString *const kBioAuthParamLogType = @"logType"; +static NSString *const kBioAuthParamUIVersion = @"ui_version"; +static NSString *const kBioAuthFailReasonUserQuit = @"用户主动退出"; +static NSString *const kBioAuthVerifyId = @"verifyId"; +static NSString *const kBioAuthParamToygerInit = @"toygerInit"; +static NSString *const kBioAuthParamToygerFileState = @"toygerFileState"; +static NSString *const kBioAuthFailInsufficientDisk = @"手机存储空间不足"; +static NSString *const kBioAuthFailNoPermissionRecording = @"没有录音权限"; + +#pragma mark - 埋点相关 - + +static NSString *const kBioAuthMonitorAlertAppear = @"AlertAppear"; +static NSString *const kBioAuthMonitorAlertAppearUCID = @"UC-YWRLSB-161114-21"; + +static NSString *const kBioAuthMonitorAlertClose = @"AlertChoose"; +static NSString *const kBioAuthMonitorAlertCloseUCID = @"UC-YWRLSB-161114-22"; + +static NSString *const kBioAuthMonitorDetectionStart = @"EnterDetectionStart"; +static NSString *const kBioAuthMonitorDetectionStartUCID = @"UC-YWRLSB-161114-07"; + +static NSString *const kBioAuthMonitorDetectionEnd = @"EnterDetectionEnd"; +static NSString *const kBioAuthMonitorDetectionEndUCID = @"UC-YWRLSB-161114-08"; + +static NSString *const kBioAuthMonitorDetectionCondStart = @"detectCondStart"; +static NSString *const kBioAuthMonitorDetectionCondStartUCID = @"UC-YWRLSB-161114-09"; + +static NSString *const kBioAuthMonitorSensorSlice = @"sensorSlice"; +static NSString *const kBioAuthMonitorSensorSliceUCID = @"UC-YWRLSB-161114-20"; + +static NSString *const kBioAuthMonitorPoseStart = @"poseStart"; +static NSString *const kBioAuthMonitorPoseStartUCID = @"UC-YWRLSB-161114-11"; + +static NSString *const kBioAuthMonitorLiveBodyStart = @"livebodyStart"; +static NSString *const kBioAuthMonitorLiveBodyStartUCID = @"UC-YWRLSB-161114-13"; + +static NSString *const kBioAuthMonitorLiveBodyEnd = @"livebodyEnd"; +static NSString *const kBioAuthMonitorLiveBodyEndUCID = @"UC-YWRLSB-161114-14"; + +static NSString *const kBioAuthMonitorPromptCopyPoint = @"promptCopyPoint"; +static NSString *const kBioAuthMonitorPromptCopyPointUCID = @"UC-YWRLSB-161114-17"; + +static NSString *const kBioAuthParamEvent = @"event"; + +static NSString *const kBioAuthMonitorPoseCheckEnd = @"poseCheckEnd"; +static NSString *const kBioAuthMonitorPoseCheckEndUCID = @"UC-YWRLSB-161114-28"; + +static NSString *const kBioAuthMonitorAlgorithm = @"Algorithm"; +static NSString *const kBioAuthMonitorAlgorithmUCID = @"UC-YWRLSB-161114-27"; + +static NSString *const kBioAuthMonitorFromH5 = @"fromH5"; + +static NSString *const kBioAuthMonitorEnterGuidePage = @"enterGuidePage"; +static NSString *const kBioAuthMonitorEnterGuidePageUCID = @"UC-YWRLSB-161114-02"; + +static NSString *const kBioAuthMonitorExitGuidePage = @"exitGuidePage"; +static NSString *const kBioAuthMonitorExitGuidePageUCID = @"UC-YWRLSB-161114-03"; + +static NSString *const kBioAuthMonitorClickStartCapture = @"clickStartCapture"; +static NSString *const kBioAuthMonitorClickStartCaptureForSuitable = @"suitable"; +static NSString *const kBioAuthMonitorClickStartCaptureForSuitableError = @"suitableError"; +static NSString *const kBioAuthMonitorClickStartCaptureUCID = @"UC-YWRLSB-161114-04"; + +static NSString *const kBioAuthMonitorEntrySDK = @"entrySDK"; +static NSString *const kBioAuthMonitorEntrySDKUCID = @"UC-YWRLSB-161114-01"; + +static NSString *const kBioAuthMonitorCallbackVerifySystem = @"callbackVerifySystem"; +static NSString *const kBioAuthMonitorCallbackVerifySystemUCID = @"UC-YWRLSB-161114-23"; + +static NSString *const kBioAuthMonitorExitSDK = @"exitSDK"; +static NSString *const kBioAuthMonitorExitSDKUCID = @"UC-YWRLSB-161114-24"; + +static NSString *const kBioAuthMonitorFaceMine = @"facemine"; +static NSString *const kBioAuthMonitorFaceMineUCID = @"UC-DXSPRLSB-161206-10"; + +static NSString *const kBioAuthMonitorBrightness = @"brightness"; +static NSString *const kBioAuthMonitorBrightnessUCID = @"UC-YWRLSB-161207-01"; + +static NSString *const kBioAuthLoadLocalGuidePage = @"loadLocalGuidePage"; +static NSString *const kBioAuthLoadLocalGuidePageUCID = @"UC-YWRLSB-160422-02"; + +static NSString *const kBioAuthUploadEnd = @"uploadEnd"; +static NSString *const kBioAuthUploadEndUCID = @"UC-YWRLSB-161114-16"; + +static NSString *const kBioAuthuploadAvarriable = @"uploadAvarriable"; +static NSString *const kBioAuthuploadAvarriableUCID = @"UC-YWRLSB-161114-25"; + +static NSString *const kBioAuthUploadStart = @"uploadStart"; +static NSString *const kBioAuthUploadStartUCID = @"UC-YWRLSB-161114-15"; + +static NSString *const kBioAuthDetectCondEnd = @"detectCondEnd"; +static NSString *const kBioAuthDetectCondEndUCID = @"UC-YWRLSB-161114-10"; + +static NSString *const kBioAuthDetectFaceSuccess = @"detectFaceSuccess"; +static NSString *const kBioAuthDetectFaceSuccessUCID = @"UC-YWRLSB-161114-28"; + +static NSString *const kBioAuthDetectEyeSuccess = @"detectEyeSuccess"; +static NSString *const kBioAuthDetectEyeSuccessUCID = @"UC-YWRLSB-161114-29"; + +static NSString *const kBioAuthMonitorEyeLivebodyDetectStart = @"eyeLivebodyDetectStart"; +static NSString *const kBioAuthMonitorEyeLivebodyDetectStartUCID = @"UC-YWRLSB-161114-30"; + +static NSString *const kBioAuthMonitorEyeLivebodyDetectEnd = @"eyeLivebodyDetectEnd"; +static NSString *const kBioAuthMonitorEyeLivebodyDetectEndUCID = @"UC-YWRLSB-161114-31"; + +static NSString *const kBioAuthMonitorEyeSlice = @"eyeSlice"; +static NSString *const kBioAuthMonitorEyeSliceUCID = @"UC-YWRLSB-161114-19"; +static NSString *const kBioAuthCardFace = @"cardface"; + +#pragma mark - 埋点相关 - + +static NSString *const kBioAuthMonitorFcEntrySDK = @"fcEntrySDK"; +static NSString *const kBioAuthMonitorFcEntrySDKUCID = @"UC-RZHY-170118-01"; + +static NSString *const kBioAuthMonitorFcGetParameter = @"fcGetParameters"; +static NSString *const kBioAuthMonitorFcGetParameterUCID = @"UC-RZHY-170118-02"; + +static NSString *const kBioAuthMonitorFcFaceCallbackBisSystem = @"fcFaceCallbackBisSystem"; +static NSString *const kBioAuthMonitorFcFaceCallbackBisSystemUCID = @"UC-RZHY-170118-27"; + +static NSString *const kBioAuthMonitorFcFaceGetServerResult = @"fcFaceGetServerResult"; +static NSString *const kBioAuthMonitorFcFaceGetServerResultUCID = @"UC-RZHY-170118-28"; + +static NSString *const kBioAuthMonitorFcCallbackVerifySystem = @"fcCallbackVeritySystem"; +static NSString *const kBioAuthMonitorFcCallbackVerifySystemUCID = @"UC-RZHY-170118-29"; + +static NSString *const kBioAuthFcExitSDK = @"fcExitSDK"; +static NSString *const kBioAuthFcExitSDKUCID = @"UC-RZHY-170118-30"; + +static NSString *const kBioAuthValidateRequestKey = @"validateRequest"; +static NSString *const kBioAuthMergeValidateKey = @"mergeValidate"; + +#pragma mark - 网络相关 - +static NSString *const kAPBGWOperationType = @"oprationType"; //NSString, oprationType +static NSString *const kAPBGWReturnType = @"returnType"; //NSString, returnType +static NSString *const kAPBGWGatewayURL = @"gatewayURL"; //NSString, gatewayURL +static NSString *const kAPBGWBackupURL = @"backupURL"; //NSString, backupUrl +static NSString *const kAPBGWHeadConfig = @"headConfig"; +#endif /* BioAuthCommonSetting_h */ + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthEngine.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthEngine.h new file mode 100644 index 00000000..19a1a3f5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthEngine.h @@ -0,0 +1,58 @@ +// +// BioAuthEngine.h +// BioAuthEngine +// +// Created by richard on 20/09/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#ifndef BioAuthEngine_h +#define BioAuthEngine_h + +#import +#import + +#import +#import + +#import +#import +#import +#import +#import +#import + +#import +#import + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#endif /* BioAuthEngine_h */ + + + + + +#import +#import +#import +#import +#import +#import +#import + +//! Project version number for BioAuthEngine. +FOUNDATION_EXPORT double BioAuthEngineVersionNumber; + +//! Project version string for BioAuthEngine. +FOUNDATION_EXPORT const unsigned char BioAuthEngineVersionString[]; diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthFacade.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthFacade.h new file mode 100644 index 00000000..5c3e95df --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/BioAuthFacade.h @@ -0,0 +1,67 @@ +// +// BioAuthFacade.h +// BioAuthAPI +// +// Created by yukun.tyk on 12/7/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import "APBRequest.h" +#import "APBResponse.h" +#import "APBCommand.h" + +/** + * 生物认证结果回调处理 + * + * @param response 生物认证结果 + */ +typedef void (^BioAuthCallback) (APBResponse *response); + +/** + * 执行命令结束回调 + * + * @param success 命令执行是否成功 + * @param reason 保留参数 + */ +typedef void (^BioAuthExecCallback) (BOOL success, NSDictionary *reason); + +@interface BioAuthFacade : NSObject + +/** + * 唤起生物认证之前获取框架meta数据 + */ ++ (NSString *)getBioMetaInfo; + +/** + * 触发下载资源文件 + */ ++ (void)preLoad; + +/** + * 申请生物认证 + * + * @param request 生物认证请求 + * @param callback 生物认证结果回调处理 + */ +- (void)authWithRequest:(APBRequest *)request withCallback:(BioAuthCallback)callback; + +/** + * 让正在进行中的生物认证因子执行某种操作 + * + * @param command 操作码 + * @param callback 命令执行回调 + */ +- (void)exec:(APBCommand *)command withCompletionCallback:(BioAuthExecCallback)callback; + +/** + * 当前是否正在执行认证任务 + */ +- (BOOL)isBusy; + +/** + * 生物认证类型版本号 + */ +- (NSString *)version; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFBaseViewController.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFBaseViewController.h new file mode 100644 index 00000000..4a452edc --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFBaseViewController.h @@ -0,0 +1,22 @@ +// +// APFViewController.h +// APFaceDetectBiz +// +// Created by 晗羽 on 8/25/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import "IBioAuthTask.h" + +@interface DTFBaseViewController : UIViewController + +@property(nonatomic, assign) BOOL isClose; +@property(nonatomic, strong) NSString *platformInfo; +@property(nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; +@property(nonatomic, weak) id currentTask; + +- (void)addWebGuideView:(UIView *)guideView; +- (void)showLoadingView; +- (void)dismissLoadingView; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFColorModel.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFColorModel.h new file mode 100644 index 00000000..9cb49408 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFColorModel.h @@ -0,0 +1,23 @@ +// +// DTFColorModel.h +// BioAuthEngine +// +// Created by 汪澌哲 on 2024/1/23. +// Copyright © 2024 Alipay. All rights reserved. +// + +#import + +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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFCustomActivityIndicator.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFCustomActivityIndicator.h new file mode 100644 index 00000000..d0dac62e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFCustomActivityIndicator.h @@ -0,0 +1,21 @@ +// +// DTFCustomActivityIndicator.h +// BioAuthEngine +// +// Created by 汪澌哲 on 2024/1/16. +// Copyright © 2024 Alipay. All rights reserved. +// + +#import + +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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFCustomAlertView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFCustomAlertView.h new file mode 100644 index 00000000..f4cf4c55 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFCustomAlertView.h @@ -0,0 +1,65 @@ +// +// DTFCustomAlertView.h +// BioAuthEngine +// +// Created by 汪澌哲 on 2024/1/10. +// Copyright © 2024 Alipay. All rights reserved. +// + +#import +#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 *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 *)actions fromeVC:(UIViewController *)vc; + ++(void)showPermissionAlertWithTitle:(NSString *)title message:(NSString *)message fromeVC:(UIViewController *)vc; +@end + +NS_ASSUME_NONNULL_END + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFFaceView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFFaceView.h new file mode 100644 index 00000000..fe9668d7 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFFaceView.h @@ -0,0 +1,30 @@ +// +// DTFFaceView.h +// MultiFactorFacade +// +// Created by mengbingchuan on 2022/6/22. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import "DTFFaceViewProtocol.h" + +typedef NS_ENUM(NSInteger, DTFAuthScene) { + DTFAuthSceneFace = 1, //刷脸 + DTFAuthSceneMultiFactor = 2, //意愿 +}; + +@interface DTFFaceView : UIView + +@property(nonatomic, assign) DTFAuthScene authScene; +@property(nonatomic, strong) NSString *platformInfo; +@property(nonatomic, assign) BOOL isSuitable; + +- (instancetype)initWithAuthScene:(DTFAuthScene)authScene platformInfo:(NSString *)platformInfo isSuitable:(BOOL)isSuitable; + +- (instancetype)initWithAuthScene:(DTFAuthScene)authScene; + +- (void)setScreenRotation:(BOOL)isRotation; + +- (void)setPlayBtnIcon; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFFaceViewProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFFaceViewProtocol.h new file mode 100644 index 00000000..86131dd5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFFaceViewProtocol.h @@ -0,0 +1,103 @@ +// +// DTFFaceViewProtocol.h +// BioAuthEngine +// +// Created by mengbingchuan on 2022/8/29. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import + +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; + +@protocol DTFFaceViewDelegate + +- (void)viewExit:(id)view; + +- (void)playBtn:(UIButton *)btn; + +- (void)headRegionChanged:(NSDictionary *)region;//头像区域发生改变 + +@end + +@protocol DTFFaceViewProtocol + +@property(nonatomic, weak) id delegate; + +- (void)setPreviewLayer:(AVCaptureVideoPreviewLayer *)previewLayer; + +- (void)setScreenRotation:(BOOL)isRotation; + +- (void)setPlayBtnIcon; + +- (void)faceDectectComplete; + +- (void)handleFaceStateChange:(DTFFaceStateMessage)state + stateTips:(NSString *)tips + actionGuide:(NSString *)guide + actionGuideType:(DTFLivenessActionGuideType)guideType + progress:(CGFloat)progress + extInfo:(NSDictionary *)extInfo; + +- (UIView *)view; + +@optional + +/** + * color 炫彩时,设置View的背景色 + */ +- (void)setPhotinusColor:(UIColor *)color; + +/** + * 设置是否开启适老化 + */ +- (void)setSuitableType:(BOOL)isSuitable; +/** + * image 模糊化的人脸图,用于做结束时loading + */ +- (void)showBlurImage:(UIImage *)image; + +- (void)reset; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFNearFarFaceView.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFNearFarFaceView.h new file mode 100644 index 00000000..1ce43127 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFNearFarFaceView.h @@ -0,0 +1,20 @@ +// +// DTFNearFarFaceView.h +// BioAuthEngine +// +// Created by mengbingchuan on 2024/9/4. +// Copyright © 2024 Alipay. All rights reserved. +// + +#import +#import "DTFFaceViewProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFNearFarFaceView : UIView + +- (instancetype)initWithFrame:(CGRect)frame cameraPreviewSize:(CGSize)cameraPreviewSize; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFOCRViewProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFOCRViewProtocol.h new file mode 100644 index 00000000..172fee75 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFOCRViewProtocol.h @@ -0,0 +1,92 @@ +// +// DTFOCRViewProtocol.h +// BioAuthEngine +// +// Created by jiangzhipeng on 2025/1/3. +// Copyright © 2025 Alipay. All rights reserved. +// + +#import +#import +#import "DTFUICustom.h" + + +//当前认证进度 +NS_ASSUME_NONNULL_BEGIN + +@class DTFOCRVerifyResultDetailModel; +@protocol DTFOCRViewProtocol; + +@protocol DTFOCRViewDelegate + +@required +/// 进入拍照,准备拍照环境,开启session,handler回调会返回session的预览图层 +/// - Parameters: +/// - ocrView: 调用view +/// - handler: 回调 +- (void)ocrView:(UIView *)ocrView prepareCaptureWithHandler:(void(^)(AVCaptureVideoPreviewLayer *previewLayer))handler; + +/// 退出拍摄 +/// - Parameter ocrView: 调用View +- (void)ocrViewStopCapture:(UIView *)ocrView; + +/// 拍照 +/// - Parameters: +/// - ocrView: 调用view +/// - handler: 回调 +- (void)ocrView:(UIView *)ocrView captureWithHandler:(void(^)(BOOL success, NSData *imageData))handler; + +/// 选中采集到的照片进行OCR认证,info为认证结果 +/// - Parameters: +/// - ocrView: 调用view +/// - isFront: 是否是正面认证 +/// - rect: 裁剪区域 +/// - handler: 回调。errorType:错误类型;errorMsg:错误信息,result:认证结果;captureImage:裁剪后的图片 +- (void)ocrView:(UIView *)ocrView isFront:(BOOL)isFront cropRect:(CGRect)rect confirmImageWithHandler:(void(^)(NSString *verifyCode, DTFOCRVerifyResultDetailModel *result, UIImage *captureImage))handler; + +/// - Parameters: +/// - ocrView: 调用view +/// - isFront: 是否是正面认证 +/// - imageData:选择的图片 +/// - handler: 回调。errorType:错误类型;errorMsg:错误信息,result:认证结果;captureImage:裁剪后的图片 +- (void)ocrView:(UIView *)ocrView isFront:(BOOL)isFront data:(NSData*)imageData confirmImageWithHandler:(void (^)(NSString * , DTFOCRVerifyResultDetailModel * , UIImage * ))handler; + +/// 切换闪光灯状态,回调为当前状态 +/// - Parameters: +/// - ocrView: 调用View +/// - handler: 回调。newMode:闪光灯新状态 +- (void)ocrView:(UIView *)ocrView switchFlashModeWithHandler:(void(^)(AVCaptureFlashMode newMode))handler; + +/// 获取当前闪光灯状态,返回值:开关状态 +/// - Parameter ocrView: 调用view +- (AVCaptureFlashMode)ocrViewCurrentFlashMode:(UIView *)ocrView; + +/// 同步验证信息,用户可以修改身份证认证信息,返回值error:如果有错误,那么表示认证不通过 +/// - Parameters: +/// - ocrView: 调用view +/// - name: 修改后的名字 +/// - cerNO: 修改后的身份证号码 +- (NSError *)ocrView:(UIView *)ocrView updateVerifyName:(NSString *)name cerNO:(NSString *)cerNO; + +/// 结束认证 +/// - Parameters: +/// - ocrView: 调用view +/// - isComplete: 是否完成,如手动退出则传NO +- (void)ocrView:(UIView *)ocrView verifyComplete:(BOOL)isComplete; + +@end + +@protocol DTFOCRViewProtocol + +//delegate对象,这里在sdk内部会引用特定工具类 +@property (nonatomic, weak) iddelegate; +//弹窗管理对象 +@property (nonatomic, strong) id customProtocol; + +@required +//返回提供给sdk的view对象 +- (UIView *)view; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFTextLayer.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFTextLayer.h new file mode 100644 index 00000000..333dfe52 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFTextLayer.h @@ -0,0 +1,19 @@ +// +// DTFTextLayer.h +// BioAuthEngine +// +// Created by 王伟伟 on 2017/12/5. +// Copyright © 2017年 DTF. All rights reserved. +// + +#import +#import +#import + +@interface DTFTextLayer : CATextLayer + +@property (nonatomic, copy) NSAttributedString *attrStr; + +- (CGSize)stringSize; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUICustom.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUICustom.h new file mode 100644 index 00000000..27f02ceb --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUICustom.h @@ -0,0 +1,26 @@ +// +// DTFUICustom.h +// BioAuthEngine +// +// Created by 汪澌哲 on 2024/1/10. +// Copyright © 2024 Alipay. All rights reserved. +// + +#import +#import "DTFUICustomProtocol.h" +#import "DTFCustomAlertView.h" +#import "DTFColorModel.h" +NS_ASSUME_NONNULL_BEGIN +@interface DTFUICustom : NSObject + +@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 *)actions; + +- (BOOL)showPermissionViewWithPermission:(NSArray *)permission serviceType:(DTFServiceType)serviceType; +//获取alert参数,这里单独提出来是为了给子类复用 +- (DTFColorModel *)getAlertParamColorWithType:(NSString *)type bizCode:(NSString *)bizCode; +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUICustomProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUICustomProtocol.h new file mode 100644 index 00000000..cd359ec6 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUICustomProtocol.h @@ -0,0 +1,33 @@ +// +// DTFUICustomProtocol.h +// BioAuthEngine +// +// Created by mengbingchuan on 2022/8/29. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import +#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; +extern DTFPermission const DTFPermissionTypeAlbum; + +@protocol DTFUICustomProtocol +@optional + +/** + * Show Permission + */ +- (BOOL)showPermissionViewWithPermission:(NSArray *)permission serviceType:(DTFServiceType)serviceType; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUIElementManager.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUIElementManager.h new file mode 100644 index 00000000..6f0c5644 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUIElementManager.h @@ -0,0 +1,22 @@ +// +// DTFUIElementManager.h +// BioAuthEngine +// +// Created by richard on 08/08/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import + + +@interface DTFUIElementManager : NSObject + ++ (UIView *)generateUIViewWithFrame:(CGRect)frame andBackGroundColor:(UIColor *)backGroundColor andAlpha:(float)alpha; + ++ (UILabel *)generateUIlabelWithFrame:(CGRect)frame andColor:(UIColor *)color andFont:(UIFont*)font andAlpha:(float)alpha andBackGroundColor:(UIColor *)backGroundColor andLineBreakMode:(NSLineBreakMode)breakMode andAlignment:(NSTextAlignment) alignment; + ++ (UIImageView *)generateUIImageViewWithFrame:(CGRect)frame andImageName:(NSString *)imageName andContentMode:(UIViewContentMode)contentMode; + ++ (UIImage *)generateUIImageWithName:(NSString *)imageName; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUploadWaveLayer.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUploadWaveLayer.h new file mode 100644 index 00000000..73e6e190 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFUploadWaveLayer.h @@ -0,0 +1,18 @@ +// +// APFUploadWaveView.h +// selfieFaceInfo +// +// Created by 晗羽 on 11/3/16. +// Copyright © 2016 com.antworshop7. All rights reserved. +// + +#import +#import + +@interface DTFUploadWaveLayer : CALayer + +- (void)setMaskImage:(UIImage *)image; +- (void)startWave; +- (void)stopWave; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFViewProviderProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFViewProviderProtocol.h new file mode 100644 index 00000000..5cd4300b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/DTFViewProviderProtocol.h @@ -0,0 +1,19 @@ +// +// FaceViewProviderProtocol.h +// BioAuthEngine +// +// Created by mengbingchuan on 2022/8/29. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import "DTFFaceViewProtocol.h" +#import "DTFOCRViewProtocol.h" + +@protocol DTFViewProviderProtocol + +- (id)viewForFace; +//遵守该协议的对象必须要实现方法,方法返回一个遵守DTFOCRViewProtocol协议的id类型。返回对象可以理解为一个view的提供者 +- (id)viewForOCR; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/IBioAuthFactor.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/IBioAuthFactor.h new file mode 100644 index 00000000..6717f23e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/IBioAuthFactor.h @@ -0,0 +1,69 @@ +// +// IBioAuthFactor.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/9/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +@protocol IBioAuthTask; +@class APBRequest, APBResponse; + + +/** + * globalConfig key + * 全局超时,值为CGFloat,若设定了该值,则框架可以在相应时间到达后,将全局超时事件封装成APBEvent dispatch给当时运行的task + * 即使设定了全局超时,全局计时器默认关闭,需要task在globalInfo中将kGlobalTimerSwitchKey开关设置为YES后才开始计时 + */ +extern NSString *const kGlobalTimeoutKey; + +/** + * 远程生物认证因子接口 + */ +@protocol IBioAuthFactor + +/** + * 生物认证因子名称,框架根据该名称反射调用到具体生物认证因子 + */ +@property(nonatomic, copy, readonly)NSString *factorName; + +/** + * 框架调用该方法来实例化认证因子 + * + * @param request 调用方的认证请求 + */ +- (instancetype)initWithRequest:(APBRequest *)request; + +/** + * 获取远程生物认证task队列 + */ +- (NSArray> *)getTasks; + +/** + * 获取生物验证全局配置(全局超时等) + */ +- (NSMutableDictionary *)getGlobalConfig; + +/** + * 框架最终返回response之前,由相应认证因子最终处理repsonse + */ +- (void)finalizeResponse:(APBResponse *)response; + +/** + * sdk版本号 + */ ++ (NSString *)getVersion; + +@optional +/** + * 重启之前调用 + */ +- (void)onEngineWillRestart:(NSMutableDictionary *)pipeInfo; + +/** + * 获取生物认证产品元数据 + */ ++ (NSDictionary *)getMetaInfo; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/IBioAuthTask.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/IBioAuthTask.h new file mode 100644 index 00000000..ed9431b2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/IBioAuthTask.h @@ -0,0 +1,73 @@ +// +// IBioAuthTask.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/4/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import +#import +#import +#import + +@class APBTaskContext; +@protocol IBioAuthTask; + +/** + * pipeInfo key + * value为commandBlock,task可以调用并要求框架执行相应APBBackwardCommand命令 + */ +extern NSString *const kTaskCommandBlockKey; + +/** + * taskConfig key + * task超时,value为CGFloat,如果task设置了该值,框架将开始task计时器,并在时间到达后,将task超时封装成APBEvent发送给当前task + */ +extern NSString *const kTaskTimeoutKey; + +typedef void (^commandBlock)(APBBackwardCommand *command); + +@protocol BioAuthTaskDelegate + +- (void)task:(id)task stateChanged:(APBTaskState)state; + +@end + +@protocol IBioAuthTask + +@property(nonatomic, copy, readonly) NSString *taskName; //任务名称 +@property(nonatomic, strong, readonly) APBTaskContext *context; //任务上下文 +@property(nonatomic, weak) id delegate; + +/** + * 开始执行任务队列 + */ +- (void)invokeWithPipeInfo:(NSMutableDictionary *)pipeInfo; + +/** + * 处理中断事件 + * + * @param event 事件 + * @param callback 事件处理结果回调 + */ +- (void)processEvent:(APBEvent *)event +withCompletionCallback:(BioAuthExecCallback)callback; + +/** + * 获取任务配置(超时等) + */ +- (NSDictionary *)getConfig; + +/** + * 重置任务 + */ +- (void)reset; + +/** + * 获取当前管道信息,框架负责传递给下一个task + */ +- (NSMutableDictionary *)pipeInfo; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/NSTimer+bioAuth.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/NSTimer+bioAuth.h new file mode 100644 index 00000000..e4d30758 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/NSTimer+bioAuth.h @@ -0,0 +1,19 @@ +// +// NSTimer+bioAuth.h +// BioAuthEngine +// +// Created by 王伟伟 on 2017/8/23. +// Copyright © 2017年 DTF. All rights reserved. +// + +#import + +@interface NSTimer (bioAuth) + +@property(nonatomic, strong)NSNumber *remained; +@property(nonatomic, strong)NSNumber *paused; + +- (void)pause; +- (void)resume; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/UIImage+bioAuth.h b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/UIImage+bioAuth.h new file mode 100644 index 00000000..fb393fe2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Headers/UIImage+bioAuth.h @@ -0,0 +1,22 @@ +// +// UIImage+bioAuth.h +// BioAuthEngine +// +// Created by 王伟伟 on 2017/8/23. +// Copyright © 2017年 DTF. All rights reserved. +// + +#import +#import + +@interface UIImage (bioAuth) + ++ (nullable UIImage *)bioAuth_imageWithColor:(UIColor *_Nullable)color size:(CGSize)size; + +#pragma mark - Resize - +- (nullable UIImage *)bioAuth_SubRect:(CGRect)r; +- (nullable UIImage *)bioAuth_GaussiamBlur; ++ (nullable UIImage *)bioAuth_imageWithCVPixelBuffer:(CVPixelBufferRef _Nullable )buffer; ++ (nullable UIImage *)bioAuth_imageWithCMSampleBuffer:(CMSampleBufferRef _Nullable )samplebuffer; +- (nullable UIImage *)bioAuth_imageByResizeToSize:(CGSize)size contentMode:(UIViewContentMode)contentMode; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Info.plist new file mode 100644 index 00000000..313836fa Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..2eabb2cf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/BioAuthEngine.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,36 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + + + + + NSPrivacyTrackingDomains + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/DTFIdentityManager b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/DTFIdentityManager new file mode 100644 index 00000000..61bfdc63 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/DTFIdentityManager differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFIdentityManager.h b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFIdentityManager.h new file mode 100644 index 00000000..b2a967d3 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFIdentityManager.h @@ -0,0 +1,25 @@ +// +// DTFIdentityManager.h +// DTFIdentityManager +// +// Created by mengbingchuan on 2022/11/23. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import "ZimRpcManager.h" +#import + +//version 2.3.34.1 + +NS_ASSUME_NONNULL_BEGIN + +typedef void (^ZIMCallback)(ZIMResponse *response); + +@interface DTFIdentityManager : NSObject + ++ (DTFIdentityManager *)sharedInstance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFIdentityPublicApi.h b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFIdentityPublicApi.h new file mode 100644 index 00000000..5bf77d3f --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFIdentityPublicApi.h @@ -0,0 +1,15 @@ +// +// DTFIdentityPublicApi.h +// DTFIdentityManager +// +// Created by richard on 22/11/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#ifndef DTFIdentityPublicApi_h +#define DTFIdentityPublicApi_h + +#import +#import + +#endif /* DTFIdentityPublicApi_h */ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFSdk.h b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFSdk.h new file mode 100644 index 00000000..d0c3f92d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/DTFSdk.h @@ -0,0 +1,44 @@ +// +// DTFSdk.h +// DTFIdentityManager +// +// Created by richard on 22/11/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import + +@interface DTFSdk : NSObject + +/*初始化接口,尽可能早调用 + */ ++ (void)init; + +/* IPV6的初始化接口 只有你的网络环境强制要求是IPV6的时候,才调用initIPv6。 + */ ++ (void)initIPv6; + ++ (NSString *)getVersion; + ++ (void)preload:(NSDictionary *)param completion:(void (^)(BOOL success))completion; + +/*同步获取设备指纹token +1)SDK初始化后需要经过一段时间计算才能获取到deviceToken,建议间隔3秒以上; +2)deviceToken短期有效,不能长期缓存使用,不能作为设备唯一标识。 +*@param session 要获取的session缓冲区 +*@param lenth session缓冲区的长度,此值应不小于384 比如:char session[384] = {0}; +*@return 0表示成功,其他表示失败 +*/ ++(int) getSession:(char *) session : (const int) lenth DEPRECATED_MSG_ATTRIBUTE("use getMobileSession instead"); + + +/*同步获取设备指纹token +1)SDK初始化后需要经过一段时间计算才能获取到deviceToken,建议间隔3秒以上; +2)如果没有获取到token,返回的内容是@"",没有内容的字符串。 + */ ++(NSString*)getMobileSession:(NSString *)certifyID; + +//获取无线保镖基本数据。 ++ (NSDictionary*) getSecurityInfo DEPRECATED_MSG_ATTRIBUTE("won't use any more");; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/ZimJSApiHandler.h b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/ZimJSApiHandler.h new file mode 100644 index 00000000..5173191e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/ZimJSApiHandler.h @@ -0,0 +1,14 @@ +// +// ZimJSApiAdapter.h +// DTFIdentityManager +// +// Created by 晗羽 on 25/07/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import +typedef void (^ZIMJSApilCallbackBlock)(id responseData); + +@interface ZimJSApiHandler: NSObject +- (void)handler:(NSDictionary *)data contextInfo:(NSDictionary *)context callback:(ZIMJSApilCallbackBlock)callbac; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/ZimRpcManager.h b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/ZimRpcManager.h new file mode 100644 index 00000000..6504d814 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Headers/ZimRpcManager.h @@ -0,0 +1,65 @@ +// +// ZIMRpcManager.h +// DTFIdentityManager +// +// Created by richard on 26/02/2018. +// Copyright © 2018 com. DTF.iphoneclient.DTF. All rights reserved. +// + +#import +#import +#import + +/** + * rpc结果回调 + * + * @param success 网络交互是否成功(不代表服务端返回的结果) + * @param result 服务端返回的结果 + */ + +@interface ZimRpcManager : NSObject + +@property(nonatomic, strong) APBToygerBioBisConfigManager *protoclModel; +@property(nonatomic, copy) NSString *zimId; +@property(nonatomic, copy) NSDictionary *ossConfig; + +@property(nonatomic, weak) id rpcDelegate; + +//代理模式 +//- (void)doValidateRequetViaDelegate:(ZimValidateRequest * )request withcompletionBlock:(rpcCompletionBlock)blk; + +/** + * zim init request + * + * @param request 初始化请求 + * @param blk 网络请求结果回调处理,result为ZimInitResponse + */ +- (void)doFastUploadInitRequest:(NSDictionary * )request withcompletionBlock:(DTFRpcCompletionBlock)blk; +/** + * zim validate request + * + * @param request validate请求 + * @param blk 网络请求结果回调处理,result为ZimValidateResponse + */ +- (void)doFastUploadValidateRequest:(ZimValidateRequest * )request withcompletionBlock:(DTFRpcCompletionBlock)blk; + + +//OCR接口 +- (void)doSendOCRContent:(NSString*)certifyId idSide:(NSString*)side withImage:(NSData*)imageData imageSource:(NSInteger)imageSource withcompletionBlock:(rpcCompletionBlock)blk; + +//EKYC OCR接口 +- (void)doSendEKYCOCRContent:(NSDictionary*)params withcompletionBlock:(DTFRpcCompletionBlock)blk ; + +//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; + +// SMS 验证接口 +- (void)verifySMSCode:(NSDictionary*)serviceParameters completionBlock:(DTFRpcCompletionBlock)blk; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Info.plist new file mode 100644 index 00000000..f82d26d6 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Modules/module.modulemap b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Modules/module.modulemap new file mode 100644 index 00000000..6f1003ed --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module DTFIdentityManager { + umbrella header "DTFIdentityManager.h" + + export * + module * { export * } +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..2eabb2cf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,36 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + + + + + NSPrivacyTrackingDomains + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/en.lproj/InfoPlist.strings b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFIdentityManager.framework/en.lproj/InfoPlist.strings differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_card.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_card.png new file mode 100644 index 00000000..88fd4a37 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_card.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_finger.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_finger.png new file mode 100644 index 00000000..6432e067 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_finger.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_nfc_backgrond.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_nfc_backgrond.png new file mode 100644 index 00000000..602693b2 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/aliyun/icon_nfc_backgrond.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/back.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/back.png new file mode 100644 index 00000000..72053272 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/back.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/close.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/close.png new file mode 100644 index 00000000..597c3e09 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/close.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/en.strings b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/en.strings new file mode 100644 index 00000000..3eb1a5ff --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/en.strings @@ -0,0 +1,40 @@ +/* + 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"; +"kDocNotSupported" = "This type of document is not supported"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image6.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image6.png new file mode 100644 index 00000000..929264d9 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image6.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image7.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image7.png new file mode 100644 index 00000000..29102b7e Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image7.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image8.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image8.png new file mode 100644 index 00000000..8055ce0d Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_image8.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_passport.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_passport.png new file mode 100644 index 00000000..7d5f6133 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/icon_passport.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_card.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_card.png new file mode 100644 index 00000000..339d1871 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_card.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_finger.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_finger.png new file mode 100644 index 00000000..0a17f8e4 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_finger.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_nfc_backgrond.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_nfc_backgrond.png new file mode 100644 index 00000000..8afbb00a Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/sk/icon_nfc_backgrond.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/youjiantoucu.png b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/youjiantoucu.png new file mode 100644 index 00000000..84494891 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/youjiantoucu.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/zh-Hans.strings b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/zh-Hans.strings new file mode 100644 index 00000000..3f7a8ee2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.bundle/zh-Hans.strings @@ -0,0 +1,40 @@ +/* + 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" = "已准备好扫描"; +"kDocNotSupported" = "不支持此类证件"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/DTFNFCIdentityManager b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/DTFNFCIdentityManager new file mode 100644 index 00000000..1bf4e219 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/DTFNFCIdentityManager differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/DTFNFCIdentityManager-Info.plist b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/DTFNFCIdentityManager-Info.plist new file mode 100644 index 00000000..01af302e Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/DTFNFCIdentityManager-Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/Headers/NFCDatePickerView.h b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/Headers/NFCDatePickerView.h new file mode 100644 index 00000000..ae890f4b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/Headers/NFCDatePickerView.h @@ -0,0 +1,25 @@ +// +// NFCDatePickerView.h +// ZimDemo +// +// Created by 汪澌哲 on 2023/6/7. +// Copyright © 2023 com.alipay. All rights reserved. +// + +#import + +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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/Info.plist new file mode 100644 index 00000000..9cb01cce Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..2eabb2cf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,36 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + + + + + NSPrivacyTrackingDomains + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/en.lproj/InfoPlist.strings b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFNFCIdentityManager.framework/en.lproj/InfoPlist.strings differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/DTFUtility b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/DTFUtility new file mode 100644 index 00000000..4515b0b8 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/DTFUtility differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBBisProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBBisProtocol.h new file mode 100644 index 00000000..da105887 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBBisProtocol.h @@ -0,0 +1,69 @@ +// +// APBProtocol.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/15/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import + +//若不支持pb +#ifndef SUPPORT_PB + +@interface BisClientConfigContent : NSObject +@property (nonatomic,strong) NSString* token; +@property (nonatomic,strong) NSString* type; +@property (nonatomic,strong) NSString* sampleMode; +@property (nonatomic,strong) NSString* androidcfg; +@property (nonatomic,strong) NSString* ioscfg; +@property (nonatomic,strong) NSString* h5cfg; +@end + +@interface BisClientConfig : NSObject +@property (nonatomic,strong) BisClientConfigContent* content; +@property (nonatomic,strong) NSString* sign; +@end + +//若支持PB +#else + +#ifdef __cplusplus +extern "C"{ +#endif +#import + +#ifdef __cplusplus +} +#endif + +@interface BisClientConfigContent : APDPBGeneratedMessage + +@property (readonly) BOOL hasToken; +@property (readonly) BOOL hasType; +@property (readonly) BOOL hasSampleMode; +@property (readonly) BOOL hasAndroidcfg; +@property (readonly) BOOL hasIoscfg; +@property (readonly) BOOL hasH5cfg; + +@property (nonatomic,strong) NSString* token ; +@property (nonatomic) SInt32 type ; +@property (nonatomic) SInt32 sampleMode ; +@property (nonatomic,strong) NSString* androidcfg ; +@property (nonatomic,strong) NSString* ioscfg ; +@property (nonatomic,strong) NSString* h5cfg ; +@end + +@interface BisClientConfig : APDPBGeneratedMessage + +@property (readonly) BOOL hasContent; +@property (readonly) BOOL hasContentBytes; +@property (readonly) BOOL hasSign; + +@property (nonatomic,strong) NSString* content ; +@property (nonatomic,strong) BisClientConfigContent* contentBytes ; +@property (nonatomic,strong) NSString* sign ; +@end + +#endif + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBBisUploadGwRequest.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBBisUploadGwRequest.h new file mode 100644 index 00000000..5173638c --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBBisUploadGwRequest.h @@ -0,0 +1,47 @@ +//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 + +#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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBSystem.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBSystem.h new file mode 100644 index 00000000..3a4ca130 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBSystem.h @@ -0,0 +1,18 @@ +// +// APBSystem.h +// BioAuthService +// +// Created by yukun.tyk on 12/14/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import + +@interface APBSystem : NSObject + ++ (double)systemVer; + ++ (NSString *)modelString; + + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBToygerBioBisConfigManager.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBToygerBioBisConfigManager.h new file mode 100644 index 00000000..4a92d7a6 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBToygerBioBisConfigManager.h @@ -0,0 +1,42 @@ +// +// APBioBisConfigManager.h +// APFaceDetectBiz +// +// Created by 晗羽 on 1/7/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import "APBToygerRemoteConfig.h" + +@interface APBToygerBioBisConfigManager : NSObject +/** + * 初始化biscfg + * + * @param biscfg pb/json格式 + * + * @return 生成一个配置对象 + */ +- (instancetype)initWithBisConfig:(NSString *)biscfg; + +@property(nonatomic, copy) NSString *protocol; + +/** + * bisToken + * + * @return 服务端下放的bistoken,每次人脸识别服务端的ID + */ +- (NSString * )bisToken; + +- (NSString * )iosvoicecfg; + +- (APBToygerSoluCfg *)solucfg; + +- (APBToygerRemoteConfig *)bisConfig; + +- (int) sampleMode; + +- (NSString *) apBioSecPublicKey; + ++ (NSDictionary *)getDictfrom:(NSString *) jsonStr; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBToygerRemoteConfig.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBToygerRemoteConfig.h new file mode 100644 index 00000000..f412deb0 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBToygerRemoteConfig.h @@ -0,0 +1,261 @@ +// +// APFRemoteConfig.h +// AppArch +// +// Created by yukun.tyk on 8/29/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import "ToygerAlgorithmConfig.h" + +@class APBToygerSceneEnv, APBToygerVideo, APFRemoteConfig, APBToygerCollect, APBDragonflyLivenessConfig,APBGeminiLivenessConfig; +@class APBToygerNavigatePage, APBToygerAlgorithm, APBToygerTips, APBToygerUploadConfig; + +@interface APBToygerSoluCfg: NSObject + +@property(nonatomic, copy) NSArray *order; + +@property(nonatomic, strong) APBToygerNavigatePage *navi; + + +@end + +/** + * 协议配置 + */ +@interface APBToygerRemoteConfig : NSObject + +@property(nonatomic, strong)APBToygerSceneEnv *sceneEnv; +@property(nonatomic, strong)APBToygerNavigatePage *navi; +@property(nonatomic, copy) NSDictionary *suitable; +@property(nonatomic, strong)APBToygerCollect *coll; +@property(nonatomic, strong) APBToygerUploadConfig *upload; +@property(nonatomic, strong) ToygerAlgorithmConfig *algorithm; +@property(nonatomic, copy) NSArray *scanAlgorithm; +@property(nonatomic, strong)APBToygerTips * faceTips; +@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 + +/** + * 场景配置 + */ +@interface APBToygerSceneEnv : NSObject + +@property(nonatomic, copy)NSString *sceneCode; +@property(nonatomic, copy)NSString *sceneType; +@property(nonatomic, copy)NSString *sysTime; + ++(APBToygerSceneEnv *)defaultConfig; + +@end + +/** + * 引导页配置 + */ +@interface APBToygerNavigatePage : NSObject + +@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 +/** + * 采集场景配置 + */ +@interface APBToygerCollect : NSObject + +@property(nonatomic, assign)NSInteger retry; +@property(nonatomic, assign)CGFloat minangle; +@property(nonatomic, assign)CGFloat maxangle; +@property(nonatomic, assign)CGFloat near; +@property(nonatomic, assign)CGFloat far; +@property(nonatomic, assign)NSInteger minlight; +@property(nonatomic, assign)NSInteger time; +@property(nonatomic, assign)NSInteger light; +@property(nonatomic, assign)NSInteger imageIndex; +@property(nonatomic, assign)BOOL uploadLivePic; +@property(nonatomic, assign)NSInteger uploadMonitorPic; +@property(nonatomic, assign)BOOL progressbar; +@property(nonatomic, assign)BOOL uploadBestPic; +@property(nonatomic, assign)BOOL uploadPoseOkPic; +@property(nonatomic, assign)BOOL uploadBigPic; +@property(nonatomic, assign)BOOL authorization; +@property(nonatomic, assign)NSInteger mineDscore; +@property(nonatomic, assign)NSInteger mineVideo; +@property(nonatomic, strong)NSArray *actionMode; +@property(nonatomic, assign) NSInteger pageNo; +@property(nonatomic, copy) NSString *docType; +@property(nonatomic, assign) NSInteger retryLimit; +@property(nonatomic, assign) NSInteger scanTimeout; +@property(nonatomic, copy) NSString *uiType; +@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 + + + +/** + * 视频设置 + */ +@interface APBToygerVideo : NSObject + +@property(nonatomic, assign)NSInteger width; +@property(nonatomic, assign)NSInteger height; +@property(nonatomic, assign)NSInteger duration; +@property(nonatomic, assign)NSInteger bitrate; +@property(nonatomic, assign)NSInteger fps; +@property(nonatomic, assign)BOOL enable; ; + ++(APBToygerVideo *)defaultConfig; + +@end + + + +@interface APBToygerAlertConfig : NSObject + +@property(nonatomic, copy)NSString * title; +@property(nonatomic, copy)NSString * message; +@property(nonatomic, copy)NSString * leftButtonText; +@property(nonatomic, copy)NSString * rightButtonText; +@property(nonatomic, assign)NSInteger returnCode; + + +@end + +@interface APBToygerTips : NSObject + +//required +@property(nonatomic, strong)APBToygerAlertConfig * timeoutAlert; +@property(nonatomic, strong)APBToygerAlertConfig * failAlert; +@property(nonatomic, strong)APBToygerAlertConfig * limitAlert; +@property(nonatomic, strong)APBToygerAlertConfig * networkErrorAlert; +@property(nonatomic, strong)APBToygerAlertConfig * interruptAlert; + +@property (nonatomic, copy) NSString *sceneText; +@property (nonatomic, copy) NSString *bottomText; +@property (nonatomic, copy) NSString *topText_rectwidth; +@property (nonatomic, copy) NSString *topText_noface; +@property (nonatomic, copy) NSString *topText_face_too_more; +@property (nonatomic, copy) NSString *topText_blur; +@property (nonatomic, copy) NSString *topText_light; +@property (nonatomic, copy) NSString *topText_pitch; +@property (nonatomic, copy) NSString *topText_yaw; +@property (nonatomic, copy) NSString *topText_quality; +@property (nonatomic, copy) NSString *topText_integrity; +@property (nonatomic, copy) NSString *topText_max_rectwidth; +@property (nonatomic, copy) NSString *topText_stay; +@property (nonatomic, copy) NSString *topText_openness; +@property (nonatomic, copy) NSString *topText_blink; +@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; + +//optional + +@property(nonatomic, strong)APBToygerAlertConfig * unsurpportAlert; +@property(nonatomic, strong)APBToygerAlertConfig * systemVersionErrorAlert; +@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; + +@end + +@interface APBToygerBaseConfig: NSObject + +@property(nonatomic, copy) NSDictionary *rawData; + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; + +- (void)parseProperty; + +- (NSString *)stringValueForKey:(NSString *)key; + +- (NSNumber *)numberValueForKey:(NSString *)key; + +- (NSArray *)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 *collection; + +@property(nonatomic, strong) NSArray *captureConfig; +@property(nonatomic, strong) NSDictionary *captureConfigItem; +@property(nonatomic, strong) NSDictionary *blobConfig; + +@end + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBUtils.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBUtils.h new file mode 100644 index 00000000..7fd26a3d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/APBUtils.h @@ -0,0 +1,220 @@ +// +// APBUtils.h +// BioAuthEngine +// +// Created by richard on 27/08/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import +#import +#include +#include + +#define SCREEN_WIDTH [[UIScreen mainScreen]bounds].size.width //屏幕宽度 +#define SCREEN_HEIGHT [[UIScreen mainScreen]bounds].size.height //屏幕高度 + +//获取document目录 +#define DOCUMENT_PATH [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] + +//资源文件目录 +#define ASSET_PATH [DOCUMENT_PATH stringByAppendingPathComponent:@"BioAuth"] + +//返回不为nil的string +#define NONE_NIL_STRING(str) (str ? str : @"") + + +#define SafeRelease(obj) if(obj){obj=nil;} + +//主线程同步操作 +#define SYNC_MAINTHREAD_BEGIN [APBUtils APBMainThread:^{ +#define SYNC_MAINTHREAD_END }]; + +//pipeInfo线程安全操作 +static NSString *const kAPBPipeInfoMutexToken = @""; +static id __apb_thread_safe_object_for_key(NSMutableDictionary *pipeInfo, NSString *key){ + id ret; + @synchronized(kAPBPipeInfoMutexToken){ + if ([pipeInfo isKindOfClass:[NSMutableDictionary class]] && [pipeInfo objectForKey: key]) { + ret = [pipeInfo objectForKey:key]; + } + } + return ret; +} + +//从pipeInfo中获取Object,线程安全 +#define THREAD_SAFE_OBJECT_FOR_KEY(pipeInfo, key) __apb_thread_safe_object_for_key(pipeInfo, key) + +//向pipeInfo中添加或修改Object,线程安全 +#define THREAD_SAFE_SET_OBJECT_FOR_KEY(pipeInfo, key, value) \ + @synchronized(kAPBPipeInfoMutexToken){ \ + if ([pipeInfo isKindOfClass:[NSMutableDictionary class]] && key && value) { \ + [pipeInfo setObject:value forKey:key];}} + +//删除PipeInfo中某个Object,线程安全 +#define THREAD_SAFE_REMOVE_OBJECT_FOR_KEY(pipeInfo, key) \ + @synchronized(kAPBPipeInfoMutexToken){ \ + if ([pipeInfo isKindOfClass:[NSMutableDictionary class]] && [pipeInfo objectForKey: key]) { \ + [pipeInfo removeObjectForKey: key];}} + +//将dict中对应value增加1 +#define INCREASE_BY_ONE(pipeInfo, key){ \ + NSInteger num = [[pipeInfo objectForKey:key]integerValue]+1; \ +THREAD_SAFE_SET_OBJECT_FOR_KEY(pipeInfo, key, [NSNumber numberWithInteger:num]);} + +//将dict中对应value减1 +#define DECREASE_BY_ONE(pipeInfo, key){ \ + NSInteger num = [[pipeInfo objectForKey:key]integerValue]-1; \ +THREAD_SAFE_SET_OBJECT_FOR_KEY(pipeInfo, key, [NSNumber numberWithInteger:--num]);} + +#define LOCK(locker, ...) dispatch_semaphore_wait(locker, DISPATCH_TIME_FOREVER); \ +__VA_ARGS__; \ +dispatch_semaphore_signal(locker); + +@interface DTFAlertTextModel : NSObject +@property(nonatomic, copy) NSString *title; +@property(nonatomic, strong) UIColor *titleColor; + +@property(nonatomic, copy) NSString *msg; +@property(nonatomic, strong) UIColor *msgColor; + +@property(nonatomic, copy) NSString *confirm; +@property(nonatomic, strong) UIColor *confirmColor; + +@property(nonatomic, copy) NSString *cancel; +@property(nonatomic, strong) NSString *cancelColor; + +@end + +NS_ASSUME_NONNULL_BEGIN +@interface APBUtils : NSObject + ++ (NSString *)MD5WithData:(NSData *)data; + ++ (NSString *)randomString:(NSInteger)len; + ++ (BOOL)isWifi; + ++ (UIColor*)getColorFromNSString:(NSString*) cString; + ++ (NSArray *)getRGBFromHexColor:(NSString *)cString; + ++ (NSString *)getColorStrFromUIColor:(UIColor *)color; + +/** + * 主线程同步操作,请调用宏版本 + */ ++ (void)APBMainThread:(dispatch_block_t)block; + ++ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString; + ++ (NSString*)convertToJSONString:(NSDictionary *)infoDict; + ++ (NSString *)currentLanguage; + ++ (NSString *)localizedStringForKey:(NSString *)key inBundle:(NSString *)bundle; + ++ (NSString *)localizedStringForKey:(NSString *)key; + ++ (NSString *)localizedStringForKeyNew:(NSString *)key; + ++ (long long)getTotalDiskSize; + ++ (long long)getAvailableDiskSize; + ++ (NSString*)deviceVersion; + ++ (NSString *)osVersion; + ++ (NSString *)appName; + ++ (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 *)supportedActionLivenessArray; + ++ (void)removePairInDictionary:(NSMutableDictionary *)dictionary withCheck:(BOOL(^)(NSString *, NSObject*))checker; + ++ (CMVideoDimensions)maxResolution:(AVCaptureDevicePosition) position; + ++ (NSDictionary *)evidenceVideoCompressionProperties; + +/// 创建支持修改颜色的 alertVc ++ (UIAlertController *)buildAlertWithAlertModel:(DTFAlertTextModel *)model + confirmHandler:(void (^ __nullable)(UIAlertAction * _Nonnull action))confirmHandler + cancelHandler:(void (^ __nullable)(UIAlertAction * _Nonnull action))cancelHandler; + + ++ (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)genVideoWithFileURL:(NSURL *)url + pixcelArray:(NSArray *)pixcelArray + 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; + +/// 计算文字宽度 ++ (CGFloat)widthForText:(NSString *)text + withFont:(UIFont *)font + containerHeight:(CGFloat)containerHeight; + +/// 计算文字高度 ++ (CGFloat)HeightForText:(NSString *)text + withFont:(UIFont *)font + containerWidth:(CGFloat)containerWidth; + +/// 是否是中文环境(简体,繁体) ++ (BOOL)isChineseLanguage; + +/// 根据语言环境 调整字体大小 ++ (CGFloat)fixFontByLanguage:(CGFloat)fontSize; + ++ (NSString *)getFaceGuardVersion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/CameraService.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/CameraService.h new file mode 100644 index 00000000..e7b2040e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/CameraService.h @@ -0,0 +1,199 @@ +// +// CameraService.h +// DTFCameraService +// +// Created by Tommy Li on 2017/8/23. +// Copyright © 2017年 EyeVerify. All rights reserved. +// + +#import +#import +#import "DTFChameleonUtilsModel.h" +#if defined(__cplusplus) + #define DTF_EXPORT extern "C" +#else + #define DTF_EXPORT extern +#endif + + +/// NSString keys that are used to specify configuration in DTFCameraService initialization. +typedef NSString* const DTFCameraInitKey; + +/// NSString keys that are used to change configurations of DTFCameraService; +typedef NSString* const DTFCameraConfigKey; + +/** + Funtion type signature that is used for -takePicture: callbacks after a still image is captured. + + @param imageDataSampleBuffer The sample buffer of the still image. It is nil if any error occurred. + @param error NSError that indicates any error during the capture process. It is nil if no error occurred. + */ +typedef void(^DTFCameraTakePhotoCompletion)(CMSampleBufferRef imageDataSampleBuffer, NSError *error); + +/// Initialization Key for specifying device position during initialization. Associated value must be a AVCaptureDevicePosition. +DTF_EXPORT DTFCameraInitKey DTFCameraInitKeyCaptureDevicePosition; + +/// Initialization Key for specifying quality preset during initialization. Associated value must be a AVCaptureSessionPreset. +DTF_EXPORT DTFCameraInitKey DTFCameraInitKeySessionPreset; + +/// Initialization Key for specifying video orientation during initialization. Associated value must be a AVCaptureVideoOrientation. +DTF_EXPORT DTFCameraInitKey DTFCameraInitKeyVideoOutputOrientation; + +/// Initialization Key for specifying video mode during initialization. Associated value must be a DTFCameraMode +DTF_EXPORT DTFCameraInitKey DTFCameraInitKeyMode; + +/** + Configuration Key for specifying focus point of interest. Associated value must be a CGPoint (converted to an NSString). + + Note that the associated value will be directly applied to camera without transformations, so regarding valid inputs please review focusPointOfInterest of AVCaptureDevice; + */ +DTF_EXPORT DTFCameraConfigKey DTFCameraConfigKeyFocusPointOfInterest; + +/// Error domain name for DTFCameraService +DTF_EXPORT NSString *const kDTFCameraErrorDomain; + + +/// Error codes used by DTFCameraService to indicate the type of errors occured. +typedef NS_ENUM(NSInteger, DTFCameraErrorCode) { + + /// Error code indicates that an invalid preset string is given during initialization. + DTFCameraUnsupportedPreset, + + /// Error code indicates that no devices are available with the specified configuration. + DTFCameraNotAvailable, + + /// Error code indicates that the capture session has failed. + DTFCameraSessionFailure, +}; + +/// Modes that DTFCameraService supports +typedef NS_ENUM(NSInteger, DTFCameraMode) { + + /// Video + DTFCameraModeVideo, + + /// Still Image + DTFCameraModeStillImage + +}; + + +/** + A structure that stores camera configuration for associated camera service + */ +typedef struct camera_configuration_t{ + /// Focus Point of Interest + CGPoint focusPointOfInterest; +}camera_configuration; + + +/** + Delegate to comply in order to receive camera output. + */ +@protocol DTFCameraServiceDelegate + +@optional +/** + This function will be called by DTFCameraService to pass capture device output to the delegate. + + Implement this optional function and call -setDelegate: if you have set DTFCameraModeVideo and wish to receive output. + + @param captureOutput Output source that triggered this delegation. + @param sampleBuffer A CMSampleBuffer output from said output source. + @param connection The AVCaptureConnection related to the output. + */ +- (void)cameraControllerCaptureOutput:(AVCaptureOutput *)captureOutput + didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer + fromConnection:(AVCaptureConnection *)connection; + +@end + +/** + Main interface of DTFCameraService. + */ +@interface DTFCameraService : NSObject + +/// Property that allows inspections the current configuration of DTFCameraService +@property(nonatomic, assign, readonly)camera_configuration configuration; + +/// Preview layer of the capture session. Add this layer as a sublayer to a view to inspect the device output. +@property(nonatomic, strong) AVCaptureVideoPreviewLayer *previewLayer; + +/// 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. + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + Initialize the camera service. + + If DTFCameraInitKeyCaptureDevicePosition is not specified in config, AVCaptureDevicePositionFront will be used as camera position. + + If DTFCameraInitKeySessionPreset is not specified in config, AVCaptureSessionPresetHigh will be used as quality preset. + + If DTFCameraInitKeyVideoOutputOrientation is not specified in config, output orientation will not be set. Video will be AVCaptureVideoOrientationLandscapeRight, and StillImage will be AVCaptureVideoOrientationPortrait. + + If DTFCameraInitKeyMode is not specified in config, DTFCameraModeVideo will be used as video output. + + @param config An NSDictionary that contains configuration keys and associated values to specify initialization requirements. + @param errPtr An optional error receiver for initialization failures. Use nil if error information is not needed. + @return If initialization is successful, a instance of DTFCameraService is returned. Anything failture during initialization would cause this initialzer to return nil. + */ +- (instancetype)initWithConfig:(NSDictionary *)config error:(NSError **)errPtr; + +/** + Set delegate that DTFCameraService can service + + @param delegate An instance of class that implements DTFCameraServiceDelegate + */ +- (void)setDelegate:(id) delegate; + +/** + Change one configuration value in camera_configuration. + + @param key Configuration key + @param value Properly formatted in-range value as a string + @return YES if configuration was successfully changed. NO otherwise. + */ +- (BOOL)changeConfiguration:(NSString *)key + desiredValue:(NSString *)value; + +- (BOOL)setWhiteBalanceMode:(AVCaptureWhiteBalanceMode)mode; + +- (BOOL)setExposureMode:(AVCaptureExposureMode)mode; + +- (void)setWhiteBalanceParam:(DTFChameleonUtilsModel *)cameraParam completionHandler:(void (^ _Nullable)(NSError *error))handler; + +- (void)resetVideoZoom; + +/** + Start the capture session. + + The capture session needs to be started manually. This is a synchronous operation. + */ +- (void)startCameraCompletion:(void (^)(void))completionBlock; + +/** + Stop the capture session. + + This is a synchronous operation. + */ +- (void)stopCamera; + +/** + Capture a still image asynchronously. + + @param completion Completion delegate when the capture process finishes. For required parameters see DTFCameraTakePhotoCompletion. + */ +- (void)takePicture:(DTFCameraTakePhotoCompletion)completion; + +//切换闪光灯状态 +- (void)flashOff; + +- (void)flashOn; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFAuthorityUtils.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFAuthorityUtils.h new file mode 100644 index 00000000..2566c3a2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFAuthorityUtils.h @@ -0,0 +1,31 @@ +// +// DTFAuthorityUtils.h +// DTFUtility +// +// Created by 程佳兵(威琦) on 2025/5/21. +// Copyright © 2025 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFAuthorityUtils : NSObject + +/// 请求相册权限 ++ (void)checkAlbumAuthorityGranted:(void (^)(void))grantedBlock notPermission:(void (^)(void))notPermissionBlock; + +///获取当前相册权限 ++ (PHAuthorizationStatus)getCurrenAlbmAuthorityStatus; + +///获取当前拍摄权限 ++ (AVAuthorizationStatus)getCurrentVideoMediaTypeoStatus; + +/// 请求 拍摄权限 ++ (void)requestAccessForVideoMediaType:(void (^)(void))grantedBlock notPermission:(void (^)(void))notPermissionBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFBaseAuthFacade.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFBaseAuthFacade.h new file mode 100644 index 00000000..e5131af5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFBaseAuthFacade.h @@ -0,0 +1,41 @@ +// +// DTFBaseAuthFacade.h +// DTFUtility +// +// Created by mengbingchuan on 2024/1/19. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +#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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFBeanService.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFBeanService.h new file mode 100644 index 00000000..767edbc7 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFBeanService.h @@ -0,0 +1,26 @@ +// +// DTFBeanService.h +// DTFUtility +// +// Created by mengbingchuan on 2023/6/8. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +#import "DTFFaceIdentityProtocol.h" +#import "DTFNFCIdentityProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFBeanService : NSObject + +@property(nonatomic, strong) id faceIdentity; +@property(nonatomic, strong) id nfcIdentity; + ++ (DTFBeanService *)sharedInstance; + +- (void)setup; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFChameleonUtilsModel.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFChameleonUtilsModel.h new file mode 100644 index 00000000..d4bdcf98 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFChameleonUtilsModel.h @@ -0,0 +1,21 @@ +// +// DTFChameleonUtilsModel.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/10/21. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFConfiguration.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFConfiguration.h new file mode 100644 index 00000000..3b40fb0c --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFConfiguration.h @@ -0,0 +1,68 @@ +// +// DTFConfiguration.h +// DTFSensorServices +// +// Created by sanyuan.he on 2020/2/25. +// Copyright © 2020 DTF. All rights reserved. +// + +#import +#import +#import +#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" + +@interface DTFConfiguration : NSObject + +@property(nonatomic, strong, nullable) NSString *forceDirection; +@property(nonatomic, strong ,nullable) NSData *imageContent; +@property(nonatomic, strong ,nullable) NSString *platformInfo; +@property(nonatomic, strong ,nullable) NSURL *photinusPath; +@property(nonatomic, strong ,nullable) NSURL *photinusInfo; +@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, copy, nullable) NSDictionary *flowCodeInfo; +@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, 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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFConstant.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFConstant.h new file mode 100644 index 00000000..1d81f34b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFConstant.h @@ -0,0 +1,56 @@ +// +// DTFConstant.h +// DTFIdentityManager +// +// Created by mengbingchuan on 2022/11/24. +// Copyright © 2022 DTF. All rights reserved. +// + +#import + +//ext params keys +extern NSString *const kZIMInitOperationTypeKey; //init operation type +extern NSString *const kZIMValidateOperationTypeKey; //validate operation type +extern NSString *const kZIMGatewayURLKey; //rpc gateway url +extern NSString *const kZIMRpcHeaderKey; //ext rpc header +extern NSString *const kZIMCurrentViewControllerKey; // current view controller +extern NSString *const kZIMViewProviderKey; +extern NSString *const kZIMFastUploadKey; +extern NSString *const kZIMBisProtocolKey; +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_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; diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFErrorCodeConfig.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFErrorCodeConfig.h new file mode 100644 index 00000000..afbc14cf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFErrorCodeConfig.h @@ -0,0 +1,156 @@ +// +// DTFErrorCodeConfig.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/2/1. +// Copyright © 2023 com.DTF.iphoneclient.zoloz. All rights reserved. +// + +#ifndef DTFErrorCodeConfig_h +#define DTFErrorCodeConfig_h + + +#endif /* DTFErrorCodeConfig_h */ + +static NSString *const kDTFSystemFailedErrorCode = @"Z1000"; +static NSString *const kDTFSystemFailedErrorMessage = @""; +static NSString *const kBioAuthEngineSystemFailedErrorMessage = @"抱歉,系统出错了,请您稍后再试(Z1000)"; +static NSString *const kBioAuthEngineSystemFailedErrorReason = @"协议base64解析失败"; + +static NSString *const kDTFDenyCameraPermissionErrorCode = @"Z1001"; +static NSString *const kDTFDenyCameraPermissionErrorMessage = @""; +static NSString *const kAPBDenyCameraPermissionErrorMessage = @"拒绝开通授权"; +static NSString *const kDTFUnableStartCameraErrorCode = @"Z1002"; +static NSString *const kDTFUnableStartCameraErrorMessage = @"无法启动相机(Z1002)"; +static NSString *const kDTFUnableStartCameraErrorReason = @"无法启动相机"; +static NSString *const kDTFOldVersionErrorCode = @"Z1004"; +static NSString *const kDTFOldVersionErrorMessage = @"iOS系统版本过低(Z1004)"; +static NSString *const kDTFOldVersionErrorReason = @"iOS系统版本过低"; +static NSString *const kDTFOperationTimeoutErrorCode = @"Z1005"; +static NSString *const kDTFOperationTimeoutErrorMessage = @"操作超时(Z1005)"; +static NSString *const kDTFOperationFailedErrorCode = @"Z1006"; +static NSString *const kDTFOperationFailedErrorMessage = @"本次操作失败(Z1006)"; +static NSString *const kDTFLocalAuthenticationFailedErrorCode = @"Z1007"; +static NSString *const kDTFLocalAuthenticationFailedErrorMessage = @""; +static NSString *const kDTFActivelyExitErrorCode = @"Z1008"; +static NSString *const kDTFActivelyExitErrorMessage = @"用户主动退出(Z1008)"; +static NSString *const kDTFActivelyExitErrorReason = @"用户主动退出"; +static NSString *const kDTFVerificationInterruptErrorCode = @"Z1009"; +static NSString *const kDTFVerificationInterruptErrorMessage = @"验证中断(Z1009)"; +static NSString *const kDTFNotVerifyTemporarilyErrorCode = @"Z1009"; +static NSString *const kDTFNotVerifyTemporarilyErrorMessage = @"用户暂不认证(Z1009)"; +static NSString *const kNotVerifyTemporarilyReason = @"用户暂不认证"; +static NSString *const kGuideViewLoadFailedErrorCode = @"2002"; +static NSString *const kGuideViewLoadFailedErrorMessage = @"引导页加载失败"; +static NSString *const kGuideViewLoadFailedReason = @"网络错误"; +static NSString *const kDTFParameterFailedErrorCode = @"Z1010"; +static NSString *const kDTFParameterFailedErrorMessage = @"业务参数错误(Z1010)"; +static NSString *const kDTFParameterFailedErrorReason = @"currentCtr isEmpty"; +static NSString *const kDTFInitFailedErrorCode = @"Z1012"; +static NSString *const kDTFInitFailedErrorMessage = @""; +static NSString *const kDTFAlgorithmInitFailedErrorCode = @"Z1014"; +static NSString *const kDTFAlgorithmInitFailedErrorMessage = @"(Z1014)"; +static NSString *const kDTFOpenCameraFailedErrorCode = @"Z1020"; +static NSString *const kDTFOpenCameraFailedErrorMessage= @"(Z1020)"; +static NSString *const kDTFModelFileErrorCode = @"Z1023"; +static NSString *const kDTFModelFileErrorMessage = @"(Z1023)"; +static NSString *const kDTFZimBusyErrorCode = @"Z1024"; +static NSString *const kDTFZimBusyErrorMessage = @"(Z1024)"; +static NSString *const kDTFZimBusyErrorReason = @"认证进行中重复调用认证"; +static NSString *const kDTFProcessInterruptionErrorCode = @"Z1055"; +static NSString *const kDTFProcessInterruptionErrorMessage = @"流程被中断(Z1055)"; +static NSString *const kDTUploadImageFailedErrorCode = @"Z1026"; +static NSString *const kDTFUploadImageFailedErrorMessage = @""; +static NSString *const kDTFVerifyFailedErrorCode = @"Z1027"; +static NSString *const kDTFVerifyFailedErrorMessage = @"网络不给力(Z1027)"; +static NSString *const kDTFVerifyLimitFailedErrorCode = @"Z1028"; +static NSString *const kDTFVerifyLimitFailedErrorMessage = @"网络错误(network error)(2002)"; +static NSString *const kDTFMultiFactorFacadeVersionNotSupportedErrorCode = @"Z1029"; +static NSString *const kDTFMultiFactorFacadeVersionNotSupportedErrorMessage = @"网络错误(network error)(2002)"; +static NSString *const kDTFRecordingPermissionErrorCode = @"Z1030"; +static NSString *const kDTFRecordingPermissionErrorMessage = @"录音权限未赋予(Z1030)"; +static NSString *const kDTFRecordingPermissionErrorReason = @"录音权限未赋予"; +static NSString *const kDTFReplayKitPermissionErrorCode = @"Z1031"; +static NSString *const kDTFReplayKitPermissionErrorMessage = @"录屏权限未赋予(Z1031)"; +static NSString *const kDTFReplayKitPermissionErrorReason = @"录屏权限未赋予"; +static NSString *const kDTFMicPermissionErrorCode = @"Z1032"; +static NSString *const kDTFMicPermissionErrorMessage = @"麦克风打开失败(Z1032)"; +static NSString *const kDTFMicPermissionErrorReason = @"麦克风打开失败"; +static NSString *const kDTFReplayKitOpenFailedErrorCode = @"Z1033"; +static NSString *const kDTFReplayKitOpenFailedErrorMessage = @"录屏打开失败(Z1033)"; +static NSString *const kDTFReplayKitOpenFailedErrorReason = @"录屏打开失败"; +static NSString *const kDTFInsufficientDiskErrorCode = @"Z1034"; +static NSString *const kDTFInsufficientDiskErrorMessage = @"本地存储空间过小(Z1034)"; +static NSString *const kDTFInsufficientDiskErrorReason = @"本地存储空间过小"; +static NSString *const kDTFMultiFactorFacadeRotationErrorCode = @"Z1035"; +static NSString *const kDTFMultiFactorFacadeRotationErrorMessage = @""; +static NSString *const kDTFZimidIsEmptyErrorCode = @"Z1037"; +static NSString *const kDTFZimidIsEmptyErrorMessage = @"业务参数错误(Z1037)"; +static NSString *const kDTFZimidIsEmptyErrorReason = @"ZimID isEmpty"; +static NSString *const kDTFProtocolIsEmptyErrorCode = @"Z1038"; +static NSString *const kDTFProtocolIsEmptyErrorMessage = @""; +static NSString *const kDTFMaxRetryErrorCode = @"Z1041"; +static NSString *const kDTFMaxRetryErrorMessage = @""; +static NSString *const kDTFOCRConfirmationResultsErrorCode = @"Z1042"; +static NSString *const kDTFOCRConfirmationResultsErrorMessage = @""; +static NSString *const kDTFOcrUserQuitInAuthenticationCompletedErrorCode = @"Z2000"; +static NSString *const kDTFOcrOcrUserQuitInAuthenticationCompletedErrorReason = @"身份证认证完成,未进入刷脸,用户点击了退出"; +static NSString *const kDTFOcrOcrUserQuitInAuthenticationCompletedErrorMessage = @"用户OCR主动退出(Z2000)"; +static NSString *const kDTFOcrActivelyExitErrorCode = @"Z2001"; +static NSString *const kDTFOcrActivelyExitErrorReason = @"用户未认证,直接点击了退出"; +static NSString *const kDTFOcrActivelyExitErrorMessage = @"用户OCR主动退出(Z2001)"; +static NSString *const kDTFOcrUserQuitInPortraitAuthenticationErrorCode = @"Z2002"; +static NSString *const kDTFOcrUserQuitInPortraitAuthenticationErrorReason = @"人像面证面认证后退出"; +static NSString *const kDTFOcrUserQuitInPortraitAuthenticationErrorMessage = @"用户OCR主动退出(Z2002)"; +static NSString *const kDTFOcrUserQuitInEmblemAuthenticationErrorCode = @"Z2003"; +static NSString *const kDTFOcrUserQuitInEmblemAuthenticationErrorReason = @"国徽面证面认证后退出"; +static NSString *const kDTFOcrUserQuitInEmblemAuthenticationErrorMessage = @"用户OCR主动退出(Z2003)"; +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"; +static NSString *const kDTFOcrNetworkFailedErrorMessage = @""; +static NSString *const kDTFFaceImageIsEmptyErrorCode = @"Z6004"; +static NSString *const kDTFFaceImageIsEmptyErrorMessage = @"(Z6004)"; +static NSString *const kProtocolErrorCode = @"Z7001"; +static NSString *const kProtocolErrorErrorMessage = @"内部错误(Z7001)"; +static NSString *const kProtocolErrorReason = @"ZIMInternalError"; +static NSString *const kNetworkErrorCode = @"2002"; +static NSString *const kNetworkErrorMessage = @"网络错误(network error)(2002)"; +static NSString *const kNetworkErrorReason = @"ZIMNetworkfail"; +static NSString *const kTimeExpiredNetworkErrorCode = @"2003"; +static NSString *const kTimeExpiredNetworkErrorMessage = @"设备时间不对,请确认时间。"; +static NSString *const kTimeExpiredNetworkErrorReason = @"ZIMTIMEError"; +static NSString *const kLimitTrafficErrorCode = @"1006"; +static NSString *const kColorParamErrorCode = @"2006"; +static NSString *const kColorParamErrorMessage = @"业务参数错误(2006)"; +static NSString *const kColorParamErrorReason = @"颜色值位数不是6位"; +static NSString *const kModelFileErrorCode = @"2006"; +static NSString *const kModelFileErrorMessage = @"模型文件不存在(2006)"; +static NSString *const kModelFileErrorReason = @"传入的模型文件路径不正确"; +static NSString *const kModelFileDownloadErrorCode = @"Z1040"; +static NSString *const kInitFailErrorReason = @"InitFail"; +static NSString *const kZIMValidationSuccessReason = @"ZIMValidationSuccess"; +static NSString *const kZIMValidationRetryReason = @"ZIMValidationRetry"; +static NSString *const kZIMValidationFailReason = @"ZIMValidationFail"; +static NSString *const kZIMInternalErrorReason = @"ZIMInternalError"; +static NSString *const kInvalidValidateCodeReason = @"InvalidValidateCode"; +static NSString *const kSystemErrorMessage = @"系统错误,请稍候再试。"; + +static NSString *const kSkippingPhotinusReason = @"skippingPhotinus"; +static NSString *const kSkippingPhotinusMessage = @"initializationFailure"; +static NSString *const kCameraGivesNoInputMessage = @"cameraGivesNoInput"; +static NSString *const kInterruptedMessage = @"interrupted"; + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFFaceIdentityProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFFaceIdentityProtocol.h new file mode 100644 index 00000000..fd9e538f --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFFaceIdentityProtocol.h @@ -0,0 +1,32 @@ +// +// DTFIdentityProtocol.h +// DTFUtility +// +// Created by mengbingchuan on 2023/6/7. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// +#import +#import "ZIMResponse.h" +#import "DTFRPCProxyProtocol.h" + +@protocol DTFFaceIdentityProtocol + +- (void)initSDK; + +- (void)initIPv6; + +- (NSString *)getVersion; + +- (void)setDataProtocolVersion:(NSString *)version; + +- (void)setRpcProxy:(id)proxy; + +- (NSDictionary *)getMetaInfo; + +- (void)preload:(NSDictionary *)param completion:(void (^)(BOOL success))completion; + +- (void)verifyWith:(NSString *)zimId + extParams:(NSDictionary *)params + onCompletion:(void (^)(ZIMResponse *response))callback; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFImageUtils.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFImageUtils.h new file mode 100644 index 00000000..6c340949 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFImageUtils.h @@ -0,0 +1,27 @@ +// +// DTFImageUtils.h +// DTFUtility +// +// Created by 程佳兵(威琦) on 2025/5/21. +// Copyright © 2025 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef enum : NSUInteger { + DTFImageSourceCamera, + DTFImageSourcePhoto +} DTFImageSource; + +@interface DTFImageUtils : NSObject +/// 图片压缩 ++ (NSData *)compressImage:(UIImage *)image toByte:(NSUInteger)maxLength; + +/// 图片裁剪 ++ (UIImage *)cropedImageData:(CGRect)cropRect data:(UIImage *)image; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLanguageCustomConfig.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLanguageCustomConfig.h new file mode 100644 index 00000000..e9ef1bbd --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLanguageCustomConfig.h @@ -0,0 +1,288 @@ +// +// DTFLanguageCustomConfig.h +// DTFUtility +// +// Created by 汪澌哲 on 2024/1/8. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +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 *authPermissionToastAlbumTitle; +@property (nonatomic, copy) NSString *authPermissionToastAlbumMsg; +@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; +@property (nonatomic, copy) NSString *suitableExit; + +@end + +@interface DTFLanguageCustomDocConfig : NSObject + +@property (nonatomic, copy) NSString *stageFrontTips;//人像面 +@property (nonatomic, copy) NSString *stageBackTips;//国徽面 +@property (nonatomic, copy) NSString *stageLivenessTips;//实人认证 +@property (nonatomic, copy) NSString *frontInfoTips;//拍摄人像面 +@property (nonatomic, copy) NSString *frontInfoBottomTips;//证件人像面 +@property (nonatomic, copy) NSString *backInfoBottomTips;//证件国徽面 +@property (nonatomic, copy) NSString *backInfoTips;//拍摄国徽面 +@property (nonatomic, copy) NSString *takeRequireTxt;//拍摄要求 +@property (nonatomic, copy) NSString *takeRequireTitle;//拍摄要求 +@property (nonatomic, copy) NSString *resultCheckTips;//请确认以下身份信息,如有误请点击修改 +@property (nonatomic, copy) NSString *certNameTitle;//姓名 +@property (nonatomic, copy) NSString *certNameHint;//请输入姓名 +@property (nonatomic, copy) NSString *certNoTitle;//身份证号 +@property (nonatomic, copy) NSString *certNoHint;//请输入身份证号 +@property (nonatomic, copy) NSString *nextTxt;//下一步 +@property (nonatomic, copy) NSString *confirmTxt;//确认身份信息无误 +@property (nonatomic, copy) NSString *livenessTips;//实人认证 +@property (nonatomic, copy) NSString *livenessMsg;//拍摄您本人人脸,请确保正对手机,光线充足 +@property (nonatomic, copy) NSString *livenessLoadingMsg;//即将进入刷脸页... +@property (nonatomic, copy) NSString *dialogIdentityFailTitle;//识别失败 +@property (nonatomic, copy) NSString *dialogIdentityFailRequireTitle;//证件图像未符合要求 +@property (nonatomic, copy) NSString *dialogIdentityFailRequireMsg;//请按要求拍摄本人有效身份证 +@property (nonatomic, copy) NSString *dialogIdentityFailRetry;//重新拍摄 +@property (nonatomic, copy) NSString *dialogIdentityFailReUpload;//重新上传 +@property (nonatomic, copy) NSString *dialogNetworkTimeOutTitle;//识别超时 +@property (nonatomic, copy) NSString *dialogNetworkTimeOutMsg;//网络连接超时,请重新识别 +@property (nonatomic, copy) NSString *dialogNetworkTimeOutConfirm;//重新识别 +@property (nonatomic, copy) NSString *dialogNetworkTimeOutCancel;//退出 +@property (nonatomic, copy) NSString *identityLoadingMsg;//识别中 +@property (nonatomic, copy) NSString *dialogExitTitle;//确定退出吗? +@property (nonatomic, copy) NSString *dialogExitMsg;//拍张照就能通过 +@property (nonatomic, copy) NSString *dialogExitCancel;//取消 +@property (nonatomic, copy) NSString *dialogExitConfirm;//确定 +@property (nonatomic, copy) NSString *dialogTooManyRetriesTitle;//识别失败次数过多 +@property (nonatomic, copy) NSString *dialogTooManyRetriesMsg;//请退出后重试 +@property (nonatomic, copy) NSString *dialogTooManyRetriesConfirm;//退出 +@property (nonatomic, copy) NSString *dialogNoPermissionTitle;//温馨提示 +@property (nonatomic, copy) NSString *dialogNoPermissionMsg;//请打开摄像头权限 +@property (nonatomic, copy) NSString *dialogNoPermissionCancel;//取消 +@property (nonatomic, copy) NSString *dialogNoPermissionToSet;//去设置 +@property (nonatomic, copy) NSString *takeFrontTips;//拍摄身份证人像面 +@property (nonatomic, copy) NSString *takeBackTips;//拍摄身份证国徽面 +/// 图片来源弹框“拍照”文案 +@property (nonatomic, copy) NSString *chooseTakePhoto; +//图片来源弹框“从相册中选择”文案 +@property (nonatomic, copy) NSString *chooseFromAlbum; +/// 图片来源弹框“取消”文案 +@property (nonatomic, copy) NSString *chooseCancel; +/// 请打开相册权限 +@property (nonatomic, copy) NSString *dialogNoAlbumPermissionMsg; + +@property (nonatomic, assign) BOOL successConfigFlag;//配置成功标志 +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; + +@end + +/// NFC 自定义文案 +@interface DTFLanguageCustomNFCConfig : NSObject + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; + +@property (nonatomic, assign) BOOL successConfigFlag;//配置成功标志 + +/// NFC识别 +@property (nonatomic, copy) NSString *configTitle; + +///证件号码 +@property (nonatomic, copy) NSString *cardNo; + +/// 请输入9位证件号码 +@property (nonatomic, copy) NSString *cardNoHint; + +/// 出生日期 +@property (nonatomic, copy) NSString *birthday; + +/// 有效期 +@property (nonatomic, copy) NSString *validity; + +/// 请选择 +@property (nonatomic, copy) NSString *validityHint; + +/// 请选择 +@property (nonatomic, copy) NSString *birthdayHint; + +///下一步 +@property (nonatomic, copy) NSString *nextStep; + +/// 确认 +@property (nonatomic, copy) NSString *datePickerConfirm; + +/// 取消 +@property (nonatomic, copy) NSString *datePickerCancel; + +///证件有效截止日期必须大于出生日期 +@property (nonatomic, copy) NSString *dialogConfigErrMsg; + +///提示 +@property (nonatomic, copy) NSString *dialogConfigErrTitle; + +/// 确定 +@property (nonatomic, copy) NSString *dialogConfigErrConfirm; + +/// 开始识别 +@property (nonatomic, copy) NSString *readTitle; + +/// 请准备好证件,点击开始读卡 +@property (nonatomic, copy) NSString *readHint; + +/// 开始读取 +@property (nonatomic, copy) NSString *beginRead; + +/// 已准备好扫描 +@property (nonatomic, copy) NSString *readDialogTitle; + +/// 取消 +@property (nonatomic, copy) NSString *readDialogCancel; + +/// 请将证件放在图示位置,静置%d秒 +@property (nonatomic, copy) NSString *readDialogHint; + +/// 读取证件失败,请重试 +@property (nonatomic, copy) NSString *readDialogTimeOut; + +/// 读取证件失败 +@property (nonatomic, copy) NSString *readDialogOutOfLimit; + +/// 证件认证失败 +@property (nonatomic, copy) NSString *authenticationError; + +/// 网络状况不佳,请检查网络后重试 +@property (nonatomic, copy) NSString *readDialogCheckNetworkAndRetry; + +/// 读卡失败 +@property (nonatomic, copy) NSString *readDialogNFCServiceError; + +/// 还需 %d 秒,请勿移动证件 +@property (nonatomic, copy) NSString *needTimeToRead; + +/// 读取失败,请勿移动 +@property (nonatomic, copy) NSString *readDialogCardMove; + +/// 您的证件信息填写有误\r\n请修改正确后重试 +@property (nonatomic, copy) NSString *readDialogDocConfigError; + +/// 读取异常,当前设备不支持此功能 +@property (nonatomic, copy) NSString *readDialogDeviceNotSupported; + +/// 不支持此类证件 +@property (nonatomic, copy) NSString *readDialogDocNotSupported; + +/// 读取成功 +@property (nonatomic, copy) NSString *readDialogSuccess; + +/// 正在处理 +@property (nonatomic, copy) NSString *verifyLoading; + +/// 提示 +@property (nonatomic, copy) NSString *dialogReadCardTitle; + +/// 确定 +@property (nonatomic, copy) NSString *dialogReadCardConfirm; + +/// 配置key 失败原因 +@property (nonatomic, copy) NSString *settingFailReason; + +@end + +@interface DTFLanguageCustomConfig : NSObject +@property (strong, nonatomic) DTFLanguageCustomGuideConfig *guideConfig; +@property (strong, nonatomic) DTFLanguageCustomFaceConfig *faceConfig; +@property (strong, nonatomic) DTFLanguageCustomDocConfig *docConfig; +@property (strong, nonatomic) DTFLanguageCustomNFCConfig *nfcConfig; + +- (instancetype)initWithString:(NSString *)string type:(NSString *)type error:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLanguageManager.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLanguageManager.h new file mode 100644 index 00000000..1eccfe60 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLanguageManager.h @@ -0,0 +1,40 @@ +// +// DTFLanguageManager.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/8/3. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +typedef void (^DTFLanguageDownloadCompletionBlock)(NSError * _Nullable error); + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFLanguageManager : NSObject + +@property (nonatomic, strong)NSString *ocrResultStr; +@property (nonatomic, strong)NSString *languageType; + ++ (instancetype)sharedInstance; + +- (BOOL)checkNeedPreload; +- (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 + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogAddions.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogAddions.h new file mode 100644 index 00000000..ca3c2382 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogAddions.h @@ -0,0 +1,66 @@ +// +// MPLogAdditions.h +// MPRemoteLogging +// +// Created by tashigaofei on 15/10/13. +// Copyright © 2015年. All rights reserved. +// + +#import + +@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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogFile.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogFile.h new file mode 100644 index 00000000..58c08271 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogFile.h @@ -0,0 +1,49 @@ +// +// APMmMPLogFile.h +// MPRemoteLogging +// +// Created by tashigaofei on 14-6-16. +// Copyright (c) 2014年 Alpay. All rights reserved. +// + +#import + +@class DTFLogIndex; +typedef BOOL (^FileFilter) (CFTimeInterval time); + +@interface DTFLogFile : NSObject +@property (nonatomic, assign) BOOL uploadable; +@property (nonatomic, assign) unsigned long triggerCount; +@property (nonatomic, copy) FileFilter timeFilter; +@property (nonatomic, assign) off_t size; +@property (nonatomic, assign) unsigned long unSyncCount; + ++(instancetype) logFileWithName:(NSString *) name; +-(DTFLogIndex*) writeLog:(NSString *)logString; +-(NSData *) dataForIndex:(DTFLogIndex *) index; +-(void) markIndex:(DTFLogIndex *) index; +-(NSArray *) makeUnSyncLogIndex; +-(void) removeWeakCache; +-(NSString *)description; +-(void) markFile; +-(BOOL) isMarked; ++(char*)checkCode; +-(BOOL)shouldFlush; +-(BOOL) isUsing; +-(BOOL)isExist; + +@end + +@interface DTFLogIndex : NSObject +@property (nonatomic, assign) char flag; +@property (nonatomic, assign) NSUInteger offset; +@property (nonatomic, assign) NSUInteger length; +@property (nonatomic, assign) CFTimeInterval time; +@property (nonatomic, strong) DTFLogFile *file; + +- (NSString*)uniqueId; + +@end + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogFormatter.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogFormatter.h new file mode 100644 index 00000000..f4c1c4e8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogFormatter.h @@ -0,0 +1,23 @@ +// +// APLogFormater.h +// APRemoteLogging +// +// Created by tashigaofei on 14-6-23. +// Copyright (c) 2014年 DTF. All rights reserved. +// + +#import +#import "DTFMonitorPointDataDefines.h" +#import "DTFLogSetting.h" + +@interface DTFLogFormatter : NSObject + +@property (nonatomic, strong) NSString *sdkVersion; + +- (NSString *)stringFromLog:(NSDictionary *) logDict; ++ (NSString *)timestampString; ++ (NSString *)getDatetimeString:(NSTimeInterval)time; ++ (NSString *)resolutionString; ++ (NSArray *)keyPaths; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogManager.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogManager.h new file mode 100644 index 00000000..86e6751c --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogManager.h @@ -0,0 +1,62 @@ +// +// APRemoteLogManager.h +// APRemoteLogging +// +// Created by tashigaofei on 14-6-23. +// Copyright (c) 2014年 DTF. All rights reserved. +// + +#import +#import "DTFLogFile.h" +#import "DTFLogFormatter.h" + +typedef void (^NetworkUploadCompletion)(BOOL); +typedef void (^NetworkUploadBlock)(NSDictionary *,NetworkUploadCompletion); + +@class MPLoggingContext; + +@interface DTFLogManager : NSObject + +@property(nonatomic, copy) NetworkUploadBlock networkUploadBlock; +typedef void (^LogCallback)(NSDictionary *logData); + ++(instancetype)sharedInstance; + ++ (void)setLogCallback:(LogCallback)logCallback; + +-(void)writeLogWithContext:(MPLoggingContext *) context; +-(void)flushAllLog; +-(void)setupTimeForCheckFileSize; +- (void)startUploadLog; +@end + +@interface MPLoggingContext : NSObject +@property (nonatomic, assign) MPLogType logType; +@property (nonatomic, strong) DTFLogFormatter *formatter; +@property (nonatomic, strong) NSMutableDictionary * logDict; +@property (nonatomic, strong) NSString *bizType; + +@end + +NSString * MPLogPathForFile(NSString * name); +DTFLogFile* DTFLogFileForContext(MPLoggingContext *context); +NSData* MPLogRSAEncrypt(NSData * data); +NSString*MPLogAESEncrypt(NSString *key, NSString *data); +NSString* MPLogBase64EncodedString(NSData *data, int wrapWidth); +NSData*MPLogBase64DecodedString(NSString *string); +NSString* MPLogMD5String(NSString *string); +NSData* MPLogGZipCompress(NSData *data); +NSString* MPLogGetNetworkName(); +NSString *MPLogGetCarrierName(); + +typedef enum : NSInteger { + MPLogNotReachable = 0, + MPLogReachableViaWiFi, + MPLogReachableViaWWAN +} MPLogNetworkStatus; + +@interface MPSafeMap : NSObject +- (id)objectForKeyedSubscript:(id )key; +- (void)setObject:(id)obj forKeyedSubscript:(id )key; +- (void)removeObjectForKey:(id)aKey; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogMonitor.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogMonitor.h new file mode 100644 index 00000000..726572a3 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogMonitor.h @@ -0,0 +1,53 @@ +// +// DTFLogMonitor.h +// BioAuthEngine +// +// Created by richard on 22/03/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import + + +static NSString *kPrivateUCID = @"UC-YWRLSB-160425-02"; +static NSString *kPrivateSeedId = @"techSeed"; + + +@interface DTFLogMonitor : NSObject + ++(instancetype)getInstance; + ++ (void)setSDKVersion:(NSString *)version; + ++ (void)setUploadBlock:(void (^) (NSDictionary *,void (^)(BOOL)))block; + +- (void)addPublicLog:(NSDictionary *)logDic; +- (void)setupBaseExtInfo; + +- (void)addDebugMonitorLogWithSeedId:(NSString *)seedId + extParam:(NSDictionary *)extParam; + +- (void)addMonitorLogWithSeedId:(NSString *)seedId + extParam:(NSDictionary *)extParam; + +- (void)addMonitorLogWithSeedId:(NSString *)seedId + ucId:(NSString *)ucId + extParam:(NSDictionary *)extParam; + +- (void)addMonitorLogWithSeedId:(NSString *)seedId + param:(NSString *)param + extParam:(NSDictionary *)extParam; +// param: 可搜索 +- (void)addMonitorLogWithSeedId:(NSString *)seedId + ucId:(NSString *)ucId + param:(NSString *)param + extParam:(NSDictionary *)extParam; + + ++(NSDictionary *)getPublicLogDic:(NSDictionary *)publicParam; + ++(NSDictionary *)getExtLogDic:(NSDictionary *)p4; + ++ (void)distantUploadlog; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogSetting.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogSetting.h new file mode 100644 index 00000000..39bb36c2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFLogSetting.h @@ -0,0 +1,32 @@ +// +// MPLogSetting.h +// APRemoteLogging +// +// Created by tashigaofei on 15/3/16. +// Copyright (c) 2015年 DTF. All rights reserved. +// + +#import + +NSString * MPLogGetUUID(); +NSString * MPLogGetUTDID(); +NSString * MPLogGetClientID(); +NSString * MPLogGetSystemType(); +NSString * MPLogGetSystemVersion(); +NSString * MPLogGetDeviceMode(); +NSString * MPLogGetUserID(); +NSString * MPLogGetPlatformID(); +NSString * MPLogGetConfigServerURL(); +NSString * MPLogGetLogServerURL(); +NSString * MPLogGetNetwork(); +NSString * MPLogGetLanguage(); +NSString * MPLogGetVoiceOver(); +NSString * MPLogGetCarrier(); + + +void MPLogSetClientVersion(NSString * clientVersion); +void MPLogSetPlatformID(NSString * platformID); +void MPLogSetConfigServerURL(NSString * url); +void MPLogSetLogServerURL(NSString * url); +void MPLogSetClientID(NSString * clientID); +void MPLogSetLanguage(NSString * language); diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMonitorCommonData.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMonitorCommonData.h new file mode 100644 index 00000000..8370dce8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMonitorCommonData.h @@ -0,0 +1,38 @@ +// +// DTFMonitorCommonData.h +// BioAuthEngine +// +// Created by richard on 19/03/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import + +@interface DTFMonitorCommonData : NSObject + +@property (nonatomic,strong) NSString* serviceLevel; + +// 端侧上报UUID: init、verify、OCR +@property (nonatomic,strong) NSString* beginTraceIDValue; +@property (nonatomic,strong) NSString* verifyTraceIDValue; +@property (nonatomic,strong) NSString* ocrTraceIDValue; + +@property (nonatomic,strong) NSString* beginTraceIDKey; +@property (nonatomic,strong) NSString* verifyTraceIDKey; +@property (nonatomic,strong) NSString* ocrTraceIDKey; + + + ++ (instancetype)getInstance; + +- (NSString *)getToken; + +- (NSInteger)getIndex; + +- (void)resetValue; + +- (NSDictionary *)getCommonMonitorData; + +- (NSDictionary *)getBase64CommonMonitorData; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMonitorPointDataDefines.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMonitorPointDataDefines.h new file mode 100644 index 00000000..6dda301d --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMonitorPointDataDefines.h @@ -0,0 +1,153 @@ +// +// MPMonitorPointDataDefines.h +// +// +// Created by tudou on 12-1-5. +// Copyright (c) 2012年 DTF. All rights reserved. +// +/** + * 埋点预定义的可用actionID,只可以用预设的,否则服务器不识别 + */ +static NSString * const kValue_CrashLogFlag = @"MonitorPoint_Crash"; + + +//static NSString * const kActionID_Manual_perf = @"monitorPerf"; //性能监控标志 +//static NSString * const kActionID_Clicked = @"clicked"; +//static NSString * const kActionID_LongClicked = @"longClicked"; +//static NSString * const kActionID_Submtted = @"submited"; +//static NSString * const kActionID_BizLaunched = @"bizLaunched"; +//static NSString * const kActionID_SetGesture = @"setGesture"; +//static NSString * const kActionID_CheckGesture = @"checkGesture"; +//static NSString * const kActionID_NetBroken = @"netBroken"; +//static NSString * const kActionID_Monitor = @"monitor"; +//static NSString * const KActionID_Slided = @"slided"; +//static NSString * const KActionID_None = @"none"; +//static NSString * const kActionID_OPENPAGE = @"openPage"; +//static NSString * const KActionID_AutoClicked = @"auto_clicked"; +//static NSString * const KActionID_AutoClick = @"auto_click"; +//static NSString * const KActionID_AutoOpenPage = @"auto_openPage"; +//static NSString * const KActionID_AutoEvent = @"auto_event"; +//static NSString * const KActionID_Event = @"event"; +//static NSString * const KActionID_FingerIdenty = @"fingerIdenty"; +//static NSString * const KActionID_MonitorReport = @"MonitorReport"; +//static NSString * const KActionID_Exposure = @"exposure"; +//static NSString * const KActionID_Page_monitor = @"page_monitor"; +// +// +//static NSString * const kActionID_Exception = @"exception"; +//static NSString * const KActionID_Error = @"error"; +//static NSString * const kActionID_FlashBroken = @"flashBroken"; + + + +//性能埋点的actionID +static NSString * const KActionID_PerformanceNetwork = @"network"; +static NSString * const KActionID_PerformanceMobSDK = @"mobsdk"; +static NSString * const KActionID_PerformanceWebApp = @"webapp"; +static NSString * const KActionID_PerformancePackage = @"package"; +static NSString * const KActionID_PerformancePage = @"page"; +static NSString * const KActionID_PerformanceInterface = @"interface"; +static NSString * const KActionID_PerformanceMemory = @"memory"; +static NSString * const KActionID_PerformanceSdkMonitor = @"sdkmonitor"; + +#pragma mark - +#pragma mark 埋点id +#pragma mark - + +static NSString * const kRecordTime = @"timestamp"; +static NSString * const kPlatformID = @"platformID"; //客户端ID +static NSString * const kClientVersion = @"clientVersion";//客户端版本 +static NSString * const kInternalVersion = @"InternalVersion";//内部版本 +static NSString * const kLogModleVersion = @"logModelVersion";//日志版本 +static NSString * const kClientId = @"clientId"; //设备ID +static NSString * const kUUID = @"UUID"; //会话ID +static NSString * const kUserID = @"userID"; +static NSString * const kActionID = @"actionID";//行为id (clicked,submited,bizLaunched) +static NSString * const kActionStatus = @"actionStatus"; +static NSString * const kStatusMsg = @"statusMsg"; +static NSString * const kBizID = @"bizID"; +static NSString * const kBizVersion = @"bizVersion"; +static NSString * const kCurrentViewID = @"currentViewID"; +static NSString * const kLastViewID = @"lastViewID"; +static NSString * const kActionSeed = @"logID"; //埋点ID +static NSString * const kWapURL = @"wapURL"; +static NSString * const kActionOwnerType = @"actionType"; +static NSString * const kLogOwnerType = @"logType"; +static NSString * const kExArg1 = @"stayDuration"; +static NSString * const kExArg2 = @"arg2"; +static NSString * const kExArg3 = @"renderConsume"; +static NSString * const kExArg4 = @"arg4"; +static NSString * const kExArg5 = @"sourceID"; +static NSString * const kRequestid = @"unitID"; //流水号 +static NSString * const UTDID = @"utdID"; //cookie +static NSString * const ucID = @"ucID"; +static NSString * const kIndex = @"index"; +static NSString * const kLogLastViewID = @"logLastViewID"; +static NSString * const kLogCurrentViewID = @"logCurrentViewID"; +static NSString * const kExceptionType = @"ExceptionType"; +static NSString * const kAppStack = @"AppStack"; +static NSString * const kVcStack = @"VcStack"; +static NSString * const kAppPackageType = @"AppPackageType"; +static NSString * const kAttachment = @"Attachment"; //附加信息 +static NSString * const kHeader = @"header"; +static NSString * const kExtension = @"extension"; +static NSString * const kResolution = @"resolution"; +static NSString * const kSessionid = @"session_id"; +static NSString * const kHotpatchVersion = @"HotpatchVersion"; + +#pragma mark - +#pragma mark Performance Log Key + +static NSString * const kActionControlID = @"ActionControlID"; +static NSString * const kActionToken = @"ActionToken"; +static NSString * const kActionDescription = @"ActionDescription"; +static NSString * const kMonitorType = @"MonitorType"; +static NSString * const kMonitorSubType = @"MonitorSubType"; +static NSString * const kSystemType = @"SystemType"; +static NSString * const kMPSystemVersion = @"MPSystemVersion"; +static NSString * const kNetworkType = @"NetworkType"; +static NSString * const kDeviceModel = @"kDeviceModel"; +static NSString * const kInnerVersion = @"InnerVersion"; +static NSString * const kDistributionChannel = @"DistributionChannel"; +static NSString * const kLanguage = @"Language"; + +#pragma mark - +#pragma mark other keys +// android only 仅仅是为了和安卓保持日志模型一致,此字段留空 +static NSString * const kCPUCoreNum = @"CPUCoreNum"; +static NSString * const kCPUMaxFreq = @"CPUMaxFreq"; +static NSString * const kTotalMem = @"TotalMem"; +static NSString * const kAPK = @"apk"; +static NSString * const kExtendedArg = @"extendedArgument";// for server @尚清 +//9.6.6之后行为埋点的基础扩展字段,字典类型,后续其它日志模型也可以用这个key +static NSString * const kFoundationExtended = @"FoundationExtended"; +static NSString * const kFoundationExtendedVoiceOver = @"VoiceOver"; + +#pragma mark - +#pragma mark Diagnose Log Key +static NSString * const kChannelID = @"ChannelID"; +static NSString * const kDiagnoseType = @"DiagnoseType"; +static NSString * const kDiagnoseMessage = @"DiagnoseMessage"; + +//日志级别 +static NSString * const kLoggerLevel = @"loggerLevel"; +//关键业务日志级别 +static NSString * const LoggerLevelHigh = @"loggerLevelHigh"; +//普通业务日志级别 +static NSString * const LoggerLevelMedium = @"loggerLevelMedium"; +//诊断业务日志级别 +static NSString * const LoggerLevelLow = @"loggerLevelLow"; + +typedef NS_ENUM(int, MPLogType){ + MPLogTypeNone = 0, + MPLogTypeBehavior, + MPLogTypeCount +}; + + + + + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMutableSetting.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMutableSetting.h new file mode 100644 index 00000000..93d5502e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFMutableSetting.h @@ -0,0 +1,38 @@ +// +// DTFMutableSetting.h +// BioAuthEngine +// +// Created by richard on 24/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import + +@interface DTFMutableSetting : NSObject + ++ (instancetype)getInstance; + +- (NSString *)gatewayURL; + +- (NSArray *)backupURL; + +- (NSDictionary *)headConfig; + +- (NSString *)DTFInitRequestOperationType; + +- (NSString *)validateRequestOperationType; + +- (NSString *)SMSVerifyRequestOperationType; + +- (NSString *)SMSCodeRequestOperationType; + +- (NSString *)zimOCRIdentifyRequestOperationType; + +- (NSString *)bioAuthEngineVersion; + +- (NSString *)onlinePubKey; + +- (NSString *)testPubKey; + + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFNFCIdentityProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFNFCIdentityProtocol.h new file mode 100644 index 00000000..03fba803 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFNFCIdentityProtocol.h @@ -0,0 +1,34 @@ +// +// DTFNFCIdentityProtocol.h +// DTFUtility +// +// Created by mengbingchuan on 2023/6/8. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +#import "DTFRPCProxyProtocol.h" +#import "ZIMResponse.h" + +NS_ASSUME_NONNULL_BEGIN + +@protocol DTFNFCIdentityProtocol + +- (void)initSDK; + +- (NSString *)getVersion; + +- (void)setDataProtocolVersion:(NSString *)version; + +- (void)setRpcProxy:(id)proxy; + +- (NSDictionary *)getMetaInfo; + +- (void)verifyWith:(NSString *)zimId + extParams:(NSDictionary *)params + onCompletion:(void (^)(ZIMResponse *response))callback; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFOSSManager.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFOSSManager.h new file mode 100644 index 00000000..eb88d8c3 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFOSSManager.h @@ -0,0 +1,25 @@ +// +// DTFOSSManager.h +// DTFUtility +// +// Created by mengbingchuan on 2024/6/25. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +#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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFOSSModel.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFOSSModel.h new file mode 100644 index 00000000..e9f8a335 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFOSSModel.h @@ -0,0 +1,33 @@ +// +// DTFOSSModel.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/10/22. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +@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 diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFRPCProxyProtocol.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFRPCProxyProtocol.h new file mode 100644 index 00000000..a33db0ba --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFRPCProxyProtocol.h @@ -0,0 +1,71 @@ +// +// DTFRPCProxyProtocol.h +// DTFUtility +// +// Created by mengbingchuan on 2023/6/7. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// +#import + +typedef void (^rpcCompletionBlock)(NSError *error, NSObject *result); +typedef void (^DTFRpcCompletionBlock)(NSError *error, NSDictionary *data); + +@protocol DTFRPCProxyProtocol + +@required +/** +* ZimID初始化协议 +* key: data +* value: jsonString +*/ +- (void)zimInit:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* 结果认证 +* key: data +* value: jsonString +*/ +- (void)zimValidate:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +@optional + +/** +* NFC结果认证 +* key: data +* value: jsonString +*/ +- (void)zimNFCValidate:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* 请求发送验证码 +*/ +- (void)requestSMSVerifyCode:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* 验证码结果验证 +*/ +- (void)checkSMSCode:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* OCR识别认证 +*/ +- (void)zimOCRIdentify:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* EKYC OCR识别认证 +*/ +- (void)zimEKYCOCRIdentify:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* EKYC OCR确认认证 +*/ +- (void)zimEKYCOCRConfirmIdentify:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + +/** +* oss上传 +*/ +- (void)zimFileUpload:(NSDictionary *)params completionBlock:(DTFRpcCompletionBlock)blk; + + + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFSDKConfiguration.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFSDKConfiguration.h new file mode 100644 index 00000000..13569098 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFSDKConfiguration.h @@ -0,0 +1,44 @@ +// +// DTFSDKConfiguration.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/5/22. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +@interface DTFSDKConfiguration : NSObject + +//原数据 +@property (nonatomic, copy) NSString *NEED_BACKUP_URL; +@property (nonatomic, copy) NSString *LOG_UPLOAD; +@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 *SESSION_INTERRUPT_PROMPT;//摄像头无法录制提示信息 +@property (nonatomic, copy) NSString *ROTATION_OLD_STYLE;//是否使用老代码处理旋转 +@property (nonatomic, copy) NSString *CLIENT_NATIVE_PHOTINUS; +@property (nonatomic, copy) NSString *LOG_UPLOAD_TIMER; +@property (nonatomic, copy) NSString *GEN_VIDEO_WITH_IMAGE; +/// 是否支持从相册选择 +@property (nonatomic, copy) NSString *OCR_SOURCE_ALBUM; +/// iOS 改变屏幕亮度的方式是否为突变 (默认为渐变) +@property (nonatomic, copy) NSString *SET_BRIGHTNESS_DIRECTLY; +//处理后数据 +@property (nonatomic, assign) BOOL urlSessionDegrade; + +- (void)setConfigString:(NSString *)string; + +- (void)updateConfig; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFServerError.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFServerError.h new file mode 100644 index 00000000..07eb6f50 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFServerError.h @@ -0,0 +1,31 @@ +// +// DTFServerError.h +// DTFUtility +// +// Created by mengbingchuan on 2023/7/27. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +static NSString *const DTFServerEmptyDataError = @"DTFServerErrorEmptyData"; +static NSString *const DTFServerOSSError = @"DTFServerOSSError"; + +@interface DTFServerError : NSError + +@property(nonatomic, copy) NSString *retCode; +@property(nonatomic, copy) NSString *retcodeSub; +@property(nonatomic, copy) NSString *reason; +@property(nonatomic, copy) NSString *comment; + ++ (instancetype)errorWithReason:(NSString *)reason comment:(nullable NSString *)comment; + ++ (instancetype)errorWithRetCode:(NSString *)code; + ++ (instancetype)errorWithRetCodeSub:(NSString *)code; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFStringsUtils.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFStringsUtils.h new file mode 100644 index 00000000..103920f4 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFStringsUtils.h @@ -0,0 +1,22 @@ +// +// DTFStringsManager.h +// DTFUtility +// +// Created by mengbingchuan on 2024/1/23. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFStringsUtils : NSObject + ++ (NSString *)faceStringWithKey:(NSString *)key; ++ (NSString *)docStringWithKey:(NSString *)key; ++ (NSString *)guideStringWithKey:(NSString *)key; ++ (NSString *)getAbsolutePathWithBundle:(NSString *)bundleName class:(Class)cls fileName:(NSString *)fileName; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFUICustomConfig.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFUICustomConfig.h new file mode 100644 index 00000000..8916a6bf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFUICustomConfig.h @@ -0,0 +1,405 @@ +// +// DTFUICustomConfig.h +// DTFUtility +// +// Created by 汪澌哲 on 2024/1/7. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +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 *suitableExitBtnColor; +@property (copy, nonatomic) NSString *suitableExitTxtColor; +@property (copy, nonatomic) NSString *audioOnIconBase64; +@property (copy, nonatomic) NSString *audioOnIconPath; +@property (copy, nonatomic) NSString *audioOffIconBase64; +@property (copy, nonatomic) NSString *audioOffIconPath; + +@property (copy, nonatomic) NSString *settingFailReason; +@property (copy, nonatomic) NSString *dialogConfirmBgColor;//弹框确认按钮背景颜色 +@property (copy, nonatomic) NSString *dialogCancelBgColor;//弹框取消按钮背景颜色 + +@end + +@interface DTFDocConfig : NSObject + +//@property (copy, nonatomic) NSString *infoPageBgColor;//ocr识别信息页背景色0 +//@property (copy, nonatomic) NSString *infoDeviderColor;//分隔条颜色(默认灰色)0 +@property (copy, nonatomic) NSString *exitIconPath;//关闭按钮路径 +@property (copy, nonatomic) NSString *exitIconBase64;//关闭按钮base64 +@property (copy, nonatomic) NSString *stageSelectedBgPath;//进度条节点选中背景图片 +@property (copy, nonatomic) NSString *stageSelectedBgBase64;//进度条节点选中背景图片base64 +@property (copy, nonatomic) NSString *stageDefaultBgPath;//进度条节点默认背景图片 +@property (copy, nonatomic) NSString *stageDefaultBgBase64;//进度条节点默认背景图片base64 +@property (copy, nonatomic) NSString *stageDoneBgPath;//进度条完成节点背景图片路径 +@property (copy, nonatomic) NSString *stageDoneBgBase64;//进度条完成节点背景图片base64 +@property (copy, nonatomic) NSString *stageLineDefaultColor;//进度条横线默认颜色 +@property (copy, nonatomic) NSString *stageLineSelectedColor;//进度条横线颜色 +@property (copy, nonatomic) NSString *stageSelectedTxtColor;//进度条文字选中状态颜色 +@property (copy, nonatomic) NSString *stageDefaultTxtColor;//进度条文字默认状态颜色 +@property (copy, nonatomic) NSString *infoTipsColor;//图片显示框上方提示文案颜色 +@property (copy, nonatomic) NSString *bottomTipsColor;//图片显示框下方提示文案颜色 +@property (copy, nonatomic) NSString *takeRequestColor;//“拍摄要求”文字颜色 +@property (copy, nonatomic) NSString *takeRequestTitleColor;//“拍摄要求”弹框标题颜色 +@property (copy, nonatomic) NSString *takeRequestExitIconPath;//拍摄要求弹框关闭按钮图片 +@property (copy, nonatomic) NSString *takeRequestExitIconBase64;//拍摄要求弹框关闭按钮图片base64 +@property (copy, nonatomic) NSString *takeRequestImgPath;//拍摄要求图片 +@property (copy, nonatomic) NSString *takeRequestImgBase64;//拍摄要求图片base64 +@property (copy, nonatomic) NSString *takeEnterIconPath;//拍摄图标(拍摄页面入口) +@property (copy, nonatomic) NSString *takeEnterIconBase64;//拍摄图标(拍摄页面入口)base64 +@property (copy, nonatomic) NSString *frontDefaultImgPath;//身份证正面(人像面)默认图片 +@property (copy, nonatomic) NSString *frontDefaultImgBase64;//身份证正面(人像面)默认图片base64 +@property (copy, nonatomic) NSString *backDefaultImgPath;//身份证反面(国徽面)默认图片 +@property (copy, nonatomic) NSString *backDefaultImgBase64;//身份证反面(国徽面)默认图片base64 +@property (copy, nonatomic) NSString *infoNoticeIconPath;//识别信息确认提示图标 +@property (copy, nonatomic) NSString *infoNoticeIconBase64;//识别信息确认提示图标base64 +@property (copy, nonatomic) NSString *infoNoticeBgColor;//识别信息确认提示”背景色 +@property (copy, nonatomic) NSString *infoNoticeTxtColor;//“识别信息确认提示”文字颜色 +@property (copy, nonatomic) NSString *infoCertNameColor;//“姓名”颜色 +@property (copy, nonatomic) NSString *infoCertNoColor;//“身份证号”颜色 +@property (copy, nonatomic) NSString *resultCertNameColor;//识别结果姓名颜色 +@property (copy, nonatomic) NSString *resultCertNoColor;//识别结果身份证号颜色 +@property (copy, nonatomic) NSString *infoHintColor;//姓名/身份证号未填写提示颜色 +//@property (copy, nonatomic) NSString *cleanIconPath;//删除图标路径🚨iOS不用 +//@property (copy, nonatomic) NSString *cleanIconBase64;//删除图标base64🚨iOS不用 +@property (copy, nonatomic) NSString *nextBgColor;//页面底部按钮背景色 +@property (copy, nonatomic) NSString *nextTxtColor;//页面底部按钮文案背景色 +@property (copy, nonatomic) NSString *nextDisableBgColor;//页面底部按钮不可用时背景色 +@property (copy, nonatomic) NSString *nextDisableTxtColor;//页面底部按钮不可用时文字颜色 +@property (copy, nonatomic) NSString *dialogIdentifyFailTitleColor;//识别失败弹框title颜色 +@property (copy, nonatomic) NSString *dialogIdentifyFailExitIconPath;//识别失败弹框关闭按钮图标 +@property (copy, nonatomic) NSString *dialogIdentifyFailExitIconBase64;//识别失败弹框关闭按钮图标base64 +@property (copy, nonatomic) NSString *dialogIdentifyFailImgPath;//识别失败弹框图片 +@property (copy, nonatomic) NSString *dialogIdentifyFailImgBase64;//识别失败弹框图片base64 +@property (copy, nonatomic) NSString *dialogIdentifyFailTxtColor;//识别失败弹框中“证件图像未符合要求”文字颜色 +@property (copy, nonatomic) NSString *dialogIdentifyFailHintColor;//识别失败弹框中“请按要求拍摄...”文字颜色 +@property (copy, nonatomic) NSString *dialogIdentifyFailConfirmColor;//识别失败弹框,"重新拍摄"按钮文字颜色 +//@property (copy, nonatomic) NSString *dialogNetworkErrTitleColor;//"网络异常"弹框标题颜色0 +//@property (copy, nonatomic) NSString *dialogNetworkErrMsgColor;//dialogNetworkErrMsgColor 0 +//@property (copy, nonatomic) NSString *dialogNetworkErrConfirmColor; //0 +//@property (copy, nonatomic) NSString *dialogNetworkErrCancelColor; //0 +//@property (copy, nonatomic) NSString *dialogExitTitleColor;//退出弹框标题颜色0 +//@property (copy, nonatomic) NSString *dialogExitMsgColor;//0 +@property (copy, nonatomic) NSString *dialogExitConfirmColor; +//@property (copy, nonatomic) NSString *dialogExitCancelColor;//0 +//@property (copy, nonatomic) NSString *dialogFailTooManyTitleColor;//0 +//@property (copy, nonatomic) NSString *dialogFailTooManyMsgColor;//0 +//@property (copy, nonatomic) NSString *dialogFailTooManyConfirmColor;//0 +//@property (copy, nonatomic) NSString *dialogNoPermissionTitleColor;//摄像头🚨0 +//@property (copy, nonatomic) NSString *dialogNoPermissionMsgColor;//0 +//@property (copy, nonatomic) NSString *dialogNoPermissionCancelColor;//0 +//@property (copy, nonatomic) NSString *dialogNoPermissionToSureColor;//0 +@property (copy, nonatomic) NSString *livenessTipsColor; +@property (copy, nonatomic) NSString *livenessMsgColor; +@property (copy, nonatomic) NSString *livenessImgPath;//实人认证过渡图片 +@property (copy, nonatomic) NSString *livenessImgBase64;//实人认证过渡图片base64 +//@property (copy, nonatomic) NSString *livenessLoadingImgPath;//loading图片 +//@property (copy, nonatomic) NSString *livenessLoadingImgBase64;//loading图片base64 +@property (copy, nonatomic) NSString *livenessLoadingMsgColor;//loading 文字颜色00 +@property (copy, nonatomic) NSString *livenessLoadingBgColor;//loading 背景色00 +@property (copy, nonatomic) NSString *takePhotoCoverAlpha;//拍照页蒙层透明度 +@property (copy, nonatomic) NSString *takePhotoExitIconPath;//关闭拍照页按钮图标 +@property (copy, nonatomic) NSString *takePhotoExitIconBase64;//关闭拍照页按钮图标base64 +@property (copy, nonatomic) NSString *flashOnIconPath;//闪光灯打开状态图标 +@property (copy, nonatomic) NSString *flashOnIconBase64;//闪光灯打开状态图标base64 +@property (copy, nonatomic) NSString *flashOffIconPath;//闪光灯关闭状态图标 +@property (copy, nonatomic) NSString *flashOffIconBase64;//闪光灯关闭状态图标base64 +@property (copy, nonatomic) NSString *takeTipsColor;//拍照提示文案颜色 +@property (copy, nonatomic) NSString *takePhotoIconPath;//拍摄按钮图标 +@property (copy, nonatomic) NSString *takePhotoIconBase64;//拍摄按钮图标base64 +@property (copy, nonatomic) NSString *photoRetakeIconPath;//重拍按钮 +@property (copy, nonatomic) NSString *photoRetakeIconBase64;//重拍按钮base64 +@property (copy, nonatomic) NSString *photoConfirmIconPath;//确认照片图标 +@property (copy, nonatomic) NSString *photoConfirmIconBase64;//确认图标base64 +@property (copy, nonatomic) NSString *takePhotoRectPath;//证件框图片 +@property (copy, nonatomic) NSString *takePhotoRectBase64;//证件框图片base64 +/// 图片来源弹框“取消”字体颜色 +@property (copy, nonatomic) NSString *chooseCancelColor; +/// 图片来源弹框“拍照”字体颜色 +@property (copy, nonatomic) NSString *chooseTakePhotoColor; +/// 图片来源弹框“从相册中选择”字体颜色 +@property (copy, nonatomic) NSString *chooseFromAlbumColor; +/// 弹窗遮罩的颜色 +@property (copy, nonatomic) NSString *ocrActionSheetMaskColor; + +@property (copy, nonatomic) NSString *settingFailReason; + +@end + +@interface DTFNFCConfig : NSObject + +@property (copy, nonatomic) NSString *settingFailReason; + +@property (copy, nonatomic) NSString *configTitleColor; + +@property (copy, nonatomic) NSString *passportNoColor; + +@property (copy, nonatomic) NSString *passportHintColor; + +@property (copy, nonatomic) NSString *passportNoValueColor; + +@property (copy, nonatomic) NSString *birthdayColor; + +@property (copy, nonatomic) NSString *birthdayHintColor; + +@property (copy, nonatomic) NSString *birthdayValueColor; + +@property (copy, nonatomic) NSString *validityColor; + +@property (copy, nonatomic) NSString *validityHintColor; + +@property (copy, nonatomic) NSString *validityValueColor; + +@property (copy, nonatomic) NSString *chooseIconPath; + +@property (copy, nonatomic) NSString *chooseIconBase64; + +@property (copy, nonatomic) NSString *nextBtnDisableBgColor; + +@property (copy, nonatomic) NSString *nextBtnDisableTxtColor; + +@property (copy, nonatomic) NSString *configExitIconBase64; + +@property (copy, nonatomic) NSString *configExitIconPath; + +@property (copy, nonatomic) NSString *nextBtnEnableBgColor; + +@property (copy, nonatomic) NSString *nextBtnEnableTxtColor; + +@property (copy, nonatomic) NSString *datePickerConfirmColor; + +@property (copy, nonatomic) NSString *datePickerCancelColor; + +@property (copy, nonatomic) NSString *datePickerSelectedColor; + +@property (copy, nonatomic) NSString *datePickerBgColor; + +@property (copy, nonatomic) NSString *dialogConfigErrTitleColor; + +@property (copy, nonatomic) NSString *dialogConfigErrMsgColor; + +@property (copy, nonatomic) NSString *dialogConfigErrConfirmColor; + +@property (copy, nonatomic) NSString *readTitleColor; + +@property (copy, nonatomic) NSString *readExitIconPath; + +@property (copy, nonatomic) NSString *readExitIconBase64; + +@property (copy, nonatomic) NSString *readBackIconPath; + +@property (copy, nonatomic) NSString *readBackIconBase64; + +@property (copy, nonatomic) NSString *readHintColor; + +@property (copy, nonatomic) NSString *readBtnTxtColor; + +@property (copy, nonatomic) NSString *readBtnBgColor; + +@property (copy, nonatomic) NSString *readDialogTitleColor; + +@property (copy, nonatomic) NSString *readDialogBgColor; + +@property (copy, nonatomic) NSString *readDialogBtnTxtColor; + +@property (copy, nonatomic) NSString *readDialogBtnBgColor; + +@property (copy, nonatomic) NSString *readDialogHintColor; + +@property (copy, nonatomic) NSString *readingAnimBgPath; + +@property (copy, nonatomic) NSString *readingAnimBgBase64; + +@property (copy, nonatomic) NSString *animSignLightColor; + +@property (copy, nonatomic) NSString *animSignDarkColor; + +@property (copy, nonatomic) NSString *animIDCardPath; + +@property (copy, nonatomic) NSString *animIDCardBase64; + +@property (copy, nonatomic) NSString *animPassportPath; + +@property (copy, nonatomic) NSString *animPassportBase64; + +@property (copy, nonatomic) NSString *animFingerPath; + +@property (copy, nonatomic) NSString *animFingerBase64; + +@property (copy, nonatomic) NSString *phoneFrameColor; + +@property (copy, nonatomic) NSString *phoneBgColor; + +@property (copy, nonatomic) NSString *dialogReadCardTitleColor; + +@property (copy, nonatomic) NSString *dialogReadCardMsgColor; + +@property (copy, nonatomic) NSString *dialogReadCardConfirmColor; + +@end + +@interface DTFUICustomConfig : NSObject +@property (strong, nonatomic) DTFGuideConfig *guideConfig; +@property (strong, nonatomic) DTFFaceConfig *faceConfig; +@property (strong, nonatomic) DTFDocConfig *docConfig; +@property (strong, nonatomic) DTFNFCConfig *nfcConfig; + +- (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; ++ (UIImage *)audioOnIcon; ++ (UIImage *)audioOffIcon; + ++ (UIImage *)ocrExitIcon;//ocr 退出exitIconPath ++ (UIImage *)ocrStageSelectedBgIcon;// stageSelectedBgPath ++ (UIImage *)ocrStageDefaultBgIcon;//stageDefaultBgPath ++ (UIImage *)ocrStageDoneBgIcon;//stageDoneBgPath ++ (UIImage *)ocrTakeRequestIcon;//takeRequestImgPath ++ (UIImage *)ocrTakeEnterIcon;//takeEnterIconPath ++ (UIImage *)ocrFrontDefaultIcon;//frontDefaultImgPath ++ (UIImage *)ocrBackDefaultIcon;//backDefaultImgPath ++ (UIImage *)ocrInfoNoticeIcon;//infoNoticeIconPath ++ (UIImage *)ocrDialogIdentifyFailExitIcon;//dialogIdentifyFailExitIconPath ++ (UIImage *)ocrDialogIdentifyFailIcon;//dialogIdentifyFailImgPath ++ (UIImage *)ocrLivenessIcon;//livenessImgPath ++ (UIImage *)ocrTakePhotoExitIcon;//takePhotoExitIconPath ++ (UIImage *)ocrFlashOnIcon;//flashOnIconPath ++ (UIImage *)ocrFlashOffIcon;//flashOffIconPath ++ (UIImage *)ocrTakePhotoIcon;//takePhotoIconPath ++ (UIImage *)ocrPhotoRetakeIcon;//photoRetakeIconPath ++ (UIImage *)ocrPhotoConfirmIcon;//photoConfirmIconPath ++ (UIImage *)ocrTakePhotoRectIcon;//takePhotoRectPath ++ (UIImage *)ocrTakeRequestExitIcon;//takeRequestExitIconPath + +/// 护照 选择日期 ++ (UIImage *)nfcChooseIcon; + +/// 护照 退出按钮 ++ (UIImage *)nfcConfigExitIcon; + +/// 证件识别Vc 退出 (护照) ++ (UIImage *)nfcReadExitIcon; + +/// 证件识别Vc 退出 (身份证) ++ (UIImage *)nfcReadBackIcon; + +/// nfc 图片 ++ (UIImage *)nfcReadingAnimBgIcon; + +/// 身份证图片 ++ (UIImage *)nfcAnimIDCardIcon; + +/// 护照图片 ++ (UIImage *)nfcAnimPassportIcon; + +/// 手指图片 ++ (UIImage *)nfcAnimFingerIcon; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFUtility.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFUtility.h new file mode 100644 index 00000000..17fe5c00 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/DTFUtility.h @@ -0,0 +1,42 @@ +// +// DTFUtility.h +// DTFUtility +// +// Created by richard on 2018/8/10. +// Copyright © 2018 com. .iphoneclient.DTF. All rights reserved. +// + +#import + +//! Project version number for DTFUtility. +FOUNDATION_EXPORT double DTFUtilityVersionNumber; + +//! Project version string for DTFUtility. +FOUNDATION_EXPORT const unsigned char DTFUtilityVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSData+DTFJSON.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSData+DTFJSON.h new file mode 100644 index 00000000..be752432 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSData+DTFJSON.h @@ -0,0 +1,21 @@ +// +// NSData+DTFJSON.h +// DTFUtility +// +// Created by mengbingchuan on 2024/7/10. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSData (DTFJSON) + +- (NSDictionary *)dtf_jsonDictionaryError:(NSError **)error; + +- (NSMutableDictionary *)dtf_jsonMutableDictionaryError:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSDictionary+DTFJSON.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSDictionary+DTFJSON.h new file mode 100644 index 00000000..734f1544 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSDictionary+DTFJSON.h @@ -0,0 +1,20 @@ +// +// NSDictionary+DTFJSON.h +// DTFUtility +// +// Created by mengbingchuan on 2024/7/15. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSDictionary (DTFJSON) + +- (NSString *)dtf_jsonStringError:(NSError **)error; +- (NSData *)dtf_jsonDataError:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+APBJSON.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+APBJSON.h new file mode 100644 index 00000000..6a399392 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+APBJSON.h @@ -0,0 +1,55 @@ +// +// NSObject+APBJSON.h +// BioAuthEngine +// +// Created by yukun.tyk on 9/13/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import + +@interface NSObject (APBJSON) + +/** + * JSON encoder + * + * NSarray只支持一级列表,原生类型只支持NSInteger, CGFloat, BOOL + * + * 如果编码失败,会抛异常 + * + * @return JSON string + */ +- (NSString *)APBToJSON; + +- (NSDictionary *)APBToDict; + +- (NSDictionary *)APBToDict:(BOOL)valueCanBeNil; +/** + * JSON decoder + * + * @param json JSON string + * + * NSarray只支持一级列表,原生类型只支持NSInteger, CGFloat, BOOL + * + * 如果解析失败,会抛异常 + * + * @return JSON object + */ ++ (instancetype)APBLoadFromJSON:(NSString *)json; ++ (instancetype)APBLoadFrom:(NSDictionary *)dict forObject:(id) obj; + +- (void)APBOverrideFromJSON:(NSString *)json; +- (void)APBOverrideFromJSONData:(NSData *)json; + +/** + * JSON encoder + * + * NSarray只支持一级列表,原生类型只支持NSInteger, CGFloat, BOOL + * canTolerateNil为YES ,如果value值不存在,表示该key所对应的字段做序列化是不存在,但其他字段继续做序列化 + * 如果为NO,表示不容忍任何value值为nil,直接返回序列化结果为nil + * 如果value值为NSData类型,那么在做序列话时,该字段会被删掉,这是为了兼容,而不是直接抛异常 + * @return JSON string + */ +- (NSString *)classObjectToJSONWithTolerateNilChoice:(BOOL)canTolerateNil; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+DTFUtilityJsonString.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+DTFUtilityJsonString.h new file mode 100644 index 00000000..0525d6db --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+DTFUtilityJsonString.h @@ -0,0 +1,16 @@ +// +// NSObject+DTFUtilityJsonString.h +// DTFUtility +// +// Created by richard on 2018/8/15. +// Copyright © 2018 com. .iphoneclient.DTF. All rights reserved. +// + +#import + +@interface NSObject (DTFUtilityJsonString) + +- (NSMutableDictionary *_Nonnull)dictionary; +- (id _Nonnull )idFromObject:(nonnull id)object; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+Toyger.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+Toyger.h new file mode 100644 index 00000000..a2ad583a --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSObject+Toyger.h @@ -0,0 +1,16 @@ +// +// NSObject+Toyger.h +// ToygerService +// +// Created by 王伟伟 on 2018/2/28. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import + +@interface NSObject (Toyger) +- (NSDictionary *_Nonnull)propertyOfClass:(Class _Nullable )aclass; +//- (NSMutableDictionary *_Nonnull)dictionary; +//- (id _Nonnull )idFromObject:(nonnull id)object; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSString+DTFBase64.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSString+DTFBase64.h new file mode 100644 index 00000000..eea572c1 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSString+DTFBase64.h @@ -0,0 +1,26 @@ +// +// NSString+DTFBase64.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/1/3. +// Copyright © 2023 com.DTF.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSString (DTFBase64) +/** + * 转换为Base64编码 + */ + - (NSString *)dtf_base64EncodedString; + + /** + * 将Base64解码 + */ + - (NSString *)dtf_base64DecodedString; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSString+DTFJSON.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSString+DTFJSON.h new file mode 100644 index 00000000..7879ef35 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/NSString+DTFJSON.h @@ -0,0 +1,21 @@ +// +// NSString+DTFJSON.h +// DTFUtility +// +// Created by mengbingchuan on 2024/7/10. +// Copyright © 2024 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSString (DTFJSON) + +- (NSDictionary *)dtf_jsonDictionaryError:(NSError **)error; + +- (NSMutableDictionary *)dtf_jsonMutableDictionaryError:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerAlgorithmConfig.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerAlgorithmConfig.h new file mode 100644 index 00000000..a9ecf827 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerAlgorithmConfig.h @@ -0,0 +1,54 @@ +// +// ToygerAlgorithmConfig.h +// ToygerService +// +// Created by 王伟伟 on 2018/2/2. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import + +@interface ToygerAlgorithmConfig : ToygerBaseModel + +@property (nonatomic, copy) NSString *stack_time; +@property (nonatomic, copy) NSString *blink_openness; +@property (nonatomic, copy) NSString *eye_openness; +@property (nonatomic, copy) NSString *eye_occlusion; +@property (nonatomic, copy) NSString *pose_pitch; +@property (nonatomic, copy) NSString *pose_yaw; +@property (nonatomic, copy) NSString *pose_gaussian; +@property (nonatomic, copy) NSString *pose_motion; +@property (nonatomic, copy) NSString *pose_pitchMin; +@property (nonatomic, copy) NSString *pose_rectwidth; +@property (nonatomic, copy) NSString *pose_integrity; +@property (nonatomic, copy) NSString *pose_light; +@property (nonatomic, copy) NSString *pose_yawMin; +@property (nonatomic, copy) NSString *lip_motion; +@property (nonatomic, copy) NSString *log_level; +@property (nonatomic, copy) NSString *min_iod; +@property (nonatomic, copy) NSString *max_iod; +@property (nonatomic, copy) NSString *quality_min_quality; +@property (nonatomic, copy) NSArray *liveness_combination; +@property (nonatomic, copy) NSArray *liveness_combination_retries; +@property (nonatomic, copy) NSArray *photinus_colour; +@property (nonatomic, copy) NSDictionary *threshold; +@property (nonatomic, copy) NSString *max_face_num; +@property (nonatomic, copy) NSString *detect_face_num; +@property (nonatomic, copy) NSString *speed; +@property (nonatomic, copy) NSDictionary *near_far; +@property (nonatomic, strong) NSArray * photinus_colours;//随机炫彩下发序列 +@property (nonatomic, assign) NSInteger algoType; +@property (nonatomic, copy) NSString * docType; +@property (nonatomic, assign) NSInteger pageNo; +@property (nonatomic, assign) CGRect rectInPic; +@property (nonatomic, assign) NSInteger rotateTimes; +@property (nonatomic, assign) NSInteger blur; +@property (nonatomic, assign) NSInteger exposure; + +@property (nonatomic, copy) NSString *secProtocol; + +-(void)addDragonflyDefaultConfig; + +-(void)addLocalVerifyDefaultConfig; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBaseModel.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBaseModel.h new file mode 100644 index 00000000..d5e7e07b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBaseModel.h @@ -0,0 +1,21 @@ +// +// ToygerBaseObject.h +// Toyger +// +// Created by 王伟伟 on 2018/1/25. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import + +@interface ToygerBaseModel : NSObject + ++ (instancetype)defaultModel; + ++ (instancetype)model:(id)dict; + +- (NSMutableDictionary *)dictionary; + +- (void)copyFromModel:(ToygerBaseModel *)model; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBlob.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBlob.h new file mode 100644 index 00000000..fe07af13 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBlob.h @@ -0,0 +1,37 @@ +// +// ToygerBlob.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/23. +// Copyright © 2018年 DTF. All rights reserved. +// + +#ifndef USE_PB + +#import +#import "ToygerBlobElem.h" + +@interface ToygerBlob : ToygerBaseModel + +@property (nonatomic, copy) NSString *blobVersion; + +@property (nonatomic, strong) NSMutableArray *blobElem; + +@end + +#else + +#import + +@class ToygerBlobElem; +@class ToygerBlob; + +@interface ToygerBlob : APDPBGeneratedMessage + +@property (readonly) BOOL hasBlobVersion; + +@property (nonatomic,strong) NSString* blobVersion ; +@property (nonatomic,strong) NSMutableArray* blobElem ; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBlobElem.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBlobElem.h new file mode 100644 index 00000000..cb316350 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerBlobElem.h @@ -0,0 +1,113 @@ +// +// ToygerBlobElem.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/23. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import "ToygerFaceInfo.h" + +#ifndef USE_PB + +#import + +@interface ToygerBlobElemCapture: ToygerBaseModel + +@property(nonatomic, copy) NSString *action; +@property(nonatomic, strong) NSData *video; +@property(nonatomic, copy) NSString *videoMD5; +@property(nonatomic, strong) NSData *videoMeta; +@property(nonatomic, copy) NSArray *picture; +@property(nonatomic, copy) NSArray *pictureToApp; +@property(nonatomic, strong) NSNumber *isVideoEvidence; + +@end + + +@interface ToygerBlobElem : ToygerBaseModel + + +/** + 类型:face | doc + */ +@property (nonatomic, copy) NSString *type; + + +/** + 子类型:pano | live | dark | depth | facefeature | surveillance | facefeature | gongan | docface + */ +@property (nonatomic, copy) NSString *subType; + + +///** +// 当前数据在Type中的索引 +// */ +//@property (nonatomic, assign) int32_t idx; +/** + 当前数据在Type中的索引 + */ +@property (nonatomic, strong) NSNumber *idx; + +/** + 数据版本,图片要求是正向的 + */ +@property (nonatomic, copy) NSString *version; + + +/** + 数据Buffer,大部分是jpeg + */ +//@property (nonatomic, strong) NSData *content; +@property (nonatomic, copy) NSString *content; + +/** + 多图数据 + */ +@property (nonatomic, copy) NSArray *optionalContent; + +/** + 人脸信息,与content对应 + */ +@property (nonatomic, strong) NSArray *faceInfos; + +@property (nonatomic, strong) NSArray *capture; + +/** + 证件信息 + */ + ++ (ToygerBlobElem *)blobElemFrom:(NSString *)imageContent type:(NSString *)type subType:(NSString *)subType idx:(NSString *)idx faceInfo:(NSArray *)faceInfo; +@end + +#else + +#import + +@class ToygerBlobElem; +@class ToygerDocInfo; +@class ToygerFaceInfo; + +@interface ToygerBlobElem : APDPBGeneratedMessage + +@property (readonly) BOOL hasType; +@property (readonly) BOOL hasSubType; +@property (readonly) BOOL hasIdx; +@property (readonly) BOOL hasVersion; +@property (readonly) BOOL hasContent; +@property (readonly) BOOL hasDocInfo; + +@property (nonatomic,strong) NSString* type ; +@property (nonatomic,strong) NSString* subType ; +@property (nonatomic) SInt32 idx ; +@property (nonatomic,strong) NSString* version ; +@property (nonatomic,strong) NSData* content ; +@property (nonatomic,strong) NSArray* faceInfos ; +@property (nonatomic,strong) ToygerDocInfo* docInfo ; + ++ (ToygerBlobElem *)blobElemFrom:(NSData *)imageContent type:(NSString *)type subType:(NSString *)subType idx:(NSString *)idx faceInfo:(NSArray *)faceInfo docInfo:(ToygerDocInfo *)docInfo; + + +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerCryptoManager.hpp b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerCryptoManager.hpp new file mode 100644 index 00000000..b2bb3895 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerCryptoManager.hpp @@ -0,0 +1,120 @@ +// +// BioAuthCryptoManager.hpp +// BioAuthEngine +// +// Created by yukun.tyk on 5/16/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#ifndef BioAuthCryptoManager_hpp +#define BioAuthCryptoManager_hpp + +#import +#include +#import +#import +#import + +namespace DTF { + + /** + * 业务加密结果回调 + * + * @param success: 加密是否成功 + * @param cipher: 密文 + * @param encryptedKey: RSA公钥加密的AES密钥 + */ + typedef std::function completionCallback; + + class ToygerCryptoManager{ + public: + /** + * 1. 随机生成128位AES私钥 + * 2. 利用ASE私钥加密业务数据 + * 3. 利用RSA公钥加密AES密钥 + * + * @param content 代价密数据 + * @param pubKey RSA公钥 + * @param callback 加密成功后callback + */ + static void mixEncrypt(NSData *content, NSString *pubKey, completionCallback callback); + + /** + * AES加密 + * + * @param content 业务数据 + * @param aesKey AES密钥 + * + * @return 密文,失败则返回Nil + */ + static NSData *AESEncrypt(NSData *content, NSString *aesKey ,NSUInteger value=0); + + //获取md5值 + static NSString *MD5WithData(NSData *data); + /** + * AES解密 + * + * @param content 业务数据 + * @param aesKey AES密钥 + * + * @return 解密后数据,失败则返回Nil + */ + static NSData *AESDecrypt(NSData *content, NSString *aesKey); + + /** + * 1024位RSA加密 + * + * @param content 待加密数据,不得超过128位 + * @param pubKey RSA公钥 + * + * @return 密文,失败返回nil + */ + static NSData *RSAEncrypt(NSData *content, NSString *pubKey); + + /** + * 检查数据签名 + * + * @param content 业务数据 + * @param signature 签名信息 + * @param pubKey RSA公钥 + * + * @return 签名是够正确 + */ + static BOOL checkSign(NSData *content, NSData *signature, NSString *pubKey); + + /** + * 计算MD5 + * + * @param str 业务数据 + * + * @return MD5值 + */ + static NSString *calculateMD5(NSString *str); + + /** + * 生成UUID + */ + static NSString *generateUUID(); + +// /** +// * RC4编码 +// */ +// static NSData *RC4Crypt(NSData *data, int code); + +// private: + /** + * 生成随机字符串 + * + * @param len 随机字符串长度,最长32个字节 + * + * @return 生成的随机字符串 + */ + static NSString *generateToken(NSInteger len); + + private: + static NSData *stripPublicKeyHeader(NSData *pubKey); + static SecKeyRef addPublicKey(NSString *pubKey); + }; +} + +#endif /* BioAuthCryptoManager_hpp */ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerData.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerData.h new file mode 100644 index 00000000..9b4753d6 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerData.h @@ -0,0 +1,22 @@ +// +// ToygerData.h +// BioAuthEngine +// +// Created by 晗羽 on 25/04/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#ifndef ToygerData_h +#define ToygerData_h + + +#endif /* ToygerData_h */ + + +#import "ToygerBlob.h" +#import "ToygerBlobElem.h" +#import "ToygerFaceInfo.h" +#import "ToygerMeta.h" +#import "ToygerPoint.h" +#import "ToygerRect.h" +#import "ToygerUploadContent.h" diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerFaceInfo.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerFaceInfo.h new file mode 100644 index 00000000..a2a3b7c2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerFaceInfo.h @@ -0,0 +1,85 @@ +// +// ToygerFaceInfo.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/23. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import "ToygerPoint.h" +#import "ToygerRect.h" +//#include "Toyger.h" + +#ifndef USE_PB + +#import +#import + +@interface ToygerFaceInfo : ToygerBaseModel + + +/** + 人脸框,绝对坐标:左上右下 + */ +@property (nonatomic, copy) ToygerRect *rect; + + +/** + 人脸关键点信息,绝对坐标 + */ +@property (nonatomic, copy) NSArray *points; + + +/** + 置信度 + */ +@property (nonatomic, copy) NSString *confidence; + + +/** + 质量分 + */ +@property (nonatomic, copy) NSString *quality; + + +/** + <#Description#> + */ +@property (nonatomic, copy) NSString *feature; + + +/** + <#Description#> + */ +@property (nonatomic, copy) NSString *feaVersion; + +//- (instancetype)initWithFaceAttr:(TGFaceAttr)attr image:(UIImage *)image; + +@end + +#else +#import + +@class ToygerPoint; +@class ToygerFaceInfo; +@class ToygerRect; + +@interface ToygerFaceInfo : APDPBGeneratedMessage + +@property (readonly) BOOL hasRect; +@property (readonly) BOOL hasConfidence; +@property (readonly) BOOL hasQuality; +@property (readonly) BOOL hasFeature; +@property (readonly) BOOL hasFeaVersion; + +@property (nonatomic,strong) ToygerRect* rect ; +@property (nonatomic,strong) NSArray* points ; +@property (nonatomic) Float32 confidence ; +@property (nonatomic) Float32 quality ; +@property (nonatomic,strong) NSString* feature ; +@property (nonatomic,strong) NSString* feaVersion ; + +//- (instancetype)initWithFaceAttr:(TGFaceAttr)attr image:(UIImage *)image; + +@end +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerMeta.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerMeta.h new file mode 100644 index 00000000..6109611e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerMeta.h @@ -0,0 +1,65 @@ +// +// ToygerMeta.h +// ToygerService +// +// Created by 王伟伟 on 2018/2/1. +// Copyright © 2018年 DTF. All rights reserved. +// + +#ifndef USE_PB + +#import + +@interface ToygerMeta : ToygerBaseModel + +/** + 比对算法类型:fpp|zface|zdoc + */ +@property (nonatomic, copy) NSString *type; + +/** + 客户端比对模式中,客户端比对分数和活体分数 + */ +@property (nonatomic, copy) NSDictionary *score; + +/** + 客户端采集数据的信息:主要是证件宝使用: + @{ + @"docType": @"00860001", + @"pageNo": @"1" + } + */ +@property (nonatomic, copy) NSDictionary *collectInfo; + +@property (nonatomic, copy) NSString *collectInfoSig; + +/** + blob数据序列化类型 + */ +@property (nonatomic, strong) NSNumber *serialize; +@end + +#else + +#import + + + +@class ToygerMeta; + +@interface ToygerMeta : APDPBGeneratedMessage + +@property (readonly) BOOL hasVersion; +@property (readonly) BOOL hasType; +@property (readonly) BOOL hasScoreStr; +@property (readonly) BOOL hasCollectInfoStr; +@property (readonly) BOOL hasSerialize; + +@property (nonatomic,strong) NSString* version ; +@property (nonatomic,strong) NSString* type ; +@property (nonatomic,strong) NSString* scoreStr ; +@property (nonatomic,strong) NSString* collectInfoStr ; +@property (nonatomic) SInt32 serialize ; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerPoint.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerPoint.h new file mode 100644 index 00000000..dccc0cca --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerPoint.h @@ -0,0 +1,34 @@ +// +// ToygerPoint.h +// ToygerService +// +// Created by 王伟伟 on 2018/3/24. +// Copyright © 2018年 DTF. All rights reserved. +// + +#ifndef USE_PB + +#import + +@interface ToygerPoint : ToygerBaseModel +@property (nonatomic, assign) NSInteger x; +@property (nonatomic, assign) NSInteger y; + +@end + +#else + +#import + +@class ToygerPoint; + +@interface ToygerPoint : APDPBGeneratedMessage + +@property (readonly) BOOL hasX; +@property (readonly) BOOL hasY; + +@property (nonatomic) Float32 x ; +@property (nonatomic) Float32 y ; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerRect.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerRect.h new file mode 100644 index 00000000..16a27f37 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerRect.h @@ -0,0 +1,41 @@ +// +// ToygerRect.h +// ToygerService +// +// Created by 王伟伟 on 2018/3/24. +// Copyright © 2018年 DTF. All rights reserved. +// + +#ifndef USE_PB + +#import + +@interface ToygerRect : ToygerBaseModel + +@property (nonatomic, assign) NSInteger left; +@property (nonatomic, assign) NSInteger top; +@property (nonatomic, assign) NSInteger right; +@property (nonatomic, assign) NSInteger bottom; + +@end + +#else + +#import + +@class ToygerRect; + +@interface ToygerRect : APDPBGeneratedMessage + +@property (readonly) BOOL hasLeft; +@property (readonly) BOOL hasTop; +@property (readonly) BOOL hasRight; +@property (readonly) BOOL hasBottom; + +@property (nonatomic) SInt32 left ; +@property (nonatomic) SInt32 top ; +@property (nonatomic) SInt32 right ; +@property (nonatomic) SInt32 bottom ; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerUploadConfig.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerUploadConfig.h new file mode 100644 index 00000000..e2968feb --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerUploadConfig.h @@ -0,0 +1,18 @@ +// +// ToygerUploadConfig.h +// ToygerService +// +// Created by 王伟伟 on 2018/2/2. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import + +@interface ToygerUploadConfig : ToygerBaseModel +@property (nonatomic, copy) NSString *minquality; //TODO:delete +@property (nonatomic, copy) NSString *upload_compress_rate; +@property (nonatomic, copy) NSString *mode; +@property (nonatomic, strong) NSNumber *desiredWidth; +@property (nonatomic, copy) NSString *log_classifier; +@property (nonatomic, copy) NSArray *collection; +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerUploadContent.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerUploadContent.h new file mode 100644 index 00000000..0857b43c --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ToygerUploadContent.h @@ -0,0 +1,47 @@ +// +// ToygerUploadContent.h +// ToygerService +// +// Created by 王伟伟 on 2018/2/1. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import "ToygerMeta.h" +#import "ToygerBlob.h" + +#ifndef USE_PB + +#import + +@interface ToygerUploadContent : ToygerBaseModel + +@property (nonatomic, strong) ToygerMeta *meta; + +@property (nonatomic, strong) ToygerBlob *blob; + +- (NSData *)uploadData; + +- (NSString *)uploadString; + +- (BOOL)loadMap:(NSDictionary *)map; + +@end + +#else + +#import + +@class ToygerUploadContent; +@class ToygerBlob; +@class ToygerMeta; + +@interface ToygerUploadContent : APDPBGeneratedMessage + +@property (readonly) BOOL hasMeta; +@property (readonly) BOOL hasBlob; + +@property (nonatomic,strong) ToygerMeta* meta ; +@property (nonatomic,strong) ToygerBlob* blob ; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZFaceVerifyInfo.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZFaceVerifyInfo.h new file mode 100644 index 00000000..bd0b3247 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZFaceVerifyInfo.h @@ -0,0 +1,31 @@ +// +// ZFaceVerifyInfo.h +// DTFOpenPlatformBuild +// +// Created by richard on 26/02/2018. +// Copyright © 2018 com. .iphoneclient.DTF. All rights reserved. +// +#import + +@interface ZFaceVerifyInfo : NSObject + +@property(nonatomic, strong) NSString *secretToken; +@property(nonatomic, strong) NSString *wWORKSPACEID; +@property(nonatomic, assign) NSNumber *isSecuritySDKNumber; ++(instancetype)getInstance; + +- (NSString *)getTokenContent; + +- (NSString *)securityVersion; + +- (void)ActivityToken; + +- (void)ActivityTokenWithParam:(NSDictionary*)param; + +- (NSString *)ApperceptRiskwith:(NSInteger)action extParams:(NSDictionary *)args; + +- (NSString *)getSecurityChannel; +//是否支持deepSec +- (BOOL)securitySDKSupportDeepSec; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZIMResponse.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZIMResponse.h new file mode 100644 index 00000000..f387a40b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZIMResponse.h @@ -0,0 +1,47 @@ +// +// ZIMResponse.h +// DTFIdentityManager +// +// Created by yukun.tyk on 28/06/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import + +typedef NS_ENUM(NSUInteger, ZIMResponseCode) { + ZIMResponseSuccess = 1000, //采集成功并且服务端成功(人脸比对成功,或者证件宝服务端OCR/质量检测成功)[zim不会弹框处理] + ZIMInternalError = 1001, //用户被动退出(极简核身没有取到协议、toyger启动失败、协议解析失败)[zim不会弹框处理] + ZIMInterrupt = 1003, //用户主动退出(无相机权限、超时、用户取消)[zim会弹框处理] + ZIMNetworkfail = 2002, //网络失败(标准zim流程,请求协议错误,oss上传失败)[zim不会弹框处理] + ZIMTIMEError = 2003, //设备时间设置不对 + ZIMResponseFail = 2006 //服务端validate失败(人脸比对失败或者证件宝OCR/质量检测失败)[zim不会弹框处理] +}; + +@interface ZIMResponse : NSObject + +@property(nonatomic, assign, readonly)ZIMResponseCode code; +@property(nonatomic, assign, readonly)ZIMResponseCode retCode; +@property(nonatomic, copy, readonly)NSString * _Nullable reason; +@property(nonatomic, copy, readonly)NSString * _Nullable retCodeSub; +@property(nonatomic, copy, readonly)NSString * _Nullable retMessageSub; +@property(nonatomic, strong)NSDictionary * _Nullable extInfo; +@property(nonatomic, strong, readonly)NSString * _Nullable bizData; +@property(nonatomic, strong) NSString* _Nullable deviceToken; //设备token +@property(nonatomic, strong, nullable) NSString *videoFilePath; //如果采用视频返照,这个字段返回视频的路径 +@property(nonatomic, strong ,nullable) NSData *imageContent; //这个字段返回采集照片 +@property(nonatomic, strong ,nullable) NSMutableArray *cardImageContent; //ekyc返回证件array +@property(nonatomic, strong ,nullable) NSMutableArray *faceImageContent; +@property(nonatomic , strong ,nullable)NSData *faceData; //OCR身份证人像面照片 ,只有在OCR模式下,才有值 +@property(nonatomic , strong ,nullable)NSData *countryData; //OCR身份证国徽面照片,只有在OCR模式下,才有值 + + + +-(instancetype _Nullable )initWithResponseCode:(ZIMResponseCode) code + retCode:(ZIMResponseCode) retCode + retCodeSub:(NSString *_Nullable) retCodeSub + retMessageSub:(NSString *_Nullable) retMessageSub + reason:(NSString *_Nullable) reason + extParam:(NSDictionary *_Nullable) extInfo + bizData:(NSString *_Nullable) bizData; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimInitRequest.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimInitRequest.h new file mode 100644 index 00000000..4cf72b35 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimInitRequest.h @@ -0,0 +1,49 @@ +// +// ZimInitRequest.h +// DTFIdentityManager +// +// Created by richard on 27/08/2017. +// Copyright © 2017 All rights reserved. +// + +#import + +#ifndef SUPPORT_PB + +@interface ZimInitRequest:NSObject + +@property (nonatomic,strong) NSString* zimId ; +@property (nonatomic,strong) NSString* channel ; +@property (nonatomic,strong) NSString* merchant ; +@property (nonatomic,strong) NSString* productName ; +@property (nonatomic,strong) NSString* produceNode ; +@property (nonatomic,strong) NSString* bizData ; +@property (nonatomic,strong) NSString* metaInfo ; +@property (nonatomic,strong) NSString* originAliyunEncToken ; + +@end + + +#else +#import + +@interface ZimInitRequest : APDPBGeneratedMessage + +@property (readonly) BOOL hasZimId; +@property (readonly) BOOL hasChannel; +@property (readonly) BOOL hasMerchant; +@property (readonly) BOOL hasProductName; +@property (readonly) BOOL hasProduceNode; +@property (readonly) BOOL hasBizData; +@property (readonly) BOOL hasMetaInfo; + +@property (nonatomic,strong) NSString* zimId ; +@property (nonatomic,strong) NSString* channel ; +@property (nonatomic,strong) NSString* merchant ; +@property (nonatomic,strong) NSString* productName ; +@property (nonatomic,strong) NSString* produceNode ; +@property (nonatomic,strong) NSString* bizData ; +@property (nonatomic,strong) NSString* metaInfo ; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimInitResponse.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimInitResponse.h new file mode 100644 index 00000000..e9d5b317 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimInitResponse.h @@ -0,0 +1,51 @@ +// +// ZimInitResponse.h +// DTFIdentityManager +// +// Created by richard on 27/08/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import + +@class ZimInitResponse; +@class PBMapStringString; + +#ifndef SUPPORT_PB + +@interface ZimInitResponse:NSObject +@property (nonatomic) SInt32 retCode ; +@property (nonatomic,strong) NSString *message ; +@property (nonatomic,strong) NSString *zimId ; +@property (nonatomic,strong) NSString *protocol ; +@property (nonatomic,strong) NSDictionary *extParams ; +@property (nonatomic,strong) NSString *retCodeSub ; +@property (nonatomic,strong) NSString *retMessageSub ; +@property (nonatomic,strong) NSString *WishContent;//retMessageSub ; +@property (nonatomic,strong) NSString *ControlConfig;//retMessageSub ; +@property (nonatomic,strong) NSString *ImageCount; +@property (nonatomic,strong) NSDictionary *ossConfig; + ++ (Class)extParamsElementClass; +@end + +#else +#import + +@interface ZimInitResponse : APDPBGeneratedMessage + +@property (readonly) BOOL hasRetCode; +@property (readonly) BOOL hasMessage; +@property (readonly) BOOL hasZimId; +@property (readonly) BOOL hasProtocol; +@property (readonly) BOOL hasExtParams; + +@property (nonatomic) SInt32 retCode ; +@property (nonatomic,strong) NSString* message ; +@property (nonatomic,strong) NSString* zimId ; +@property (nonatomic,strong) NSString* protocol ; +@property (nonatomic,strong) PBMapStringString* extParams ; +@property (nonatomic,strong) NSString* retCodeSub ; +@property (nonatomic,strong) NSString* retMessageSub ; +@end +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimModelDownloader.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimModelDownloader.h new file mode 100644 index 00000000..df821ed7 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimModelDownloader.h @@ -0,0 +1,34 @@ +// +// ModelDownloader.h +// DTFIdentityManager +// +// Created by mengbingchuan on 2022/9/7. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import "DTFLogMonitor.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface ZimModelDownloader : NSObject + +@property(nonatomic, assign) BOOL preload; //preload, fallback + +@property(nonatomic, copy) NSString *hostModelURL; //宿主传入的模型链接 + ++ (ZimModelDownloader *)sharedInstance; + +- (void)setModelDownloadURL:(NSArray *)array; + +- (NSString *)modelPath; + +- (BOOL)needDownload; + +- (void)processForceDownload:(NSString *)downloadId; + +- (void)startDownloadCompletion:(void (^)(BOOL success))completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimValidateRequest.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimValidateRequest.h new file mode 100644 index 00000000..92e38065 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimValidateRequest.h @@ -0,0 +1,51 @@ +// +// ZimValidateRequest.h +// DTFIdentityManager +// +// Created by richard on 27/08/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import +#import "ToygerData.h" +#import "APBBisUploadGwRequest.h" +@class ZimValidateRequest; + +#ifndef SUPPORT_PB +@interface ZimValidateRequest:NSObject +@property (nonatomic,strong) NSString *zimId ; +@property (nonatomic,strong) APBBisUploadGwRequest *zimData ; +@property(nonatomic, strong) NSDictionary *bizData; +@property (nonatomic,strong)NSString *idString; +@property (nonatomic,strong)NSString *nameString; +@property (nonatomic,strong)NSString *externParam; +@property(nonatomic, strong) NSDictionary *wishDict; +@property(nonatomic, strong) NSDictionary *chameleon; +@property(nonatomic, strong) NSArray *wishVideoUrl; +@property(nonatomic, strong) NSArray *wishAudioUrl; +@property (nonatomic,strong) NSString *originAliyunEncToken; +@property (nonatomic,strong) NSString *rareCharIdString; +@property (nonatomic,strong) NSString *rareCharNameString; +@property (nonatomic, copy) NSDictionary *evidenceVideo; +@property(nonatomic, strong) NSString *sysTime; +@property(nonatomic, assign) BOOL useBackupOSS; + ++ (Class)bizDataElementClass; +@end + +#else + +#import + +@interface ZimValidateRequest : APDPBGeneratedMessage + +@property (readonly) BOOL hasZimId; +@property (readonly) BOOL hasZimData; +@property (readonly) BOOL hasBizData; + +@property (nonatomic,strong) NSString* zimId ; +@property (nonatomic,strong) NSData* zimData ; +@property (nonatomic,strong) PBMapStringString* bizData; + +@end +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimValidateResponse.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimValidateResponse.h new file mode 100644 index 00000000..808ad085 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZimValidateResponse.h @@ -0,0 +1,47 @@ +// +// ZimValidateResponse.h +// DTFIdentityManager +// +// Created by richard on 27/08/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import + +@class ZimValidateResponse; +@class PBMapStringString; + +#ifndef SUPPORT_PB +@interface ZimValidateResponse:NSObject +@property (nonatomic) SInt32 validationRetCode ; +@property (nonatomic) SInt32 productRetCode ; +@property (nonatomic) BOOL pb_hasNext ; +@property (nonatomic,strong) NSString* nextProtocol ; +@property (nonatomic,strong) NSDictionary* extParams ; +@property (nonatomic,strong) NSString* retCodeSub ; +@property (nonatomic,strong) NSString* retMessageSub ; ++ (Class)extParamsElementClass; +@end + +#else +#import + +@interface ZimValidateResponse : APDPBGeneratedMessage + +@property (readonly) BOOL hasValidationRetCode; +@property (readonly) BOOL hasProductRetCode; +@property (readonly) BOOL hasPb_hasNext; +@property (readonly) BOOL hasNextProtocol; +@property (readonly) BOOL hasExtParams; + +@property (nonatomic) SInt32 validationRetCode ; +@property (nonatomic) SInt32 productRetCode ; +@property (nonatomic) BOOL pb_hasNext ; +@property (nonatomic,strong) NSString* nextProtocol ; +@property (nonatomic,strong) PBMapStringString* extParams ; +@property (nonatomic,strong) NSString* retCodeSub ; +@property (nonatomic,strong) NSString* retMessageSub; +@end +#endif + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZolozSimpleValueContent.h b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZolozSimpleValueContent.h new file mode 100644 index 00000000..3129a787 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Headers/ZolozSimpleValueContent.h @@ -0,0 +1,24 @@ +// +// ZolozSimpleValueContent.h +// DTFUtility +// +// Created by 053508 on 2021/6/9. +// Copyright © 2021 com. .iphoneclient.DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ZolozSimpleValueContent : NSObject + +@property(nonatomic,strong,nullable)NSString * simpleValue;//用于存放Md5值。 +@property(nonatomic,assign)NSUInteger length;//用于存放Md5值。 +@property(nonatomic,strong,nullable)NSString * simpleOutValue;//用于存放Md5值。 +@property(nonatomic,strong,nullable)NSString * simpleEnValue;//用于存放加密后的Md5值。 + ++ (ZolozSimpleValueContent *)sharedInstance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Info.plist new file mode 100644 index 00000000..b552ab86 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Modules/module.modulemap b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Modules/module.modulemap new file mode 100644 index 00000000..be9d6ed0 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module DTFUtility { + umbrella header "DTFUtility.h" + + export * + module * { export * } +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..2eabb2cf --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/DTFUtility.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,36 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + + + + + NSPrivacyTrackingDomains + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/FinTechFaceVerifyModule.framework/FinTechFaceVerifyModule b/nativePlugins/AP-FaceDetectModule/ios/FinTechFaceVerifyModule.framework/FinTechFaceVerifyModule new file mode 100644 index 00000000..331a53f6 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/FinTechFaceVerifyModule.framework/FinTechFaceVerifyModule differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/FinTechFaceVerifyModule.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/FinTechFaceVerifyModule.framework/Info.plist new file mode 100644 index 00000000..4ab9d922 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/FinTechFaceVerifyModule.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.bundle/image/check_circle_fill_png.png b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.bundle/image/check_circle_fill_png.png new file mode 100644 index 00000000..caa0ab42 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.bundle/image/check_circle_fill_png.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.bundle/toyger.mouth.dat b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.bundle/toyger.mouth.dat new file mode 100644 index 00000000..b2ccfc80 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.bundle/toyger.mouth.dat differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorBaseModel.h b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorBaseModel.h new file mode 100644 index 00000000..69978495 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorBaseModel.h @@ -0,0 +1,17 @@ +// +// MultiFactorBaseModel.h +// MultiFactorFacade +// +// Created by wangsizhe on 2022/6/1. +// Copyright © 2022 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MultiFactorBaseModel : NSObject +- (id)initWithDictionary:(NSDictionary *)dic; +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorFacade.h b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorFacade.h new file mode 100644 index 00000000..4624368b --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorFacade.h @@ -0,0 +1,19 @@ +// +// MultiFactorFacade.h +// MultiFactorFacade +// +// Created by mengbingchuan on 2022/5/11. +// Copyright © 2022 DTF. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MultiFactorFacade : NSObject ++ (NSString*)getTokenid; +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorTaskModel.h b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorTaskModel.h new file mode 100644 index 00000000..80d7b8e2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorTaskModel.h @@ -0,0 +1,26 @@ +// +// MultiFactorModel.h +// MultiFactorFacade +// +// Created by wangsizhe on 2022/6/1. +// Copyright © 2022 DTF. All rights reserved. +// + +#import "MultiFactorBaseModel.h" + +NS_ASSUME_NONNULL_BEGIN +@interface MultiFactorTaskContent :MultiFactorBaseModel +@property (nonatomic, copy) NSString *answerTitle; +@property (nonatomic, copy) NSString *question; +@property (nonatomic, assign) int time; +@property (nonatomic, copy) NSString *answerType; +@end + +@interface MultiFactorTaskModel : MultiFactorBaseModel +@property (nonatomic, copy) NSArray *content; +@property (nonatomic, copy) NSString *recognizeType; +@property (nonatomic, copy) NSString *recognizeTypeName; ++ (instancetype)itemWithDic:(NSDictionary *)dic; +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorViewProvider.h b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorViewProvider.h new file mode 100644 index 00000000..0aeea3ee --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Headers/MultiFactorViewProvider.h @@ -0,0 +1,76 @@ +// +// AuthViewProvider.h +// DTFIdentityManager +// +// Created by mengbingchuan on 2022/6/1. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import +#import +#import +#import +#import + +#import "MultiFactorTaskModel.h" + +@protocol MultiFactorTaskViewDelegate; + +@interface MultiFactorAlertModel : NSObject + +@property (nonatomic, copy) NSString *type; + +@property (nonatomic, copy) NSString *title; +@property (nonatomic, copy) NSString *message; + +@property (nonatomic, copy) NSString *confirmTitle; +@property (nonatomic, copy) void (^confirmBlock)(NSString *type); + +@property (nonatomic, copy) NSString *cancelTitle; +@property (nonatomic, copy) void (^cancelBlock)(NSString *type); + +@end + +@protocol MultiFactorTaskViewProtocol + +@property (nonatomic, weak) id delegate; +@property (nonatomic, strong) MultiFactorTaskModel *model; + +- (void)alertWithModel:(MultiFactorAlertModel *)model onController:(UIViewController *)controller; + +- (void)handleFaceStateChange:(ToygerMessage)state + stateTips:(NSString *)tips + actionGuide:(NSString *)guide + progress:(CGFloat)progress; + +- (void)countDown:(int)left; + +- (void)nextAction:(int)index; + +- (void)reset; + +- (UIView *)view; + +@end + +@protocol MultiFactorTaskViewDelegate + +- (void)viewExit:(id)view; + +- (void)viewStartRecord:(id)view; + +- (void)viewStopRecord:(id)view; + +@end + +@protocol MultiFactorViewProviderProtocol + +- (id)viewForRead:(MultiFactorTaskModel *)model; + +- (id)viewForQuestion:(MultiFactorTaskModel *)model; + +- (id)viewForRegister:(MultiFactorTaskModel *)model; + +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Info.plist new file mode 100644 index 00000000..5607240f Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/MultiFactorFacade b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/MultiFactorFacade new file mode 100644 index 00000000..eb2f0fb3 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/MultiFactorFacade differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..7ab498c4 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,36 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + + + + + NSPrivacyTrackingDomains + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + E174.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/en.lproj/InfoPlist.strings b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/MultiFactorFacade.framework/en.lproj/InfoPlist.strings differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRCaptureView.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRCaptureView.h new file mode 100644 index 00000000..4c29e231 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRCaptureView.h @@ -0,0 +1,58 @@ +// +// DTFOCRCaptureView.h +// OCRDetectSDKForTech +// +// Created by jiangzhipeng on 2025/1/6. +// Copyright © 2025 Alipay. All rights reserved. +// 拍照页面。提供拍照功能 + +#import "DTFOCRComponentView.h" + +typedef NS_ENUM(NSUInteger, DTFOCRCaptureViewStyle) { + DTFOCRCaptureViewStylePrepare,//准备拍照 + DTFOCRCaptureViewStyleComfirm,//确认照片 +}; + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFOCRCaptureView : DTFOCRComponentView + +@property (nonatomic, strong) UILabel *desLabel;//描述文字 +@property (nonatomic, strong) UIButton *retryButton;//重试按钮 +@property (nonatomic, strong) UIButton *completeButton;//完成按钮 +@property (nonatomic, strong) UIButton *takeButton;//拍照按钮 +@property (nonatomic, strong) UIButton *closeButton;//关闭按钮 +@property (nonatomic, strong) UIButton *flashButton;//闪光灯切换按钮 +@property (nonatomic, strong) UIImageView *focusImageView;//取景框图片 +@property (nonatomic, copy) void(^closeBlock)();//关闭界面回调 +@property (nonatomic, copy) void(^confirmImageBlock)(UIImage *anImage);//确认图片回调 +@property(nonatomic, assign) CGRect cropRect;//设置取景框尺寸,相对previewLayer的坐标 +@property(nonatomic, strong) AVCaptureVideoPreviewLayer *previewLayer;//预览图层 +@property (nonatomic, strong, nullable) UIImageView *previewImageView;//照片预览imageView +@property(nonatomic, strong) CAShapeLayer *fillLayer; //单黑色背景 + +//获取真实的裁剪尺寸,默认返回cropRect +- (CGRect)realCropRect; +//设置取景框大小 +- (void)setFocusRect:(CGRect)rect; +//更新UI +- (void)updateUI:(BOOL)isFront; +//切换当前view的样式 +- (void)changeToStyle:(DTFOCRCaptureViewStyle)style; +//更新预览图层, +- (void)updatePreviewLayer:(AVCaptureVideoPreviewLayer *)layer; + +//拍照 +- (void)takePhoto; +//确认照片 +- (void)confirm; +//关闭 +- (void)close; +//重拍 +- (void)retake; +//切换闪光灯状态 +- (void)switchFlashMode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRComponentView.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRComponentView.h new file mode 100644 index 00000000..ac0ce0f5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRComponentView.h @@ -0,0 +1,27 @@ +// +// DTFOCRComponentView.h +// OCRDetectSDKForTech +// +// Created by jiangzhipeng on 2025/1/6. +// Copyright © 2025 Alipay. All rights reserved. +// + +#import +#import +#import + +@class DTFOCRComponentView; + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFOCRComponentView : UIView +//代理操作对象 +@property (nonatomic, weak) id delegate; +//初始化UI +- (void)prepareUI; +//获取docConfig对象 +- (DTFLanguageCustomDocConfig *)docConfig; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRInfoView.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRInfoView.h new file mode 100644 index 00000000..c48a31df --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRInfoView.h @@ -0,0 +1,143 @@ +// +// DTFOCRInfoView.h +// OCRDetectSDKForTech +// +// Created by jiangzhipeng on 2025/1/6. +// Copyright © 2025 Alipay. All rights reserved. +// + +#import "DTFOCRComponentView.h" +#import +#import "DetectImageForOCRButton.h" +#import "DetectImageForOCRScrollView.h" +#import "DTFOCRCaptureView.h" +#import "DTFOCRVerifyErrorHintView.h" +#import "DTFOCRVerifyResultModel.h" + +typedef NS_ENUM(NSUInteger, DTFOCRVerify) { + DTFOCRVerifyFront,//认证身份证正面 + DTFOCRVerifyBack,//认证身份证反面 + DTFOCRVerifyTransition,//认证完成,过渡。准备跳转到人脸 +}; + +typedef NS_ENUM(NSUInteger, DTFOCRVerifyAlertStyle) { + DTFOCRVerifyAlertStyleOCRFailed,//OCR识别失败 + DTFOCRVerifyAlertStyleExit,//退出 + DTFOCRVerifyAlertStyleInputError,//身份信息输入错误 + DTFOCRVerifyAlertStyleCameraAccess,//相机权限 + DTFOCRVerifyAlertStyleAlbumAccess,//相册权限 +}; + +NS_ASSUME_NONNULL_BEGIN +//标题 +@interface DTFOCRInfoTitleView : UIView + +@property (nonatomic, strong) UIButton *closeButton;//关闭按钮 +@property (nonatomic, copy) void(^closeButtonClickedCallback)(); +- (void)prepareUI;//在init方法时执行,创建并添加好子view +- (CGSize)viewSize;//返回view的大小 + +@end + +//progressView +@interface DTFOCRInfoProgressView : UIView + +@property(nonatomic, strong) UIView *frontToBackVerifyLine;//正面认证到反面认证连接线条 +@property(nonatomic, strong) UIView *backToLivenessVerifyLine; //反面认证到活体认证连接线条 +@property(nonatomic, strong) UILabel *frontSerialNumberLabel;//正面认证序列号1 +@property(nonatomic, strong) UILabel *backSerialNumberLabel;//反面认证序列号2 +@property(nonatomic, strong) UILabel *livenessSerialNumberLabel;//活体认证序列号3 +@property(nonatomic, strong) UIImageView *frontVerifyStatusImageView;//红点 +@property(nonatomic, strong) UIImageView *backVerifyStatusImageView;//第二步红点 +@property(nonatomic, strong) UIImageView *livenessVerifyStatusImageView;//第三步红点 +@property(nonatomic, strong) UILabel *frontVerifyTipsLabel; //进度条下面的字 +@property(nonatomic, strong) UILabel *backVerifyTipsLabel;//进度条下面的字 +@property(nonatomic, strong) UILabel *livenessVerifyTipsLabel;//进度条下面的字 +- (void)prepareUI;//在init方法时执行,创建并添加好子view +- (CGSize)viewSize;//返回view的大小 + +@end + +//scanview +@interface DTFOCRInfoScanView : UIView + +@property(nonatomic, strong) UILabel *infoTipsLabel;//描述信息 +@property(nonatomic, strong) UIImageView *baseImageView;//拍摄提示图片或拍摄结果图片展示view +@property(nonatomic, strong) UIButton *takeRequestButton;//拍照要求按钮 +@property(nonatomic, strong) UILabel *bottomTipsLabel;//详细描述信息,如:“证件人像面” +@property(nonatomic, strong) UIImageView *takeImageView;//点击会触发拍照 +@property (nonatomic, copy) void(^requestButtonClickedCallback)();//拍照要求按钮被点击回调 +@property (nonatomic, copy) void(^captureButtonClickedCallback)(void(^completeBlock)());//拍照按钮点击回调 +- (void)prepareUI;//在init方法时执行,创建并添加好子view +- (CGSize)viewSize;//返回view的大小 + +@end + +//confirmview +@interface DTFOCRInfoConfirmView : UIView + +@property(nonatomic, strong) UITextField *idTextField;//id输入框 +@property(nonatomic, strong) UITextField *nameTextField;//姓名输入框 +@property(nonatomic, strong) UIView *nameView;//姓名容器 +@property(nonatomic, strong) UIView *idView;//ID容器 +@property(nonatomic, strong) UIView *noticeContainer; //提醒内容容器 +@property(nonatomic, strong) UILabel *noticeLabel;//提醒文字 +@property(nonatomic, strong) UIImageView *noticeHintImageView;//提醒图标 +@property(nonatomic, strong) UILabel *nameLabel;// 名字标签 +@property(nonatomic, strong) UILabel *idLabel;//ID标签 +- (void)prepareUI;//在init方法时执行,创建并添加好子view +- (CGSize)viewSize;//返回view的大小 + +@end + + +@interface DTFOCRInfoView : DTFOCRComponentView +//titleView +@property(nonatomic, strong) DTFOCRInfoTitleView *titleContentView; +//progressView +@property(nonatomic, strong) DTFOCRInfoProgressView *progressContentView; +//scanview +@property(nonatomic, strong) DTFOCRInfoScanView *scanContentView;; +//confirmview +@property(nonatomic, strong) DTFOCRInfoConfirmView *confirmView; +//下一步按钮 +@property(nonatomic, strong) DetectImageForOCRButton *nextButton; +//下一步按钮容器 +@property(nonatomic, strong) UIView *nextButtonView; +//滚动视图,scanview和confirmview的容器 +@property(nonatomic, strong) UIScrollView *contentScrollView; +//拍照View +@property (nonatomic, strong) DTFOCRCaptureView *captureView; +/// 错误提示view +@property (nonatomic, strong) DTFOCRVerifyErrorHintView *tipsErrorView; +//当前认证进度 +@property (nonatomic, assign) DTFOCRVerify currentVerify; + +//切换到下一个子进度,DTFOCRVerifyFront-DTFOCRVerifyBack-DTFOCRVerifyTransition调整UI +- (void)updateUIWhenEnterNextVerify; +//更新信息,ocr认证结果 +- (void)updateVerifyInfo:(DTFOCRVerifyResultDetailModel *)verifyInfo captureImage:(UIImage *)anImage; +//开始loading动画 +- (void)showLoading; +//停止loading动画 +- (void)hideLoading; +//显示拍照页面 +- (void)showCaptureView:(void (^ __nullable)(void))animateCompletion; +- (void)dismissCaptureView:(void (^ __nullable)(void))animateCompletion; +//显示拍照提示 +- (void)showCaptureTips; +//显示图片OCR认证失败提示(图片不符合规范导致) +- (void)showVerifyErrorHint; +//身份证正面信息确认有问题时弹窗,如身份证姓名号码不合规范 +- (void)showFrontVerifyInfoErrorToast:(NSString *)errorMsg; +//显示alert提示 +- (void)showAlertWithTitle:(NSString *)title message:(nullable NSString *)message alertStyle:(DTFOCRVerifyAlertStyle)style; +//关闭按钮事件 +- (void)close; +//下一步按钮事件,如正面验证完成进反面验证 +- (NSError *)next; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRVerifyErrorHintView.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRVerifyErrorHintView.h new file mode 100644 index 00000000..5a191579 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRVerifyErrorHintView.h @@ -0,0 +1,44 @@ +// +// DTFOCRVerifyErrorHintView.h +// OCRDetectSDKForTech +// +// Created by jiangzhipeng on 2025/1/6. +// Copyright © 2025 Alipay. All rights reserved. +// + +#import "DTFOCRComponentView.h" + +NS_ASSUME_NONNULL_BEGIN +typedef NS_ENUM(NSUInteger, DTFOCRVerifyErrorHintViewStyle) { + DTFOCRVerifyErrorHintViewStyleTips,//仅拍照提示 + DTFOCRVerifyErrorHintViewStyleError,//拍照提示 + 跳转拍照 +}; + +@interface DTFOCRVerifyErrorHintView : DTFOCRComponentView + +@property (nonatomic, strong) UIView *containerView;//展示内容view +//头部 +@property (nonatomic, strong) UILabel *titleLabel;//标题label +@property (nonatomic, strong) UIButton *closeButton;//关闭按钮 +@property (nonatomic, strong) UILabel *errorLabel;//错误文本 +@property (nonatomic, strong) UILabel *hintLabel;//错误提示文本 +@property (nonatomic, strong) UIView *footerDividingLine;//分割线 +@property (nonatomic, strong) UIButton *retakeButton;//重拍按钮 + +@property (nonatomic, strong) UIImageView *baseImageView;//底图 +//事件回调 +@property (nonatomic, copy) void (^closeActionBlock)(); +@property (nonatomic, copy) void (^retakeActionBlock)(); + +//更新UI样式 +- (void)updateContent:(DTFOCRVerifyErrorHintViewStyle)style; +- (void)updateContent:(DTFOCRVerifyErrorHintViewStyle)state title:(NSString *)title; + +//关闭界面 +- (void)close; +//重拍 +- (void)retake; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRVerifyResultModel.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRVerifyResultModel.h new file mode 100644 index 00000000..6fbca322 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DTFOCRVerifyResultModel.h @@ -0,0 +1,48 @@ +// +// DTFOCRVerifyResultModel.h +// OCRDetectSDKForTech +// +// Created by jiangzhipeng on 2025/2/12. +// Copyright © 2025 Alipay. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +@interface DTFOCRVerifyResultDetailModel : NSObject + +@property (nonatomic, copy) NSString *CertName;//姓名 +@property (nonatomic, copy) NSString *CertNo;//身份证号 +@property (nonatomic, copy) NSString *NowDate;//当前日期 +@property (nonatomic, copy) NSString *EndDate;//身份证有效截止日志 +@property (nonatomic, copy) NSString *StartDate;//身份证有效开始日期 + +/// 裁剪区域 高度 +@property (nonatomic, assign) CGFloat cardHeight; + +/// 裁剪区域 左边距离 +@property (nonatomic, assign) CGFloat cardLeft; + +/// 裁剪区域 顶部距离 +@property (nonatomic, assign) CGFloat cardTop; + +/// 裁剪区域 宽度 +@property (nonatomic, assign) CGFloat cardWidth; + +/// 是否有裁剪区域信息 +- (BOOL)isHaveCardCropInfo; + +@end + +@interface DTFOCRVerifyResultModel : NSObject + +@property (nonatomic, copy) NSString *RetCode;//信息码 +@property (nonatomic, copy) NSString *RetCodeSub;//信息z码 +@property (nonatomic, copy) NSString *RetMessageSub;//信息返回值 +@property (nonatomic, strong) DTFOCRVerifyResultDetailModel *OcrInfo;//ocr识别信息 + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRButton.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRButton.h new file mode 100644 index 00000000..338bc773 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRButton.h @@ -0,0 +1,21 @@ +// +// DetectImageForOCRButton.h +// DTFIdentityManager +// +// Created by 053508 on 2020/7/7. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DetectImageForOCRButton : UIButton + ++(NSString *) fileFromPath:(NSString*)fileName; + +-(void)setBackgroundColorWithColor:(UIColor*)color forState:(UIControlState)state; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRScrollView.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRScrollView.h new file mode 100644 index 00000000..06328057 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRScrollView.h @@ -0,0 +1,17 @@ +// +// DetectImageForOCRScrollView.h +// DTFIdentityManager +// +// Created by 053508 on 2020/6/28. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DetectImageForOCRScrollView : UIScrollView + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ToygerOCRViewController.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ToygerOCRViewController.h new file mode 100644 index 00000000..6fca5af7 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ToygerOCRViewController.h @@ -0,0 +1,27 @@ +// +// ToygerOCRViewController.h +// OCRDetectSDKForTech +// +// Created by jiangzhipeng on 2025/1/3. +// Copyright © 2025 Alipay. All rights reserved. +// OCR UI自定义容器 + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@class ZimRpcManager; +@interface ToygerOCRViewController : UIViewController + +@property (nonatomic, strong) id ocrView; +@property (nonatomic, copy) NSString *certifyId; +@property (nonatomic, strong) ZimRpcManager * rpcManager; +@property (nonatomic, copy) void(^OCRDetectBlock)(BOOL success,NSObject *result);//回调 +@property (nonatomic, assign) BOOL isClose; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimAliCloudOCRResponse.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimAliCloudOCRResponse.h new file mode 100644 index 00000000..bce32875 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimAliCloudOCRResponse.h @@ -0,0 +1,20 @@ +// +// ZimAliCloudOCRResponse.h +// DTFIdentityManager +// +// Created by 053508 on 2020/6/22. +// Copyright © 2020 DTF. All rights reserved. +// + +#import +#import "ZimOCRResponse.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ZimAliCloudOCRResponse : NSObject +@property(nonatomic,strong)ZimOCRResponse *ResultObject; +@property(nonatomic,strong)NSString * RequestId; +@property(nonatomic,strong)NSString * Code; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRForTechResponse.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRForTechResponse.h new file mode 100644 index 00000000..785d8b96 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRForTechResponse.h @@ -0,0 +1,25 @@ +// +// ZimOCRForTechResponse.h +// DTFIdentityManager +// +// Created by 053508 on 2020/8/26. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ZimOCRForTechResponse : NSObject + +@property (nonatomic,strong) NSString* zimId; +@property (nonatomic,strong) NSString* side; +@property (nonatomic,strong) NSString* ocrInfo; +@property (nonatomic,strong) NSString* retCodeSub; +@property (nonatomic,strong) NSString* retMessageSub; +@property (nonatomic,strong) NSString* externInfo; +@property (nonatomic,strong) NSString* retCode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRRequest.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRRequest.h new file mode 100644 index 00000000..9c4442d2 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRRequest.h @@ -0,0 +1,23 @@ +// +// ZimOCRRequest.h +// DTFIdentityManager +// +// Created by 053508 on 2020/8/26. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ZimOCRRequest : NSObject + +@property (nonatomic,strong)NSString *zimId; +@property (nonatomic,strong)NSString *dataType; //数据类型:OSS_ADDR/BASE64_JPG +@property (nonatomic,strong)NSString *dataContext; +@property (nonatomic,strong)NSString *side;/*face: 身份证正面 back: 身份证反面 缺省值是:face*/ +@property (nonatomic,strong)NSString *externParam; //扩展信息,预留字段,Map的json格式 + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRResponse.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRResponse.h new file mode 100644 index 00000000..fcc87a09 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRResponse.h @@ -0,0 +1,23 @@ +// +// ZimOCRResponse.h +// DTFIdentityManager +// +// Created by 053508 on 2020/6/22. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ZimOCRResponse : NSObject +@property (nonatomic,strong) NSString* RetCode;//SInt32 productRetCode ; +@property (nonatomic,strong) NSDictionary* OcrInfo;//extParams ; +@property (nonatomic,strong) NSString* RetCodeSub;//retCodeSub ; +@property (nonatomic,strong) NSString* RetMessageSub;//retMessageSub ; + + ++ (Class)OcrInfoElementClass; +@end + +NS_ASSUME_NONNULL_END diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRVerifyResult.h b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRVerifyResult.h new file mode 100644 index 00000000..b92a79a3 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Headers/ZimOCRVerifyResult.h @@ -0,0 +1,22 @@ +// +// ZimOCRVerifyResult.h +// DTFIdentityManager +// +// Created by 053508 on 2020/6/23. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +@interface ZimOCRVerifyResult : NSObject + +@property (nonatomic,strong) NSString* RetCode;//SInt32 productRetCode ; +@property (nonatomic,strong) NSString* nameString; +@property (nonatomic,strong) NSString* idString; +@property (nonatomic,strong) NSString* startTime; +@property (nonatomic,strong) NSString* endTime; +@property (nonatomic,strong) NSString* RetCodeSub;//retCodeSub ; +@property (nonatomic,strong) NSString* RetMessageSub;//retMessageSub ; +@property (nonatomic,assign) BOOL abnormalDismiss; +@end + diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Info.plist new file mode 100644 index 00000000..67654b5c Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/OCRDetectSDKForTech b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/OCRDetectSDKForTech new file mode 100644 index 00000000..c18c97ed Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRDetectSDKForTech.framework/OCRDetectSDKForTech differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/clickbutton@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/clickbutton@3x.png new file mode 100644 index 00000000..afd5aa95 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/clickbutton@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/closex@2x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/closex@2x.png new file mode 100644 index 00000000..2ae76f31 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/closex@2x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/completebutton@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/completebutton@3x.png new file mode 100644 index 00000000..c9cc5bf5 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/completebutton@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/completebuttonshuke@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/completebuttonshuke@3x.png new file mode 100644 index 00000000..48747e11 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/completebuttonshuke@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/country@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/country@3x.png new file mode 100644 index 00000000..c14e1640 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/country@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/dtf_ocr_take_photo_require@2x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/dtf_ocr_take_photo_require@2x.png new file mode 100644 index 00000000..65d7e92e Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/dtf_ocr_take_photo_require@2x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/dtf_ocr_take_photo_require_en@2x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/dtf_ocr_take_photo_require_en@2x.png new file mode 100644 index 00000000..18cdd77c Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/dtf_ocr_take_photo_require_en@2x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/en.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/en.strings new file mode 100644 index 00000000..e4f2a6da --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/en.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "Shooting portrait face"; +"OCRXMedia:拍摄要求" = "Requirements"; +"OCRXMedia:证件人像面" = "Portrait face"; +"OCRXMedia:人像面" = "Portrait"; +"OCRXMedia:拍摄国徽面" = "National emblem"; +"OCRXMedia:证件国徽面" = "National emblem"; +"OCRXMedia:国徽面" = "National"; +"OCRXMedia:拍摄身份证人像面" = "Take a portrait"; +"OCRXMedia:拍摄身份证国徽面" = "Take the national emblem"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "Please make sure to face the phone with sufficient light"; +"OCRXMedia:请将身份证置于框内拍摄" = "Please place your ID card in the box"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "Please confirm the information, click to modify if error"; +"OCRXMedia:姓名" = "Name"; +"OCRXMedia:身份证号" = "ID number"; +"OCRXMedia:识别失败" = "Identification failure"; +"OCRXMedia:证件图像未符合要求" = "ID image does not meet the requirements"; +"OCRXMedia:请按要求上传本人有效身份证" = "Please take a valid ID card as required"; +"OCRXMedia:重新拍照" = "Re-shoot "; +"OCRXMedia:重新上传" = "Re-upload"; +"OCRXMedia:识别超时" = "Identification timeout"; +"OCRXMedia:网络连接超时,请重新识别" = "Network connection timeout, please re-identify"; +"OCRXMedia:重新识别" = "Re-identification "; +"OCRXMedia:识别中" = "Identifying..."; +"OCRXMedia:即将进入刷脸页..." = "Face Loading..."; +"OCRXMedia:识别失败次数过多" = "Too many failures"; +"OCRXMedia:请退出后重试" = "Try again after exiting"; +"OCRXMedia:相机权限被禁止,请检查" = "Camera permission is forbidden"; +"OCRXMedia:温馨提示" = "Warm reminder"; +"OCRXMedia:确认身份信息无误" = "Confirm"; +"OCRXMedia:请输入姓名" = "Enter your name"; +"OCRXMedia:请输入身份证号" = "Enter your ID number"; +"OCRXMedia:下一步" = "Next step"; +"OCRXMedia:确定退出吗?" = "Are you sure to exit?"; +"OCRXMedia:确定" = "OK"; +"OCRXMedia:取消" = "cancel"; +"OCRXMedia:姓名不能为空" = "Name cannot be empty"; +"OCRXMedia:姓名超过100个字" = "Name exceeds 100 characters"; +"OCRXMedia:身份证号码格式错误" = "Invalid ID number format"; +"OCRXMedia:身份信息不能为空" = "ID information cannot be empty"; +"OCRXMedia:从相册中选择" = "select from album"; +"OCRXMedia:拍照" = "take photo"; +"OCRXMedia:取消" = "cancel"; +"OCRXMedia:实人认证" = "Auth"; +"OCRXMedia:退出"="Quit"; +"OCRXMedia:请打开摄像头权限"="Enable camera permission"; +"OCRXMedia:请打开相册权限"="Enable photo gallery permission"; +"OCRXMedia:去设置"="Go to Settings"; +"OCRXMedia:身份证最多十八位"="ID max 18 digits"; +"OCRXMedia:名字太长,超过100位"="Name too long (over 100 chars)"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/face@2x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/face@2x.png new file mode 100644 index 00000000..13d8fe2b Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/face@2x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/finishto@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/finishto@3x.png new file mode 100644 index 00000000..0906d052 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/finishto@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/finishto_tech@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/finishto_tech@3x.png new file mode 100644 index 00000000..b4b669f5 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/finishto_tech@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/flash@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/flash@3x.png new file mode 100644 index 00000000..2b14fbcd Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/flash@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/flashX@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/flashX@3x.png new file mode 100644 index 00000000..5fa53a35 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/flashX@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/icon@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/icon@3x.png new file mode 100644 index 00000000..b0511c4c Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/icon@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/icon_modifyInfo@2x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/icon_modifyInfo@2x.png new file mode 100644 index 00000000..ee09e4f5 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/icon_modifyInfo@2x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/id.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/id.strings new file mode 100644 index 00000000..c2c4dae8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/id.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "Ambil foto samping dengan wajah Anda"; +"OCRXMedia:拍摄要求" = "Persyaratan Foto"; +"OCRXMedia:证件人像面" = "Belakang (Foto Wajah)"; +"OCRXMedia:人像面" = "Kembali"; +"OCRXMedia:拍摄国徽面" = "Ambil foto sisi dengan lambang negara"; +"OCRXMedia:证件国徽面" = "Depan (Foto Lambang Negara)"; +"OCRXMedia:国徽面" = "Depan"; +"OCRXMedia:拍摄身份证人像面" = "Ambil foto bagian belakang kartu identitas Anda"; +"OCRXMedia:拍摄身份证国徽面" = "Ambil foto bagian depan KTP Anda"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "Untuk mengambil foto wajah Anda, arahkan wajah lurus menghadap ponsel Anda"; +"OCRXMedia:请将身份证置于框内拍摄" = "Posisikan kartu identitas Anda di dalam bingkai"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "Konfirmasi informasi terkait. Jika terdapat kesalahan pada informasi, ketuk untuk mengubahnya"; +"OCRXMedia:姓名" = "Nama"; +"OCRXMedia:身份证号" = "Nomor KTP"; +"OCRXMedia:识别失败" = "Pengenalan gagal"; +"OCRXMedia:证件图像未符合要求" = "Foto sertifikat tidak memenuhi persyaratan"; +"OCRXMedia:请按要求上传本人有效身份证" = "Ambil foto KTP Anda dengan mengikuti persyaratan"; +"OCRXMedia:重新拍照" = "Ulangi mengambil gambar"; +"OCRXMedia:重新上传" = "Unggah ulang"; +"OCRXMedia:识别超时" = "Waktu pengenalan habis"; +"OCRXMedia:网络连接超时,请重新识别" = "Waktu koneksi jaringan habis. Harap coba lagi"; +"OCRXMedia:重新识别" = "Kenali lagi"; +"OCRXMedia:识别中" = "Mengenali"; +"OCRXMedia:即将进入刷脸页..." = "Memasuki halaman pengenalan wajah"; +"OCRXMedia:识别失败次数过多" = "Pengenalan gagal berulang kali"; +"OCRXMedia:请退出后重试" = "Harap keluar dan coba lagi"; +"OCRXMedia:相机权限被禁止,请检查" = "Akses ke kamera Anda tidak diperbolehkan. Periksa izin"; +"OCRXMedia:温馨提示" = "Catatan"; +"OCRXMedia:确认身份信息无误" = "Konfirmasi Data Diri"; +"OCRXMedia:请输入姓名" = "Masukkan nama"; +"OCRXMedia:请输入身份证号" = "Masukkan nomor KTP"; +"OCRXMedia:下一步" = "Lanjut"; +"OCRXMedia:确定退出吗?" = "Yakin ingin keluar?"; +"OCRXMedia:确定" = "Ya"; +"OCRXMedia:取消" = "Batal"; +"OCRXMedia:姓名不能为空" = "Nama tidak boleh kosong"; +"OCRXMedia:姓名超过100个字" = "Nama melebihi 100 karakter"; +"OCRXMedia:身份证号码格式错误" = "Format nomor KTP salah"; +"OCRXMedia:身份信息不能为空" = "Informasi ID tidak boleh kosong"; +"OCRXMedia:从相册中选择" = "Pilih dari album"; +"OCRXMedia:拍照" = "Ambil foto"; +"OCRXMedia:取消" = "Batal"; +"OCRXMedia:实人认证" = "Verifikasi KTP"; +"OCRXMedia:退出"="Keluar"; +"OCRXMedia:请打开摄像头权限"="Aktifkan izin kamera"; +"OCRXMedia:请打开相册权限"="Aktifkan izin album"; +"OCRXMedia:去设置"="Ke Pengaturan"; +"OCRXMedia:身份证最多十八位"="KTP max 18 digit"; +"OCRXMedia:名字太长,超过100位"="Nama terlalu panjang (lebih 100 karakter)"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/ja.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/ja.strings new file mode 100644 index 00000000..144fe94e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/ja.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "横顔を撮影してください"; +"OCRXMedia:拍摄要求" = "写真の要件"; +"OCRXMedia:证件人像面" = "戻る (顔写真)"; +"OCRXMedia:人像面" = "戻る"; +"OCRXMedia:拍摄国徽面" = "国章側を撮影してください"; +"OCRXMedia:证件国徽面" = "表 (国章の写真)"; +"OCRXMedia:国徽面" = "表"; +"OCRXMedia:拍摄身份证人像面" = "ID カードの裏面を撮影してください"; +"OCRXMedia:拍摄身份证国徽面" = "ID カードの裏面を撮影してください"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "顔写真を撮影する場合、明るい場所で電話の方を向いてください"; +"OCRXMedia:请将身份证置于框内拍摄" = "フレーム内で IDカードを動かします"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "情報を確認してください。情報が正しくない場合は、タップして情報を変更します"; +"OCRXMedia:姓名" = "名前"; +"OCRXMedia:身份证号" = "ID カード番号"; +"OCRXMedia:识别失败" = "認識できませんでした"; +"OCRXMedia:证件图像未符合要求" = "証明写真が要件を満たしていません"; +"OCRXMedia:请按要求上传本人有效身份证" = "以下の要件に従って、ID カードの写真を撮影してください"; +"OCRXMedia:重新拍照" = "もう一度撮影"; +"OCRXMedia:重新上传" = "再アップロード"; +"OCRXMedia:识别超时" = "認識がタイムアウトしました"; +"OCRXMedia:网络连接超时,请重新识别" = "ネットワーク接続がタイムアウトしました。もう一度お試しください"; +"OCRXMedia:重新识别" = "もう一度認識してください"; +"OCRXMedia:识别中" = "認識中"; +"OCRXMedia:即将进入刷脸页..." = "顔認識ページを開きます"; +"OCRXMedia:识别失败次数过多" = "認識の失敗が頻繁に発生しました"; +"OCRXMedia:请退出后重试" = "終了してもう一度お試しください"; +"OCRXMedia:相机权限被禁止,请检查" = "カメラにアクセスできません。設定を確認してください"; +"OCRXMedia:温馨提示" = "注意"; +"OCRXMedia:确认身份信息无误" = "本人情報の確認"; +"OCRXMedia:请输入姓名" = "氏名を入力"; +"OCRXMedia:请输入身份证号" = "身分証番号を入力"; +"OCRXMedia:下一步" = "次へ"; +"OCRXMedia:确定退出吗?" = "終了しますか?"; +"OCRXMedia:确定" = "はい"; +"OCRXMedia:取消" = "キャンセル"; +"OCRXMedia:姓名不能为空" = "氏名が未入力です"; +"OCRXMedia:姓名超过100个字" = "氏名が100文字を超えています"; +"OCRXMedia:身份证号码格式错误" = "身分証明書番号の形式が不正です"; +"OCRXMedia:身份信息不能为空" = "身分情報が未入力です"; +"OCRXMedia:从相册中选择" = "アルバムから選択"; +"OCRXMedia:拍照" = "写真を撮る"; +"OCRXMedia:取消" = "キャンセル"; +"OCRXMedia:实人认证" = "ID 検証"; +"OCRXMedia:退出"="終了"; +"OCRXMedia:请打开摄像头权限"="カメラ権限を開けてください"; +"OCRXMedia:请打开相册权限"="アルバム権限を開けてください"; +"OCRXMedia:去设置"="設定へ"; +"OCRXMedia:身份证最多十八位"="ID 最大 18 桁"; +"OCRXMedia:名字太长,超过100位"="名前過長(100 文字超)"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/ko.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/ko.strings new file mode 100644 index 00000000..c4ad5771 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/ko.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "얼굴의 측면 사진을 찍어주세요"; +"OCRXMedia:拍摄要求" = "사진 요구사항"; +"OCRXMedia:证件人像面" = "뒷면(얼굴 사진)"; +"OCRXMedia:人像面" = "뒷면"; +"OCRXMedia:拍摄国徽面" = "국장의 측면 사진을 찍어주세요"; +"OCRXMedia:证件国徽面" = "앞면(국장 사진)"; +"OCRXMedia:国徽面" = "앞면"; +"OCRXMedia:拍摄身份证人像面" = "신분증 뒷면의 사진을 찍어주세요"; +"OCRXMedia:拍摄身份证国徽面" = "신분증 앞면의 사진을 찍어주세요"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "얼굴 사진을 찍기 위해서는 충분한 빛이 있는 환경에서 휴대전화를 정면으로 바라보세요"; +"OCRXMedia:请将身份证置于框内拍摄" = "신분증을 프레임 안으로 움직이세요"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "정보를 확인하세요. 정보가 올바르지 않으면 탭하여 정보를 수정합니다"; +"OCRXMedia:姓名" = "이름"; +"OCRXMedia:身份证号" = "신분증 번호"; +"OCRXMedia:识别失败" = "인식에 실패했습니다"; +"OCRXMedia:证件图像未符合要求" = "인증 사진이 요구 사항을 충족하지 않습니다"; +"OCRXMedia:请按要求上传本人有效身份证" = "요구사항에 맞게 신분증의 사진을 찍으세요"; +"OCRXMedia:重新拍照" = "다시 촬영"; +"OCRXMedia:重新上传" = "다시 업로드"; +"OCRXMedia:识别超时" = "인식 시간이 초과되었습니다"; +"OCRXMedia:网络连接超时,请重新识别" = "네트워크 연결 시간이 초과되었습니다. 다시 시도하세요"; +"OCRXMedia:重新识别" = "다시 인식"; +"OCRXMedia:识别中" = "인식 중"; +"OCRXMedia:即将进入刷脸页..." = "안면 인식 페이지로 들어가기"; +"OCRXMedia:识别失败次数过多" = "인식이 연속으로 실패했습니다"; +"OCRXMedia:请退出后重试" = "종료한 후 다시 시도하세요"; +"OCRXMedia:相机权限被禁止,请检查" = "카메라 접근이 금지되어 있습니다. 권한을 확인하세요"; +"OCRXMedia:温馨提示" = "참고"; +"OCRXMedia:确认身份信息无误" = "신분 정보 확인"; +"OCRXMedia:请输入姓名" = "이름 입력"; +"OCRXMedia:请输入身份证号" = "주민등록번호 입력"; +"OCRXMedia:下一步" = "다음"; +"OCRXMedia:确定退出吗?" = "종료하시겠습니까?"; +"OCRXMedia:确定" = "확인"; +"OCRXMedia:取消" = "취소"; +"OCRXMedia:姓名不能为空" = "이름을 입력해 주세요"; +"OCRXMedia:姓名超过100个字" = "이름이 100자 초과입니다"; +"OCRXMedia:身份证号码格式错误" = "주민등록번호 형식 오류"; +"OCRXMedia:身份信息不能为空" = "신분 정보를 입력해 주세요"; +"OCRXMedia:从相册中选择" = "앨범에서 선택"; +"OCRXMedia:拍照" = "촬영"; +"OCRXMedia:取消" = "취소"; +"OCRXMedia:实人认证" = "신분증 확인"; +"OCRXMedia:退出"="종료"; +"OCRXMedia:请打开摄像头权限"="카메라 권한 켜주세요"; +"OCRXMedia:请打开相册权限"="앨범 권한 켜주세요"; +"OCRXMedia:去设置"="설정으로 가세요"; +"OCRXMedia:身份证最多十八位"="ID 최대18자리"; +"OCRXMedia:名字太长,超过100位"="이름過長(100자超)"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/planto@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/planto@3x.png new file mode 100644 index 00000000..ac0f75b7 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/planto@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/planto_tech@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/planto_tech@3x.png new file mode 100644 index 00000000..3405a04d Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/planto_tech@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/returnbutton@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/returnbutton@3x.png new file mode 100644 index 00000000..fc710a2e Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/returnbutton@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/scan@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/scan@3x.png new file mode 100644 index 00000000..d3ee7b94 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/scan@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/tipNode@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/tipNode@3x.png new file mode 100644 index 00000000..7cf2cdf7 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/tipNode@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/verifyFace@2x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/verifyFace@2x.png new file mode 100644 index 00000000..d766dd96 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/verifyFace@2x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/withoutto@3x.png b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/withoutto@3x.png new file mode 100644 index 00000000..7bce1167 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/withoutto@3x.png differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-HK.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-HK.strings new file mode 100644 index 00000000..38b6745f --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-HK.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "拍攝人像麵"; +"OCRXMedia:拍摄要求" = "拍攝要求"; +"OCRXMedia:证件人像面" = "證件人像麵"; +"OCRXMedia:人像面" = "人像麵"; +"OCRXMedia:拍摄国徽面" = "拍攝國徽麵"; +"OCRXMedia:证件国徽面" = "證件國徽麵"; +"OCRXMedia:国徽面" = "國徽麵"; +"OCRXMedia:拍摄身份证人像面" = "拍攝身份證人像麵"; +"OCRXMedia:拍摄身份证国徽面" = "拍攝身份證國徽麵"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "拍攝您本人人臉,請確保正對手機,光線充足"; +"OCRXMedia:请将身份证置于框内拍摄" = "請將身份證置於框內拍攝"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "請確認信息,若有誤請點擊修改"; +"OCRXMedia:姓名" = "姓名"; +"OCRXMedia:身份证号" = "身份證號"; +"OCRXMedia:识别失败" = "識別失敗"; +"OCRXMedia:证件图像未符合要求" = "證件圖像未符閤要求"; +"OCRXMedia:请按要求上传本人有效身份证" = "請按要求拍攝本人有效身份證"; +"OCRXMedia:重新拍照" = "重新拍攝"; +"OCRXMedia:重新上传" = "重新上傳"; +"OCRXMedia:识别超时" = "識別超時"; +"OCRXMedia:网络连接超时,请重新识别" = "網絡連接超時,請重新識別"; +"OCRXMedia:重新识别" = "重新識別"; +"OCRXMedia:识别中" = "識別中..."; +"OCRXMedia:即将进入刷脸页..." = "即將進入刷臉頁..."; +"OCRXMedia:识别失败次数过多" = "識別失敗次數過多"; +"OCRXMedia:请退出后重试" = "請退出後重試"; +"OCRXMedia:相机权限被禁止,请检查" = "相機權限被禁止,請檢查"; +"OCRXMedia:温馨提示" = "溫馨提示"; +"OCRXMedia:确认身份信息无误" = "確認身份信息無誤"; +"OCRXMedia:请输入姓名" = "請輸入姓名"; +"OCRXMedia:请输入身份证号" = "請輸入身份證號"; +"OCRXMedia:下一步" = "下一步"; +"OCRXMedia:确定退出吗?" = "確定退出嗎?"; +"OCRXMedia:确定" = "確定"; +"OCRXMedia:取消" = "取消"; +"OCRXMedia:姓名不能为空" = "姓名不能為空"; +"OCRXMedia:姓名超过100个字" = "姓名超過100個字"; +"OCRXMedia:身份证号码格式错误" = "身份證號碼格式錯誤"; +"OCRXMedia:身份信息不能为空" = "身份信息不能為空"; +"OCRXMedia:从相册中选择" = "從相冊中選擇"; +"OCRXMedia:拍照" = "拍照"; +"OCRXMedia:取消" = "取消"; +"OCRXMedia:实人认证" = "實人認證"; +"OCRXMedia:退出"="退出"; +"OCRXMedia:请打开摄像头权限"="請開啟攝像頭權限"; +"OCRXMedia:请打开相册权限"="請開啟相簿權限"; +"OCRXMedia:去设置"="前往設定"; +"OCRXMedia:身份证最多十八位"="身份證最多 18 位"; +"OCRXMedia:名字太长,超过100位"="姓名過長(超 100 位)"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-Hans.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-Hans.strings new file mode 100644 index 00000000..11da81a1 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-Hans.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "拍摄人像面"; +"OCRXMedia:拍摄要求" = "拍摄要求"; +"OCRXMedia:证件人像面" = "证件人像面"; +"OCRXMedia:人像面" = "人像面"; +"OCRXMedia:拍摄国徽面" = "拍摄国徽面"; +"OCRXMedia:证件国徽面" = "证件国徽面"; +"OCRXMedia:国徽面" = "国徽面"; +"OCRXMedia:拍摄身份证人像面" = "拍摄身份证人像面"; +"OCRXMedia:拍摄身份证国徽面" = "拍摄身份证国徽面"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "拍摄您本人人脸,请确保正对手机,光线充足"; +"OCRXMedia:请将身份证置于框内拍摄" = "请将身份证置于框内拍摄"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "请确认以下身份信息,如有误请点击修改"; +"OCRXMedia:姓名" = "姓名"; +"OCRXMedia:身份证号" = "身份证号"; +"OCRXMedia:识别失败" = "识别失败"; +"OCRXMedia:证件图像未符合要求" = "证件图像未符合要求"; +"OCRXMedia:请按要求上传本人有效身份证" = "请按要求上传本人有效身份证"; +"OCRXMedia:重新拍照" = "重新拍照"; +"OCRXMedia:重新上传" = "重新上传"; +"OCRXMedia:识别超时" = "识别超时"; +"OCRXMedia:网络连接超时,请重新识别" = "网络连接超时,请重新识别"; +"OCRXMedia:重新识别" = "重新识别"; +"OCRXMedia:识别中" = "识别中..."; +"OCRXMedia:即将进入刷脸页..." = "即将进入刷脸页..."; +"OCRXMedia:识别失败次数过多" = "识别失败次数过多"; +"OCRXMedia:请退出后重试" = "请退出后重试"; +"OCRXMedia:相机权限被禁止,请检查" = "相机权限被禁止,请检查"; +"OCRXMedia:温馨提示" = "温馨提示"; +"OCRXMedia:确认身份信息无误" = "确认身份信息无误"; +"OCRXMedia:请输入姓名" = "请输入姓名"; +"OCRXMedia:请输入身份证号" = "请输入身份证号"; +"OCRXMedia:下一步" = "下一步"; +"OCRXMedia:确定退出吗?" = "确定退出吗?"; +"OCRXMedia:确定" = "确定"; +"OCRXMedia:取消" = "取消"; +"OCRXMedia:姓名不能为空" = "姓名不能为空"; +"OCRXMedia:姓名超过100个字" = "姓名超过100个字"; +"OCRXMedia:身份证号码格式错误" = "身份证号码格式错误"; +"OCRXMedia:身份信息不能为空" = "身份信息不能为空"; +"OCRXMedia:从相册中选择" = "从相册中选择"; +"OCRXMedia:拍照" = "拍照"; +"OCRXMedia:取消" = "取消"; +"OCRXMedia:实人认证" = "实人认证"; +"OCRXMedia:退出"="退出"; +"OCRXMedia:请打开摄像头权限"="请打开摄像头权限"; +"OCRXMedia:请打开相册权限"="请打开相册权限"; +"OCRXMedia:去设置"="去设置"; +"OCRXMedia:身份证最多十八位"="身份证最多十八位"; +"OCRXMedia:名字太长,超过100位"="名字太长,超过100位"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-Hant.strings b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-Hant.strings new file mode 100644 index 00000000..38b6745f --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/OCRXMedia.bundle/zh-Hant.strings @@ -0,0 +1,49 @@ +"OCRXMedia:拍摄人像面" = "拍攝人像麵"; +"OCRXMedia:拍摄要求" = "拍攝要求"; +"OCRXMedia:证件人像面" = "證件人像麵"; +"OCRXMedia:人像面" = "人像麵"; +"OCRXMedia:拍摄国徽面" = "拍攝國徽麵"; +"OCRXMedia:证件国徽面" = "證件國徽麵"; +"OCRXMedia:国徽面" = "國徽麵"; +"OCRXMedia:拍摄身份证人像面" = "拍攝身份證人像麵"; +"OCRXMedia:拍摄身份证国徽面" = "拍攝身份證國徽麵"; +"OCRXMedia:拍摄您本人人脸,请确保正对手机,光线充足" = "拍攝您本人人臉,請確保正對手機,光線充足"; +"OCRXMedia:请将身份证置于框内拍摄" = "請將身份證置於框內拍攝"; +"OCRXMedia:请确认以下身份信息,如有误请点击修改" = "請確認信息,若有誤請點擊修改"; +"OCRXMedia:姓名" = "姓名"; +"OCRXMedia:身份证号" = "身份證號"; +"OCRXMedia:识别失败" = "識別失敗"; +"OCRXMedia:证件图像未符合要求" = "證件圖像未符閤要求"; +"OCRXMedia:请按要求上传本人有效身份证" = "請按要求拍攝本人有效身份證"; +"OCRXMedia:重新拍照" = "重新拍攝"; +"OCRXMedia:重新上传" = "重新上傳"; +"OCRXMedia:识别超时" = "識別超時"; +"OCRXMedia:网络连接超时,请重新识别" = "網絡連接超時,請重新識別"; +"OCRXMedia:重新识别" = "重新識別"; +"OCRXMedia:识别中" = "識別中..."; +"OCRXMedia:即将进入刷脸页..." = "即將進入刷臉頁..."; +"OCRXMedia:识别失败次数过多" = "識別失敗次數過多"; +"OCRXMedia:请退出后重试" = "請退出後重試"; +"OCRXMedia:相机权限被禁止,请检查" = "相機權限被禁止,請檢查"; +"OCRXMedia:温馨提示" = "溫馨提示"; +"OCRXMedia:确认身份信息无误" = "確認身份信息無誤"; +"OCRXMedia:请输入姓名" = "請輸入姓名"; +"OCRXMedia:请输入身份证号" = "請輸入身份證號"; +"OCRXMedia:下一步" = "下一步"; +"OCRXMedia:确定退出吗?" = "確定退出嗎?"; +"OCRXMedia:确定" = "確定"; +"OCRXMedia:取消" = "取消"; +"OCRXMedia:姓名不能为空" = "姓名不能為空"; +"OCRXMedia:姓名超过100个字" = "姓名超過100個字"; +"OCRXMedia:身份证号码格式错误" = "身份證號碼格式錯誤"; +"OCRXMedia:身份信息不能为空" = "身份信息不能為空"; +"OCRXMedia:从相册中选择" = "從相冊中選擇"; +"OCRXMedia:拍照" = "拍照"; +"OCRXMedia:取消" = "取消"; +"OCRXMedia:实人认证" = "實人認證"; +"OCRXMedia:退出"="退出"; +"OCRXMedia:请打开摄像头权限"="請開啟攝像頭權限"; +"OCRXMedia:请打开相册权限"="請開啟相簿權限"; +"OCRXMedia:去设置"="前往設定"; +"OCRXMedia:身份证最多十八位"="身份證最多 18 位"; +"OCRXMedia:名字太长,超过100位"="姓名過長(超 100 位)"; diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/Headers/Toyger.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/Headers/Toyger.h new file mode 100644 index 00000000..636e2b22 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/Headers/Toyger.h @@ -0,0 +1,820 @@ +#pragma once +#include +#include +#include +#include +#include + +//#if (defined HUMMINGBIRD) || (defined JASMINE) +//#include "zface_common.h" +//#endif +//10.1.90新增,给xmedia提供的算法服务会读取这个变量,如果在运行中,算法启动失败 +static bool tg_algorithm_is_running; + +enum ProductCode { + // 默认原子产品 + Default = 0, + // 瓢虫 + Ladybird = 1, +}; + +enum ToygerAlgorithm{ + Toyger_Algorithm_None = 0, + Toyger_Algorithm_Face = 1 << 0, + Toyger_Algorithm_Doc = 1 << 1 +}; + + +/** + * sdk算法能力 + */ +enum Capacity { + /** + * 无效能力 + */ + CAPACITY_INVALID = 0, + /** + * 检测,可与其它能力结合使用 + */ + CAPACITY_DETECTION = 1 << 0, + /** + * 活体,可与其它能力结合使用 + */ + CAPACITY_LIVENESS = 1 << 1, + /** + * 抽特征,可与其它能力结合使用 + */ + CAPACITY_FEATURE = 1 << 2, + /** + * 比对,可与其它能力结合使用 + */ + CAPACITY_VERIFY = 1 << 3, + /** + * 本地MTee环境比对 + * 不可与其他类型结合使用 + */ + CAPACITY_VERIFY_TEE = 1 << 4, + + /** + * 嘴部模型 + */ + CAPACITY_MOUTH = 1 << 5 +}; + +/** + * 人脸库加载失败的原因 + */ +enum FEATURE_STORE_ERROR_CODE { + /** + * 成功 + */ + STORE_SUCCESS = 0, + /** + * 失败:未知原因 + */ + STORE_FAILED_UNKNOWN = 1, + /** + * 失败:feature版本错误 + */ + STORE_FAILED_VERSION_ERROR = 2, + /** + * 失败:无效的feautre + */ + STORE_FAILED_INVALID_FEATURE = 3, + /** + * 失败:人脸库过大 + */ + STORE_FAILED_OVERSIZE = 4 +}; + +enum ToygerLog{ + Toyger_Log_VERBOSE = 2, + Toyger_Log_DEBUG = 3, + Toyger_Log_INFO = 4, + Toyger_Log_WARN = 5, + Toyger_Log_ERROR = 6, + Toyger_Log_ASSERT = 7, + Toyger_Log_Performance = 8, +}; + +enum TGMessage{ + TG_Message_Image_Perfect = 0, + TG_Message_No_Face, + TG_Message_Distance_Too_Far, + TG_Message_Distance_Too_Close, + TG_Message_Face_Not_In_Center, + TG_Message_Bad_Pitch, + TG_Message_Bad_Yaw, + TG_Message_Is_Moving, + TG_Message_Bad_Brightness, + TG_Message_Bad_Quality, + TG_Message_Bad_Eye_Openness, + TG_Message_Blink_Openness, + TG_Message_Stack_Time, + TG_Message_Depth_Damage, + TG_Message_Left_Yaw_Guide, + TG_Message_Right_Yaw_Guide, + TG_Message_Mouth_Open_Guide, + TG_Message_Lip_Move_Guide, + TG_Message_Photinus_Guide, + TG_Message_Face_Too_More, + TG_Message_Target_Too_Far, // 离目标区域太远 + TG_Message_Target_Too_Close, // 离目标区域太近 + TG_Message_Calibrate_Too_Far, // 离校准区域太远 + TG_Message_Calibrate_Too_Close, // 离校准区域太近 + TG_Message_NearFar_Collect, // 远近人脸采集中 + TG_Message_Face_Not_In_Postion // 人脸位置不在要求区域中 + +}; + +enum TGStaticMessage{ + TGStaticMessage_NoLiveness = 0, + TGStaticMessage_BlinkLiveness, + TGStaticMessage_LeftYawLiveness, + TGStaticMessage_RightYawLiveness, + TGStaticMessage_MouthOpenLiveness, + TGStaticMessage_LipMoveLiveness, + TGStaticMessage_PhotinusLiveness, + TGStaticMessage_NearFarLiveness +}; + +enum TGActionLiveness{ + TG_Action_None = 0, + TG_Action_Blink, + TG_Action_Left_YAW, + TG_Action_Right_YAW, + TG_Action_Mouth_Open, + TG_Action_Lip_Move, + TG_Action_Photinus, + TG_Action_NearFarLiveness, + TG_Action_EquipmentLiveness +}; + +enum TGSDKMessageCode { + /** + * 炫彩模块炫彩动作结束 + */ + TG_Action_Photinus_Finish = 99, + /** + * 额外采集信息签名 + */ + TG_Action_Sign_Collect_Infos = 100, + /** + * 采集密钥签名 + */ + TG_Action_Sign_Infos = 101, + /** + * 人脸采集区域更新 + */ + TG_Action_Face_Region_Update = 102, +}; + +struct TGIRect{ + int left; + int top; + int right; + int bottom; +}; + +struct TGFRect +{ + float left; + float top; + float right; + float bottom; +}; + +struct TGPoint +{ + float x; + float y; +}; + +struct TGDetectState +{ + /** + * 重试次数 + */ + int retryTimes = 0; + + /** + * UI层展示的多做类型 + */ +// TGActionLiveness _ui_show_action = TG_Action_None; + /** + * 是否可以选取高清图 + */ +// bool _can_choose_high_quality_image = true; + + /** + * 高清图获取成功是否可以结束流程 + */ +// bool _can_complete_when_capture_done = true; + + /** + * 是否可以连续检测动作 + */ +// bool _can_continue_detect_action = true; + /** + * 炫彩是否完成 + */ + bool _is_photinus_finish = false; +}; + +struct TGQualityConfig +{ + int max_face_num = 3; + int detect_face_num = 1; +#ifdef LADYBIRD_SELECTOR + int face_distance_threshold = 80; +#endif +#ifdef DRAGONFLY_SELECTOR + int face_distance_threshold = 150; +#endif + int max_face_distance = 700; + float min_brightness = 0.3; + float min_face_width = 0.25; + float min_integrity = 0.9; + float min_pitch = -0.2; + float max_pitch = 0.2; + float min_yaw = -0.2; + float max_yaw = 0.2; + float max_gaussian = 0.15; + float max_motion = 0; + float min_quality = 20; + float min_iod = 0.18; + float max_iod = 0.45; + float stack_time = 2.f; + float blink_openness = 0.1; + float eye_openness = 0.25; + float eye_occlusion = 0.8; + float lip_motion = 0.15; + float quality_depth_min_quality = 0.5; + int depth_cache_num = 2; + int detectImageFormat;//BGRA = 2, BGR= 4,GRAY = 0, + int detectMode = 0;//0是全检测模式,1是分阶段检测模式 + bool detectImageLight = false; // 是否启用人脸亮度检查,打开后[img_light, 208]范围内的人脸才能够通过 + int img_light = 82; //detectImageLight打开时有效,注意修改的只是人脸合法亮度范围的下限 + int max_image_light = 208; //启用人脸亮度检查时,人脸合法亮度的上限 + bool uploadMultiFace = false; //90版本需求,是否上传多人脸信息 + bool enableAttrDetect = false; //是否检测人脸属性 + + // 远近活体采集要求 + std::vector calibrationMinRegion; + std::vector calibrationMaxRegion; + std::vector targetRegion; + std::vector targetRegionTolerance; + float nearFarStackTime = 0.2f; + float nearFarMaxStackTime = 0.2f; + float calibrationStackTime = 0.0f; + float targetStackTime = 0.0f; + +}; + +struct TGCaptureConfig { + bool pictureSameAsVerify = false; // 采集的图片按照最佳图效果 + bool videoCapture = false; // 是否开启视频采集 + bool videoMeta = true; // + int videoFrameCount = 30; // 视频采集帧数 + bool recordAllFrame = false; + std::vector pictureSequence; // 采集帧序列 + std::vector pictureToApp; // 是否返客 + TGFRect faceRegion = {0, 0, 0, 0}; // 人脸区域采集要求 + TGFRect faceRegionTolerance = {0, 0, 0, 0}; // 人脸区域采集可浮动值 + + std::string toString() { + std::string toString = "{\"videoCapture\":" + std::to_string(videoCapture); + toString += ","; + toString += "\"videoFrameCount\":" + std::to_string(videoFrameCount); + toString += ","; + toString += "\"pictureSequence\":" + std::to_string(pictureSequence.size()); + toString += ","; + toString += "\"pictureToApp\":" + std::to_string(pictureToApp.size()); +#ifdef DEBUG + if (pictureSequence.size() > 0) { + toString += ","; + toString += "\"pictureSequenceContent\":" + std::accumulate(std::next(pictureSequence.begin()), pictureSequence.end(), + std::to_string(pictureSequence[0]), + [](const std::string& a, int b) { + return a + " " + std::to_string(b); + }); + } + + if (pictureToApp.size() > 0) { + toString += ","; + toString += "\"pictureToAppContent\":" + std::accumulate(std::next(pictureToApp.begin()), pictureToApp.end(), + std::to_string(pictureToApp[0]), + [](const std::string& a, int b) { + return a + " " + std::to_string(b); + }); + } + + toString += "\"faceRegion\":[" + std::to_string(faceRegion.left) + "," + std::to_string(faceRegion.top) + "," + std::to_string(faceRegion.right) + "," + std::to_string(faceRegion.bottom) + "," + "]"; + + toString += "\"faceRegionTolerance\":[" + std::to_string(faceRegionTolerance.left) + "," + std::to_string(faceRegionTolerance.top) + "," + std::to_string(faceRegionTolerance.right) + "," + std::to_string(faceRegionTolerance.bottom) + "," + "]"; +#endif + toString += "}"; + return toString; + } +}; + +struct TGCommonConfig{ + int optional_face_count = 0; // 备选人脸图数量 + int each_action_pick_count = 0; // 每个动作需要备选人脸图数量 + int log_level = 0; //0 - None, 1 - light, 2 - heavy + int product_code; + int useXNN = 0; + int speed = 100; + bool auto_complete = true; + std::string xnn_engine_config = "common:cpunum=2,xnnnextgen=1|xNNSec:enginenames=xInt8$";// xnn init config for wallet + std::map captureConfigs; // 额外数据采集配置 + bool canContinueDetectAction = true; + bool hasBlobConfig = true; + bool videoEvidenceFromApp = false; + std::string extraConfig = ""; + int retry = 0; + std::string deviceName = ""; +}; +#ifdef ZDOC +struct TGDocConfig{ + int algoType; + int exposure; + int blur; + int card_detect_score; + + int rotate_times; + int top_left_x; + int top_left_y; + int bottom_right_x; + int bottom_right_y; + int face_side_sharpness; + int verso_side_sharpness; + int papers_sharpness; + + int face_side_exposure; + int verso_side_exposure; + int papers_stability; + + float corners[8] = {0.}; //frame四个角点坐标,tl.x tl.y, tr.x, tr.y, br.x br.y bl.x bl.y + int thickness; //算法阈值 + float boundaryThreshold; + int stackTime; +}; +#endif +struct TGLivenessConfig +{ + std::string liveness_combinations = "NoLiveness"; //`#` seperated liveness methods + std::string collection; //`#` seperated liveness methods + float bat_min_score; + float dragonfly_min; + float dragonfly_max = 0.5; + float gemini_min; + float gemini_max; + float eye_occlusion_threshold = 0.8; + float eye_blink_threshold = 0.2; + float lip_motion_threshold = 0.15; + bool fpp_pre_processed = false; + int faceActionType; + bool detect_before_nano; + unsigned int dragonfly_retry_limit = 0; + std::vector photinus_color; +}; + +struct TGCameraConfig +{ + float color_intrin[3 * 3]; + float depth_intrin[3 * 3]; + float color2depth_extrin[4 * 4]; + TGIRect roiRect; + bool isAligned; + bool isMirror; +}; + +struct TGConfig +{ + TGQualityConfig quality_config; + TGLivenessConfig liveness_config; + TGCameraConfig camera_config; + TGCommonConfig common_config; +}; + +#ifdef ZDOC +enum TGDocType{ + TG_Doc_Type_Common = 0, + TG_Doc_Type_ID_Card, + TG_Doc_Type_Driver_License, + TG_Doc_Type_Vehicle_License, +}; + +enum TGDocPageNo{ + TG_Doc_Page_NO_ONE = 1, + TG_Doc_Page_NO_TWO = 2, +}; +#endif + + +enum TGFrameFormat +{ + TG_Frame_Format_YUV = 0, + TG_Frame_Format_BGRA = 1, + TG_Frame_Format_BGR = 2, + TG_Frame_Format_RGBA = 3, + TG_Frame_Format_RGB = 4, + TG_Frame_Format_Gray_8 = 5, + TG_Frame_Format_Gray_16 = 6, + TG_Frame_Format_DEPTH = 1024, + TG_Frame_Formate_Unknown = 9999, +}; + +enum TGFrameType +{ + TG_Frame_Light = 0, + TG_Frame_Dark, + TG_Frame_Depth, + TG_Frame_IR, + TG_Frame_Nano, + TG_Frame_Gray_Nano, + TG_Frame_Unknown = 9999, +}; + +class TGFrame +{ +public: + TGFrame(); + TGFrame(int w, int h, int angle, TGFrameFormat color_space, TGFrameType brightness); + TGFrame(unsigned char *data, int w, int h, int angle, TGFrameFormat color_space, TGFrameType brightness, std::string rgb, bool copy = true, std::string md5 = "", std::string metaData = ""); + ~TGFrame(); + TGFrame(const TGFrame &src); + TGFrame& operator=(const TGFrame &src); + TGFrame clone() const; + bool empty() const; + unsigned char *image_data; + long data_len; + int width; + int height; + int bytesPerRow; + int rotation; + std::string md5 = ""; + TGFrameFormat format; + TGFrameType frame_type; + std::string rgb; + std::string meta_data = ""; +private: + int getDataLen() const; + void Ref(); + int UnRef(); + bool _own; + int *_use = nullptr; // todo: not thread safe +}; + +struct TGLivenessVideoMetadata { + + std::string deviceName = ""; // 设备名称 + std::string lightSensorConfig = ""; // 传感器信息 + std::string sdkVersion = "1.0.0"; // SDK版本 + + std::string dataSource = "antfincloud-production-ios-2"; + + std::vector frameMetadataList; // 采集的帧数据 + std::vector> rgbList; + int videoWidth = 0; // 视频宽度 + int videoHeight = 0; // 视频高度 + int rotateAngle; // 帧旋转角度 + float totalTime = 0; // 开始到结束耗时 ms + float videoTime = 0; // 视频生成的耗时 ms +}; + +#pragma mark - Face + +struct TGFaceAttr +{ + int face_id = -1; + bool has_face; + bool eye_blink; + TGFRect face_region; + float quality; + float yaw; + float pitch; + float gaussian; + float motion; + float brightness; + float integrity; + // 左眼分数、最大最小值 + float left_eye_blink_ratio; + float left_eye_blink_ratio_min; + float left_eye_blink_ratio_max; + // 右眼分数、最大最小值 + float right_eye_blink_ratio; + float right_eye_blink_ratio_min; + float right_eye_blink_ratio_max; + short distance; + float keypts[10]; + + //2018年03月31日 新增属性 - 守逸 + bool eye_open; + float confidence; + float deepLiveness; + float iodRatio; + float roll; + float depthQuality; + + float left_eye_occlusion_score; + float right_eye_occlusion_score; + + int gender; + float age; + + //人脸亮度 [82,208]区间内是可通过人脸,下限亮度可以通过ToygerQualityConfig.img_light参数控制 + float light; + + /* 在执行detect阶段时,同一张图片上发现的总的人脸个数,上传服务端供风控环节使用*/ + int faceCount; + /* 上传多人脸位置信息时,最多上传3张人脸的位置,首选的人脸在face_region中已存,这里再存最多2张人脸。 + [left, top, right, bottom], [left, top, right, bottom]。如果四个位置都为0,说明该张人脸没有检出,不能上传 + */ + float otherFacePos[8]; + /* + 保存到otherFacePos中的人脸个数。可取值范围为[0,2] + */ + int otherFaceCount; + + bool yaw_left; + + bool yaw_right; + + bool mouth_open; + + bool lip_movement; + // 当前展示的Action + TGActionLiveness ui_show_action = TG_Action_None; + + bool photinus_finish; + // 当前动作索引 + long action_index; + // 属性记录的时间 + long record_time; + // 最佳图选择完成是否可结束当前动作 + bool canCompleteWhenCaptureDone; + // 人脸区域占比 + float faceAreaRegionRatio = 0.; +}; + +struct TGFaceState +{ + TGMessage tip_message = TG_Message_No_Face; + TGStaticMessage static_message; + bool has_face; + int brightness; + int distance; + bool face_in_center; + bool is_moving; + bool good_quality; + int good_pitch; + int good_yaw; + /** + * 人脸图片的亮度是否在TGQualityConfig的配置范围内. 0表示当前人脸图片亮度合法,非0代表不合法。这种与一般习惯不同的用法是为了和其他good_xxx的判断方法保持一致! + */ + int good_img_light; + bool eye_openness; + bool blink_openness; + float current_progress; + + // 目标人脸 + float targetFaceRegion = 0; +}; + + +enum TGEventCode{ + TG_Event_Code_Monitor = 2, + TG_Event_Code_Log = 1, + TG_Event_Code_Dark_Screen = -1, + TG_Event_Code_RGB_Frame_Corrupted = -2, + TG_Event_Code_Depth_Frame_Corrupted = -3, + TG_Event_Code_Nano_Generate_Failed = -13, + TG_Event_Code_Nano_Generate_Success = -14, + TG_Event_Code_Dragonfly_Liveness_Failed = -15, + TG_Event_Code_Dragonfly_Liveness_Success = -16, + TG_Event_Code_Select_Face_End = -17, + TG_Event_Code_ReDetect_Face_Start = -30, + TG_Event_Code_ReDetect_Face_End = -31, + TG_Event_Code_Pegasus_Liveness_End = -32, + TG_Event_Code_Action_Liveness_blink_End = -42, + TG_Event_Code_Action_Liveness_Reset = -43, + TG_Event_Code_Action_Liveness_End = -45, + TG_Event_Code_Photinus_RGBChanged = -46, +}; + +struct TGFaceInfo +{ + TGFrame frame; + TGFaceAttr attr; + TGFrame jpegFrame; // jpeg数据 + TGFrame encryptFrame; // 帧加密数据 + std::vector>> pictures; // 图片jpeg序列(已加密) + std::vector>> videoFrames; // 视频帧序列 + std::map videoMeta; // 视频帧序列 +}; + +struct TGDepthFaceInfo +{ + TGFrame frame; + TGFaceAttr rgb_attr; + TGFaceAttr depth_attr; +}; + +enum TGDataType{ + TG_DATA_TYPE_GYRO = 0, + TG_DATA_TYPE_PEGASUS = 1, +}; + +struct TGDataInfo +{ + std::vector rawData; + TGDataType dataType; +}; + +#ifdef ZDOC + +#pragma mark - Doc + +struct TGDocAttr +{ + +}; + + +struct TGDocState +{ + float top_score; + float bottom_score; + float left_score; + float right_score; + + bool top_ok; + bool bottom_ok; + bool left_ok; + bool right_ok; +}; + +struct TGDocInfo{ + TGFrame frame; + TGDocAttr attr; +}; +#endif + +struct TGSDKInfo { + std::string code_version; + std::string model_version; + int max_face_count; +}; + +struct TGFeatureStoreResult { + int error_code; + std::vector failed_face_id; +}; +struct ToygerCallback{ + void *cb_receiver; + void (*handleCaptureCompleted)(void *cb_receiver, int result,const std::vector&info,const std::map &ext); + void (*handleBestImageUpdate)(void *cb_receiver, int result,const std::vector&info,const std::map &ext); + void (*handleFaceInfoReady)(void *cb_receiver, const std::vector &infos, const TGFaceAttr &attr); + void (*handleFaceStateUpdated)(void *cb_receiver,const TGFaceState &state, const TGFaceAttr &attr); + void (*handleEventTriggered)(void *cb_receiver, int event_code, const char *log, const unsigned char *buffer, int buffer_length); + void (*handleLog)(void *cb_receiver,int logLevel, const std::map &logInfo); + bool (*handleModelLoad)(void *cb_receiver, Capacity capacity_mask); +#if (defined IR) || (defined BAT) + void (*handleDepthInfoReady)(void *cb_receiver, const std::vector &depthBlobInfo); + void (*handleInfraRedInfoReady)(void *cb_receiver, const TGFrame &infraRedFrame); + TGPoint (*handleAlignDepthPoint)(void *cb_receiver, TGPoint pt); +#endif + +#if (defined HUMMINGBIRD) || (defined JASMINE) + void (*handleFeatureGenerated)(void *cb_receiver,int status,std::vector &featureData); + void (*handleFeatureSave)(void *cb_receiver,int status,std::vector &featureData); +#endif + +#ifdef ZDOC + void (*handleScanCompleted)(void *cb_receiver, const TGDocState &state,const TGFrame &frame); + void (*handleDocStateUpdated)(void *cb_receiver, const TGDocState &state, const TGDocAttr &attr); +#endif +}; + +struct DetectedFaceInfo{ + TGFaceAttr face_attr; + TGIRect rgb_face_rect; + TGIRect depth_face_rect; +}; + + +/** + Toyger C++ 初始化接口 + + @param model 传入的模型 + @param license 传入的license + @param bundleid 传入的bundle id + @param tg_instance 传入的需要被赋值的 tg_instance + @param algorithm_mask 需要运行的算法 + @param capacity_mask 启动的人脸算法能力 + @return 初始化是否成功 + */ +bool tg_init(const std::vector &model, std::vector &moutModel, const std::string &license, const std::string &bundleid, + void **tg_instance, ToygerAlgorithm algorithm_mask, int capacity_mask); + +bool tg_load_model(void *tg_instance,const std::vector &faceModel, std::vector &moutModel, Capacity modelCapacity); + +/** + 配置Toyger算法 + + @param tg_instance 传入的算法实例 + @param callback 回调 + @param cb_receiver 接受回调的对象 + @param config 传入的配置 + */ +void tg_config(void *tg_instance, ToygerCallback *callback, void *cb_receiver, const TGConfig &config); + + +#ifdef ZDOC +/** + 配置Toyger 证件算法 + + @param tg_instance 传入的算法实例 + @param callback 回调 + @param cb_receiver 接受回调的对象 + @param config 传入的配置 + @return 配置是否成功 + */ +bool tg_config(void *tg_instance, ToygerCallback *callback, void *cb_receiver, const TGDocConfig &config); +#endif +/** + 处理每一帧数据 + + @param tg_instance 传入的算法对象 + @param frames 需要处理的RGB 帧 + @param depthFrame 需要处理的深度帧 + @param fpp_attr 经过fpp算法检测后的人脸属性 + @return 是否数据完整 + */ +bool tg_process_image(void *tg_instance, const std::vector &frames, const TGFrame &depthFrame, const TGFaceAttr &fpp_attr); + +#if defined JASMINE +/** + * 1:N 人脸比对 + * @param tg_instance 传入的算法对象 + * @param topN 取前N个满足阈值的人脸库 + * @param threshold 比对阈值 + * @param faceSearchResult + * @return 成功或失败 + */ +bool tg_verify_feature(void *tg_instance, + int topN, + float threshold, + std::vector &faceSearchResult); +/** + * @param tg_instance 传入的算法对象 + * @param faceDatabase 人脸库 + * @return 成功或失败 + */ +bool tg_load_feature_database(void *tg_instance, + const std::vector &faceDatabase); +/** + * @param tg_instance 传入的算法对象 + * @return 成功或失败 + */ +bool tg_release_feature_database(void *tg_instance); + +#endif +#ifdef HUMMINGBIRD + +std::vector tg_extract_feature(void *tg_instance); + +std::vector tg_detect_extra_feature(void *tg_instance); + +void tg_verify_score(void *tg_instance, std::vector tempFeature, float &score, double &far); +#endif +/** + Toyger算法重置 + + @param tg_instance 传入的算法对象 + */ +void tg_reset(void *tg_instance); + +/** + 释放Toyger算法 + + @param tg_instance 传入的算法实例 + */ +void tg_release(void *tg_instance); + +/** + * 获取sdk版本号 + * @return TGSDKVersion + */ +TGSDKInfo tg_get_sdk_info(); + +std::map tg_get_runtime_info(void *tg_instance); + + +void tg_set_xnn_handle(void *handle); + +std::vector tg_get_collection_data(void *tg_instance); + +std::string tg_update_native_status(void *instance, int action_code, const std::string &message); diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/Info.plist new file mode 100644 index 00000000..9bce9dd8 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/ToygerNative b/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/ToygerNative new file mode 100644 index 00000000..15cee75d Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/ToygerNative.framework/ToygerNative differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.bundle/toyger.face.dat b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.bundle/toyger.face.dat new file mode 100644 index 00000000..2bf2e4fe Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.bundle/toyger.face.dat differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerConfig.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerConfig.h new file mode 100644 index 00000000..8b6ec4a6 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerConfig.h @@ -0,0 +1,27 @@ +// +// ToygerConfig.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/22. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import + +@interface ToygerConfig : NSObject + +- (instancetype)initWithConfig:(NSDictionary *)configDict; + +@end + +@interface ToygerDocConfig : NSObject + +@property(nonatomic, assign) int thickness; + +@property(nonatomic, assign) CGRect frame; + +@property(nonatomic, assign) float boundaryThreshold; + +@property(nonatomic, assign) int stackTime; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerDocFrame.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerDocFrame.h new file mode 100644 index 00000000..cc17375e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerDocFrame.h @@ -0,0 +1,49 @@ +// +// ToygerDocFrame.h +// Toyger +// +// Created by 王伟伟 on 2018/1/25. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import +#import + +@interface ToygerDocFrame : ToygerFrame + +/** + 是否有证件 + */ +@property (nonatomic, assign) BOOL hasDoc; + +/** + 证件是否完整 + */ +@property (nonatomic, assign) BOOL isCompleted; + +/** + 证件是否反光 + */ +@property (nonatomic, assign) BOOL isReflected; + +/** + 图像是否模糊 + */ +@property (nonatomic, assign) BOOL isBlur; + +/** + 是否为复印件 + */ +@property (nonatomic, assign) BOOL isCopy; + +@property(nonatomic, assign) float topScore; +@property(nonatomic, assign) float bottomScore; +@property(nonatomic, assign) float leftScore; +@property(nonatomic, assign) float rightScore; + +@property(nonatomic, assign) BOOL topOK; +@property(nonatomic, assign) BOOL bottomOK; +@property(nonatomic, assign) BOOL leftOK; +@property(nonatomic, assign) BOOL rightOK; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerFaceFrame.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerFaceFrame.h new file mode 100644 index 00000000..d317b1bc --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerFaceFrame.h @@ -0,0 +1,67 @@ +// +// ToygerFaceFrame.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/22. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import +#import + +typedef NS_ENUM(NSInteger, ToygerMessage) { + TOYGER_Message_Image_Perfect = 0, + TOYGER_Message_No_Face, + TOYGER_Message_Distance_Too_Far, + TOYGER_Message_Distance_Too_Close, + TOYGER_Message_Face_Not_In_Center, + TOYGER_Message_Bad_Pitch, + TOYGER_Message_Bad_Yaw, + TOYGER_Message_Is_Moving, + TOYGER_Message_Bad_Brightness, + TOYGER_Message_Bad_Quality, + TOYGER_Message_Bad_Eye_Openness, + TOYGER_Message_Blink_Openness, + TOYGER_Message_Left_Yaw, + TOYGER_Message_Right_Yaw, + TOYGER_Message_Mouth_Open, + TOYGER_Message_Lip_Move, + TOYGER_Message_Photinus, + TOYGER_Message_Stack_Time, + TOYGER_Message_Face_Too_More, + TOYGER_Message_Target_Too_Far, + TOYGER_Message_Target_Too_Close, + TOYGER_Message_Calibrate_Too_Far, + TOYGER_Message_Calibrate_Too_Close, + TOYGER_Message_NearFar_Collect, + TOYGER_Message_Face_Not_In_Postion +}; + +typedef NS_ENUM(NSInteger, ToygerStaticMessage) { + TOYGER_Static_Message_NoLiveness = 0, + TOYGER_Static_Message_BlinkLiveness, + TOYGER_Static_Message_LeftYAWLiveness, + TOYGER_Static_Message_RightYawLiveness, + TOYGER_Static_Message_LipMoveLiveness, + TOYGER_Static_Message_MouthOpenLiveness, + TOYGER_Static_Message_PhotinusLiveness, + TOYGER_Static_Message_NearFarLiveness, +}; + +@interface ToygerFaceFrame : ToygerFrame + +@property (nonatomic, assign) ToygerMessage message; +@property (nonatomic, assign) ToygerStaticMessage staticMessage; +@property (nonatomic, assign) BOOL has_face; +@property (nonatomic, assign) int brightness; +@property (nonatomic, assign) int distance; +@property (nonatomic, assign) BOOL face_in_center; +@property (nonatomic, assign) BOOL is_moving; +@property (nonatomic, assign) BOOL good_quality; +@property (nonatomic, assign) BOOL good_pitch; +@property (nonatomic, assign) BOOL good_yaw; +@property (nonatomic, assign) BOOL eyeBlink; +@property (nonatomic, assign) CGFloat progress; +@property (nonatomic, assign) CGFloat targetFaceRegion; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerFrame.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerFrame.h new file mode 100644 index 00000000..0e7b1f53 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerFrame.h @@ -0,0 +1,16 @@ +// +// ToygerFrame.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/22. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import + +@interface ToygerFrame : NSObject + +@property (nonatomic, assign) CGFloat width; +@property (nonatomic, assign) CGFloat height; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerPublicDefine.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerPublicDefine.h new file mode 100644 index 00000000..7fbc4112 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerPublicDefine.h @@ -0,0 +1,71 @@ +// +// ToygerAlgorithmPublicDefine.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/22. +// Copyright © 2018年 DTF. All rights reserved. +// + +#ifndef ToygerAlgorithmPublicDefine_h +#define ToygerAlgorithmPublicDefine_h + +//#define USE_PB +//#define USE_FPP +#define LOCALVERIFY +//#define USE_SENSOR +#define HUMMINGBIRD +#define ZDOC + +#import + +#if defined(__cplusplus) +#define TOYGER_EXPORT extern "C" +#else +#define TOYGER_EXPORT extern +#endif + +typedef NSString* const ToygerServiceEventKey; +typedef NSNumber* const ToygerServiceSerializeType; +typedef NSString* const ToygerFaceFrameTypeKey; + +typedef NS_ENUM(NSUInteger, ToygerFrameFormat) { + ToygerFrameFormat_NV21, + ToygerFrameFormat_BGRA, + ToygerFrameFormat_BGR, +}; + +typedef NS_ENUM(NSUInteger, ToygerFrameType) { + ToygerFrameType_Light, + ToygerFrameType_Unknown, + ToygerFrameType_Dark, +}; + +typedef NS_ENUM(NSUInteger, ToygerServiceType) { + ToygerServiceType_Face = 0, + ToygerServiceType_Card, + ToygerServiceType_Face_LocalRegist, + ToygerServiceType_Face_LocalMatch, +}; + +typedef NS_ENUM(NSUInteger, ToygerServiceModelType) { + ToygerServiceModelTypeFace = 0, + ToygerServiceModelTypeMouth, +}; + +typedef NS_ENUM(NSUInteger, TSToygerInitFailType) { + TSToygerInitFailTypeInvalidAlgorithm, + TSToygerInitFailTypeToygerFileError +}; + +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEventDarkScreen; +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEventLivenessDone; +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEventLivenessBlinkDone; +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEventReset; +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEventHighQualityImage; +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEventUserInfo; +TOYGER_EXPORT ToygerServiceEventKey ToygerServiceEvent; +TOYGER_EXPORT ToygerFaceFrameTypeKey ToygerServiceFrameTypeLight; +TOYGER_EXPORT ToygerFaceFrameTypeKey ToygerServiceFrameTypeDark; +TOYGER_EXPORT ToygerFaceFrameTypeKey ToygerServiceEventPhotinusRGBChanged; + +#endif /* ToygerAlgorithmPublicDefine_h */ diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerSensorData.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerSensorData.h new file mode 100644 index 00000000..60d42c68 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerSensorData.h @@ -0,0 +1,24 @@ +// +// ToygerSensorData.h +// ToygerService +// +// Created by 晗羽 on 2018/5/17. +// Copyright © 2018 DTF. All rights reserved. +// + +#ifdef USE_SENSOR + + +#import + +@interface ToygerSensorData : NSObject +@property (nonatomic)float pitch; +@property (nonatomic)float roll; +@property (nonatomic)float yaw; +@property (nonatomic)float gyro_x; +@property (nonatomic)float gyro_y; +@property (nonatomic)float gyro_z; +@property (nonatomic)unsigned long timestamp; +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerSensorHandler.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerSensorHandler.h new file mode 100644 index 00000000..87e4dfab --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerSensorHandler.h @@ -0,0 +1,45 @@ +// +// ToygerSensorHandler.h +// ToygerService +// +// Created by 晗羽 on 2018/5/17. +// Copyright © 2018 DTF. All rights reserved. +// + +#ifdef USE_SENSOR + + +#import +#import + +struct ToygerSensorResult { + bool highRisk = false; + bool isStatic = false; + float maxRotationAngle = 0.f; +}; + + +@interface ToygerSensorConfig: NSObject + +@property (nonatomic)float static_threshold; +@property (nonatomic)float rotation_threshold; +@property (nonatomic)float offset; + +@end + + +@interface ToygerSensorHandler : NSObject + +-(instancetype)initWithConfig:(ToygerSensorConfig *) config; + +-(void)processSensorData:(ToygerSensorData *) dataSlice; + +-(NSData *)getSampleData; + +-(ToygerSensorResult)getSensorResult; + +@property (nonatomic)float offset; + +@end + +#endif diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerService.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerService.h new file mode 100644 index 00000000..116c955e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerService.h @@ -0,0 +1,28 @@ +// +// Toyger.h +// Toyger +// +// Created by 守逸 on 2018/1/22. +// Copyright © 2018年 DTF. All rights reserved. +// + +#ifndef ToygerService_h +#define ToygerService_h + +#import +#import +#import +#import +#import +#import +#import + +#endif /* ToygerService_h */ + + + +//! Project version number for ToygerService. +FOUNDATION_EXPORT double ToygerServiceVersionNumber; + +//! Project version string for ToygerService. +FOUNDATION_EXPORT const unsigned char ToygerServiceVersionString[]; diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerServiceInstance.h b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerServiceInstance.h new file mode 100644 index 00000000..982f69d8 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Headers/ToygerServiceInstance.h @@ -0,0 +1,156 @@ +// +// Toyger.h +// ToygerAlgorithm +// +// Created by 王伟伟 on 2018/1/22. +// Copyright © 2018年 DTF. All rights reserved. +// + +#import +#import +#import + +#ifdef USE_SENSOR +#import "ToygerSensorData.h" +#endif + +@class ToygerServiceInstance; +@class ToygerFrame; + +//extern NSString *const kCipherDataKey; +//extern NSString *const kDTFPubKey; +//extern NSString *const kUserIDKey; + +@protocol ToygerServiceInstanceDelegate + +/** + ToygerService处理完一帧后的状态更新的回调 + + @param instance 算法实例 + @param frame 返回的帧 + */ +- (void)toygerService:(ToygerServiceInstance *)instance frameDidUpdate:(ToygerFrame *)frame; + +/** + ToygerService事件触发 + + @param instance 算法实例 + @param eventDict 触发的事件Dictionary + */ +- (void)toygerService:(ToygerServiceInstance *)instance triggerEvent:(NSDictionary *)eventDict; + +/** + ToygerService埋点 + + @param instance 算法实例 + @param eventDict + */ +- (void)toygerService:(ToygerServiceInstance *)instance triggerMonitor:(NSDictionary *)monitorDataDict; + +/** + ToygerService采集结束 + + @param instance 算法实例 + @param completionDict 算法结束回调 + */ +- (void)toygerService:(ToygerServiceInstance *)instance captureDidComplete:(NSDictionary *)completionDict; + +@optional + +/** + ToygerService采集到一张高清人脸大图(人脸算法才有) + + @param instance 算法实例 + @param image 采集到的Image + */ +- (void)toygerService:(ToygerServiceInstance *)instance didGetHighQualityImage:(UIImage *)image; + +@end + +@interface ToygerServiceInstance : NSObject + +/** + 设置算法的配置 + */ +@property (nonatomic, strong) ToygerConfig *config; + +/** + ToygerInstace的代理 + */ +@property (nonatomic, weak) id delegate; +/** + 密文秘钥 + */ +@property (nonatomic, strong)NSString *aesCipher; + +/** + 初始化Toyger算法. + 提前初始化可以加快算法的启动速度 + + @return Toyger算法实例 + */ + +- (instancetype)initWithType:(ToygerServiceType)type andExtInfo:(NSDictionary *)extInfo modelTypeArray:(NSMutableArray *)modelTypeArray errorPtr:(NSError **)errorPtr NS_DESIGNATED_INITIALIZER; + +#ifdef ZDOC +/** + 设置证件扫描配置 + @param config + */ +- (void)setDocConfig:(ToygerDocConfig *)config; +#endif + +- (void)updateNativeStatus:(int)actionCode message:(NSString *)message; + +/** + Toyger算法处理图片 + + @param sampleBuffer 摄像头传入的SampleBuffer + */ +- (void)processImage:(CMSampleBufferRef)sampleBuffer byOrientation:(UIImageOrientation)orientation extraInfo:(NSDictionary *)extra; + +/** + Toyger处理最佳图 + */ +- (void)processBestImage; + +- (void)photinusFinish; + +#ifdef USE_SENSOR + +- (void)processSensorData:(ToygerSensorData *) sensorData withExtraInfo:(NSDictionary *)extra; + +#endif +/** + 对于算法不支持的类型,需要组装数据 + + @param image 传入的图片 + @return 返回要上传的内容 + */ +- (NSData *)dataWithSurveillance:(NSArray *)surveillance byType:(ToygerServiceType)toygerType extraInfo:(NSDictionary *)extraInfo; + + + +- (NSData *)dataWithDocCaptureImage:(UIImage *)image andAeskey:(NSString *)aesKey extraInfo:(NSDictionary *)extraInfo; +/** + 重置算法的状态 + */ +- (void)reset; + +/** + 返回算法的MetaInfo + + @return metaInfo + */ ++ (NSArray *)metaInfo; + + +/** ++获取活体检测后的状态 +*/ ++(NSInteger)getToygerState; + +//补充加签数据 +- (NSString *)updateInfoSig:(NSDictionary *)addtionalInfoSig; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Info.plist new file mode 100644 index 00000000..3e3d90dc Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Modules/module.modulemap b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Modules/module.modulemap new file mode 100644 index 00000000..92914338 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module ToygerService { + umbrella header "ToygerService.h" + + export * + module * { export * } +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/ToygerService b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/ToygerService new file mode 100644 index 00000000..b98ebc7d Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/ToygerService differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/en.lproj/InfoPlist.strings b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/ToygerService.framework/en.lproj/InfoPlist.strings differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobImageUtil.h b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobImageUtil.h new file mode 100644 index 00000000..89035132 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobImageUtil.h @@ -0,0 +1,24 @@ +// +// Created on 2024/4/3. +// +// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, +// please include "napi/native_api.h". + +#ifndef HARMONYFACEVERIFY_IMAGEUTILS_H +#define HARMONYFACEVERIFY_IMAGEUTILS_H +#include "BlobTypes.h" +#include "FaceBlobTypes.h" +namespace dtf { + class ImageUtils { + public: + static std::string Rotate(const Image *in, int angle, Image *out); + static std::string Crop(const Image *in, Rect rect, Image *out); + static std::string Scale(const Image *in, double x, double y, Image *out); + static std::string Packing(const Image *in, double compress_rate, Image *out); + static std::string YUV2RGB(const Image *in, Image *out); + static std::string BGRA2RGB(const Image *in, Image *out); + static void Release(Image *image); + }; +} + +#endif //HARMONYFACEVERIFY_IMAGEUTILS_H diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobManager.h b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobManager.h new file mode 100644 index 00000000..7c64faad --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobManager.h @@ -0,0 +1,57 @@ +// +// Created on 2024/4/2. +// +// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, +// please include "napi/native_api.h". + +#ifndef HARMONYFACEVERIFY_BLOBMANAGER_H +#define HARMONYFACEVERIFY_BLOBMANAGER_H + +#include "FaceBlobTypes.h" +#include "BlobImageUtil.h" +#include "BlobTypes.h" + +namespace dtf { + + struct BlobConfig { + double compress_rate; + double desired_width; + bool need_enc_content; + bool need_enc_image; + int retry_count; + std::string upload_image_type; + std::string bis_token; + std::vector collection; + + // 加密配置 + int aesKeyLen = 0; + std::string rsaMod = ""; + std::string rsaExp = ""; + + void SetDefault(); + void ParseConfig(Json config_json); + }; + +#ifdef DT_REQUEST_BLOB + + class BlobManager { + + public: + BlobConfig config; + std::string aes_key_cipher; + std::string aes_key; + int metaSerializer; + BlobManager(BlobConfig config); + ~BlobManager(); + virtual FaceBlobContentResult GenerateBlob(std::vector &frames, const std::map &ext); + virtual BlobMeta GenerateMeta(const std::map &ext); + virtual std::string ToString(FaceBlobContentResult &result); + std::string ProcessImage(Image &image, Image *out, Image *out_encrypted); + std::string ProcessImage(Image &image, double compress_rate, Rect roi); + }; + +#endif + +} + +#endif //HARMONYFACEVERIFY_BLOBMANAGER_H diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobPackController.h b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobPackController.h new file mode 100644 index 00000000..a50545ff --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobPackController.h @@ -0,0 +1,126 @@ +#ifndef BLOBPACKCONTROLLER_H +#define BLOBPACKCONTROLLER_H + +#include +#include +#include "dt_json11.hpp" +#include "BlobManager.h" +#include "BlobTypes.h" +#include "DTEncrypt.h" + +using namespace std; + +namespace dtf { + + class BlobPackController { + public: + BlobPackController(); + + ~BlobPackController(); + + /** + * @brief config 配置数据打包控制器 + * @param config 图像压缩率&密钥等数据 + */ + void config(BlobConfig &config); + + /** + * @brief cacheBlobContent 缓存人脸识别结果数据 + * @param bestImage 最佳人脸图 + * @param extraImages 额外采集人脸图片(动作:图片序列) + * @param ext 额外的配置(可不传) + */ + void cacheBlobContent(FaceFrame &bestImage, + vector>> extraImages = vector>>(), + map ext = map()); + + /** + * @brief encryptExtraImages 加密额外数据图 + * @param quality 图片质量 + * @return 处理后的照片(动作:原始数据&jpeg图片&加密图片) + */ + vector>> encryptExtraImages(float quality = 70); + + /** + * @brief encryptBestImage 加密最佳人脸图 + * @param quality 图片质量 + * @return 原始数据&jpeg图片&加密图片 + */ + FaceFrame encryptBestImage(float quality = 70); + + /** + * @brief signCollectionInfo 对CollectInfo签名 + * @param param 额外参数 {"multipic_zfaceBlinkLiveness_video":"123123123123","multipic_LeftYawLiveness_video":"123123123123"} + * @return 签名加密数据 + */ + string signCollectionInfo(string param); + + /** + * @brief geneateBlob 生成报文blob + * @return 认证报文 + */ + string geneateBlob(); + + /** + * @brief getContentSignature 获取ContentSig,RSA加密密钥 + * @return 字符串 + */ + string getContentSignature(); + + /** + * @brief release 数据清除 + */ + void release(); + + protected: + /** + * @brief encryptImage 图像加密 + * @param frame 帧数据 + * @param quality 图片质量 + * @return + */ + FaceFrame encryptImage(FaceFrame &frame, float quality = 70); + + /** + * @brief imageRelease 图片释放 + * @param frame 帧 + */ + void imageRelease(FaceFrame &frame); + + /** + * @brief generateCollectionInfo 生成CollectInfo信息 + * @param param 外部生成生成CollectInfo + * @return 补充图片MD5数据后的CollectInfo + */ + string generateCollectionInfo(string param); + + private: + /** + * @brief contentEncrypt 图片内容加密 + */ + DTEncrypt contentEncrypt; + /** + * @brief behavelogEncrypt behavelog加密 + */ + DTEncrypt behavelogEncrypt; + /** + * @brief bestImage 最佳人脸图 + */ + FaceFrame bestImage; + /** + * @brief extraImages 额外数据 + */ + vector>> extraImages; + /** + * @brief blobConfig 报文配置 + */ + BlobConfig blobConfig; + /** + * @brief blobContentExtra 额外参数 + */ + map blobContentExtra; + }; + +} + +#endif //BLOBPACKCONTROLLER_H diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobTypes.h b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobTypes.h new file mode 100644 index 00000000..fd0e93ed --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/BlobTypes.h @@ -0,0 +1,122 @@ +// +// Created on 2024/4/2. +// +// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, +// please include "napi/native_api.h". + +#ifndef HARMONYFACEVERIFY_BLOBMODEL_H +#define HARMONYFACEVERIFY_BLOBMODEL_H + +#include "dt_json11.hpp" +#include + +namespace dtf { + + struct ImageTypeConstant { + static const int YUV; + static const int RGB; + static const int BGRA; + static const int RGBA; + static const int BGR; + }; + + struct BlobConstant { + static const std::string BLOB_VERSION; + static const std::string SUB_TYPE_PANO; + static const std::string BLOB_ELEM_TYPE_FACE; + static const std::string SUB_TYPE_VERSION; + static const std::string PUB_KEY_N; + static const std::string PUB_KEY_E; + }; + + struct BlobPackConstant { + static const std::string EXT_NAME; + }; + +#ifdef DT_REQUEST_BLOB + + struct MetaConstant { + + static const std::string VAL_TYPE_FACE; + + static const std::string KEY_INVTP_TYPE; + static const std::string KEY_BIS_TOKEN; + static const std::string KEY_EXTRA_RETRY; + static const std::string KEY_EXTRA; + static const std::string KEY_DRAGONFLY; + static const std::string KEY_DRAGONFLY_PASS; + static const std::string KEY_PHOTINUS_VIDEO_OSS_NAME; + static const std::string KEY_PHOTINUS_METADATA_OSS_NAME; + + static const std::string VAL_INVTP_TYPE_NORMAL; + + // static constexpr int VAL_DRAGONFLY_PASS_SUCCESS = 1; + + static constexpr int VAL_SERIALIZER_JSON = 1; + static constexpr int VAL_SERIALIZER_PB = 2; + + //TS层传入的参数key + static const std::string PARAM_PHOTINUS_VIDEO_OSS_NAME; + static const std::string PARAM_PHOTINUS_METADATA_OSS_NAME; + static const std::string PARAM_BLOB_USE_NATIVE_SWITCH; + }; + +#endif + + struct Point { + double x; + double y; + }; + + struct Rect { + double left; + double right; + double top; + double bottom; + Rect() {} + Rect(double left, double right, double top, double bottom) { + this->left = left; + this->right = right; + this->top = top; + this->bottom = bottom; + } + }; + + struct Image { + uint8_t *data = nullptr; + int rotation; + double width; + double height; + long len = 0; + int format; + bool encrypted = false; + std::string base64 = ""; + std::string md5 = ""; + }; + +#ifdef DT_REQUEST_BLOB + + struct BlobMeta { + std::string type; + std::map collectInfo; + std::map score; + int serialize; + std::string invtp_type; + std::string bistoken; + std::map extInfo; + }; + + struct BlobElem { + BlobElem(){} + std::string type; + std::string subType; + int idx; + std::string version; + std::string content; + }; + +#endif + +} // namespace dtf + +#endif //HARMONYFACEVERIFY_BLOBMODEL_H diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/DTEncrypt.h b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/DTEncrypt.h new file mode 100644 index 00000000..c8b2c6ef --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/DTEncrypt.h @@ -0,0 +1,135 @@ +// +// Created by CandleWen on 2023/7/24. +// + +#ifndef VERIFY_DTENCRYPT_H +#define VERIFY_DTENCRYPT_H + +#include + +using namespace std; + +namespace dtf +{ + /** + * AES & RSA 加密以及秘钥加密 + * 人脸数据加密类 + */ + class DTEncrypt + { + public: + /** + * RSA加密数据 + * @param mod PK modulus + * @param exp PK exponent + * @param content 加密内容 + * @param out 输出内容 + * @param out_len 输出长度 + */ + static void rsa_encrypt_content(const string &mod, const string &exp, const string &content, + unsigned char **out, size_t *out_len); + + /** + * RSA加密数据,返回base64的字符串 + * @param mod PK modulus + * @param exp PK exponent + * @param content 加密内容 + */ + static string base64_rsa_encrypt_content(const string &mod, const string &exp, const string &content); + + /** + * AES加密 + * @param giv + * @param in 输入内容 + * @param in_len 输入内容长度 + * @param key key + * @param out 输出内容 + * @param out_len 输出内容长度 + */ + static void aes_encrypt(const string &giv, const unsigned char *in, size_t in_len, const string &key, + unsigned char **out, size_t *out_len, uint8_t *iv = 0); + + /** + * AES解密 + * @param giv + * @param in 输入内容 + * @param in_len 输入内容长度 + * @param key key + * @param out 输出内容 + * @param out_len 输出内容长度 + */ + static void aes_decrypt(const string &giv, const unsigned char *in, size_t in_len, const string &key, + unsigned char **out, size_t *out_len, uint8_t *iv = 0); + + /** + * 初始化 + * @param aes_key_len AES加密秘钥长度 + * @param mod RSA公钥modulus + * @param exp RSA公钥exponent + */ + DTEncrypt(int aes_key_len, string mod, string exp); + + DTEncrypt(); + + /** + * @brief init 重新初始化key + * @param aes_key_len key长度 + * @param mod RSA公钥modulus + * @param exp RSA公钥exponent + */ + void init(int aes_key_len, string mod, string exp); + + /** + * aes 加密 key + * @return + */ + string get_encrypt_key(); + + /** + * 对Content进行AES加密并返回Base64之后的加密字符串 + * @param content 待加密内容 + * @param content_len 待加密内容长度 + * @return + */ + string base64_encrypt_content(const unsigned char *content, size_t content_len); + + /** + * 对content内容进行AES加密 + * @param content 加密内容 + * @return base64之后的加密字符串 + */ + string base64_encrypt_content(const string &content); + + /** + * @brief DTEncrypt::encrypt_content 对content内容进行AES加密 + * @param content + * @param content_len + * @param output_len + * @return + */ + unsigned char *encrypt_content(const unsigned char *content, size_t content_len, size_t &output_len); + + /** + * 对加密且base64之后的字符串进行解密,并做base64返回 + * @param encrypt_content 待解密字符串 + * @return 解密之后base64内容 + */ + string base64_decrypt_content(const string &encrypt_content); + + private: + /** + * AES 加密秘钥 + */ + string aes_key; + /** + * RSA 对 AES 加密后数据 + */ + string encrypt_base64_key; + /** + * AES IV信息 + */ + string giv; + }; +} + +#endif // VERIFY_DTENCRYPT_H diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/FaceBlobTypes.h b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/FaceBlobTypes.h new file mode 100644 index 00000000..79e35c19 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/FaceBlobTypes.h @@ -0,0 +1,67 @@ +// +// Created on 2024/4/7. +// +// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, +// please include "napi/native_api.h". + +#ifndef HARMONYFACEVERIFY_FACEBLOBTYPES_H +#define HARMONYFACEVERIFY_FACEBLOBTYPES_H + +#include "BlobTypes.h" + +namespace dtf { + + struct FaceAttr { + Rect face_region; + float quality; + float confidence; + }; + + struct FaceInfo { + Rect rect; + std::vector points; + float confidence; + float quality; + std::string feature; + std::string feaVersion; + }; + + struct FaceFrame { + Image image; + Image jpegImage; + Image encryptImage; + FaceAttr attr; + std::map extras; + }; + +#ifdef DT_REQUEST_BLOB + + struct FaceBlobElem : public BlobElem { + std::vector face_infos; + std::string return_image; //不加密的返照图 + }; + + struct FaceBlob { + std::string blob_version; + std::vector blob_elem; + }; + + struct FaceBlobContent { + FaceBlob blob; + BlobMeta meta; + }; + + struct FaceBlobContentResult { + FaceBlobContent blob; + std::vector blob_content; + std::vector return_image; + }; + +#endif +} + +class FaceBlobTypes { + +}; + +#endif //HARMONYFACEVERIFY_FACEBLOBTYPES_H diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/dt_json11.hpp b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/dt_json11.hpp new file mode 100644 index 00000000..f3598827 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Headers/dt_json11.hpp @@ -0,0 +1,232 @@ +/* json11 + * + * json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. + * + * The core object provided by the library is json11::Json. A Json object represents any JSON + * value: null, bool, number (int or double), string (std::string), array (std::vector), or + * object (std::map). + * + * Json objects act like values: they can be assigned, copied, moved, compared for equality or + * order, etc. There are also helper methods Json::dump, to serialize a Json to a string, and + * Json::parse (static) to parse a std::string as a Json object. + * + * Internally, the various types of Json object are represented by the JsonValue class + * hierarchy. + * + * A note on numbers - JSON specifies the syntax of number formatting but not its semantics, + * so some JSON implementations distinguish between integers and floating-point numbers, while + * some don't. In json11, we choose the latter. Because some JSON implementations (namely + * Javascript itself) treat all numbers as the same type, distinguishing the two leads + * to JSON that will be *silently* changed by a round-trip through those implementations. + * Dangerous! To avoid that risk, json11 stores all numbers as double internally, but also + * provides integer helpers. + * + * Fortunately, double-precision IEEE754 ('double') can precisely store any integer in the + * range +/-2^53, which includes every 'int' on most systems. (Timestamps often use int64 + * or long long to avoid the Y2038K problem; a double storing microseconds since some epoch + * will be exact for +/- 275 years.) + */ + +/* Copyright (c) 2013 Dropbox, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#pragma once + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER + #if _MSC_VER <= 1800 // VS 2013 + #ifndef noexcept + #define noexcept throw() + #endif + + #ifndef snprintf + #define snprintf _snprintf_s + #endif + #endif +#endif + +namespace dtf { + +enum JsonParse { + STANDARD, COMMENTS +}; + +class JsonValue; + +class Json final { +public: + // Types + enum Type { + NUL, NUMBER, BOOL, STRING, ARRAY, OBJECT + }; + + // Array and object typedefs + typedef std::vector array; + typedef std::map object; + + // Constructors for the various types of JSON value. + Json() noexcept; // NUL + Json(std::nullptr_t) noexcept; // NUL + Json(double value); // NUMBER + Json(int value); // NUMBER + Json(bool value); // BOOL + Json(const std::string &value); // STRING + Json(std::string &&value); // STRING + Json(const char * value); // STRING + Json(const array &values); // ARRAY + Json(array &&values); // ARRAY + Json(const object &values); // OBJECT + Json(object &&values); // OBJECT + + // Implicit constructor: anything with a to_json() function. + template + Json(const T & t) : Json(t.to_json()) {} + + // Implicit constructor: map-like objects (std::map, std::unordered_map, etc) + template ().begin()->first)>::value + && std::is_constructible().begin()->second)>::value, + int>::type = 0> + Json(const M & m) : Json(object(m.begin(), m.end())) {} + + // Implicit constructor: vector-like objects (std::list, std::vector, std::set, etc) + template ().begin())>::value, + int>::type = 0> + Json(const V & v) : Json(array(v.begin(), v.end())) {} + + // This prevents Json(some_pointer) from accidentally producing a bool. Use + // Json(bool(some_pointer)) if that behavior is desired. + Json(void *) = delete; + + // Accessors + Type type() const; + + bool is_null() const { return type() == NUL; } + bool is_number() const { return type() == NUMBER; } + bool is_bool() const { return type() == BOOL; } + bool is_string() const { return type() == STRING; } + bool is_array() const { return type() == ARRAY; } + bool is_object() const { return type() == OBJECT; } + + // Return the enclosed value if this is a number, 0 otherwise. Note that json11 does not + // distinguish between integer and non-integer numbers - number_value() and int_value() + // can both be applied to a NUMBER-typed object. + double number_value() const; + int int_value() const; + + // Return the enclosed value if this is a boolean, false otherwise. + bool bool_value() const; + // Return the enclosed string if this is a string, "" otherwise. + const std::string &string_value() const; + // Return the enclosed std::vector if this is an array, or an empty vector otherwise. + const array &array_items() const; + // Return the enclosed std::map if this is an object, or an empty map otherwise. + const object &object_items() const; + + // Return a reference to arr[i] if this is an array, Json() otherwise. + const Json & operator[](size_t i) const; + // Return a reference to obj[key] if this is an object, Json() otherwise. + const Json & operator[](const std::string &key) const; + + // Serialize. + void dump(std::string &out) const; + std::string dump() const { + std::string out; + dump(out); + return out; + } + + // Parse. If parse fails, return Json() and assign an error message to err. + static Json parse(const std::string & in, + std::string & err, + JsonParse strategy = JsonParse::STANDARD); + static Json parse(const char * in, + std::string & err, + JsonParse strategy = JsonParse::STANDARD) { + if (in) { + return parse(std::string(in), err, strategy); + } else { + err = "null input"; + return nullptr; + } + } + // Parse multiple objects, concatenated or separated by whitespace + static std::vector parse_multi( + const std::string & in, + std::string::size_type & parser_stop_pos, + std::string & err, + JsonParse strategy = JsonParse::STANDARD); + + static inline std::vector parse_multi( + const std::string & in, + std::string & err, + JsonParse strategy = JsonParse::STANDARD) { + std::string::size_type parser_stop_pos; + return parse_multi(in, parser_stop_pos, err, strategy); + } + + bool operator== (const Json &rhs) const; + bool operator< (const Json &rhs) const; + bool operator!= (const Json &rhs) const { return !(*this == rhs); } + bool operator<= (const Json &rhs) const { return !(rhs < *this); } + bool operator> (const Json &rhs) const { return (rhs < *this); } + bool operator>= (const Json &rhs) const { return !(*this < rhs); } + + /* has_shape(types, err) + * + * Return true if this is a JSON object and, for each item in types, has a field of + * the given type. If not, return false and set err to a descriptive message. + */ + typedef std::initializer_list> shape; + bool has_shape(const shape & types, std::string & err) const; + +private: + std::shared_ptr m_ptr; +}; + +// Internal class hierarchy - JsonValue objects are not exposed to users of this API. +class JsonValue { +protected: + friend class Json; + friend class JsonInt; + friend class JsonDouble; + virtual Json::Type type() const = 0; + virtual bool equals(const JsonValue * other) const = 0; + virtual bool less(const JsonValue * other) const = 0; + virtual void dump(std::string &out) const = 0; + virtual double number_value() const; + virtual int int_value() const; + virtual bool bool_value() const; + virtual const std::string &string_value() const; + virtual const Json::array &array_items() const; + virtual const Json &operator[](size_t i) const; + virtual const Json::object &object_items() const; + virtual const Json &operator[](const std::string &key) const; + virtual ~JsonValue() {} +}; + +} // namespace dtf diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Info.plist new file mode 100644 index 00000000..57860793 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/VerifyNativeAbility b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/VerifyNativeAbility new file mode 100644 index 00000000..33834936 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/VerifyNativeAbility.framework/VerifyNativeAbility differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardCode.h b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardCode.h new file mode 100644 index 00000000..ee9c6fe5 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardCode.h @@ -0,0 +1,69 @@ +// +// Code.h +// deviceiOS +// +// Created by Lingxuan on 2022/7/26. +// Copyright © 2022 security.net. All rights reserved. +// + +#ifndef Code_h +#define Code_h + +#define SC_CODE_BASE 10000 + +/** + * 成功,无错误发生 + */ +#define SC_SUCCESS (SC_CODE_BASE) + +/** + * SDK未调用初始化 + */ +#define SC_NOT_INIT (SC_CODE_BASE + 1) + +/** + * SDK需要的Android基础权限未完全授权 + */ +#define SC_NOT_PERMISSION (SC_CODE_BASE + 2) + +/** + * 未知错误 + */ +#define SC_UNKNOWN_ERROR (SC_CODE_BASE + 3) + +/** + * 网络错误 + */ +#define SC_NETWORK_ERROR (SC_CODE_BASE + 4) + +/** + * 网络错误,返回内容为空串 + */ +#define SC_NETWORK_ERROR_EMPTY (SC_CODE_BASE + 5) + +/** + * 网络返回的格式非法 + */ +#define SC_NETWORK_ERROR_INVALID (SC_CODE_BASE + 6) + +/** + * 服务端配置解析失败 + */ +#define SC_PARSE_SRV_CFG_ERROR (SC_CODE_BASE + 7) + +/** + * 内部初始化未完成 + */ +#define SC_BUSY (SC_CODE_BASE + 8) + +/** + * 用户传进来的appkey是空的 + */ +#define SC_APPKEY_EMPTY (SC_CODE_BASE + 9) + +/** + * 参数错误 + */ +#define SC_PARAMS_ERROR (SC_CODE_BASE + 10) + +#endif /* Code_h */ diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardOutConst.h b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardOutConst.h new file mode 100644 index 00000000..9d477e82 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardOutConst.h @@ -0,0 +1,32 @@ +// +// OutConst.h +// deviceiOS +// +// Created by Xishui Xu on 2025/2/13. +// Copyright © 2025 security.net. All rights reserved. +// + +#ifndef OutConst_h +#define OutConst_h + +enum DataType { + COLLECT_ALL = 0, + + COLLECT_NO_UNIQUE_DEVICE_DATA = 0x1, + COLLECT_NO_EXTRA_DEVICE_DATA = 0x8, + + COLLECT_NO_ALL = (COLLECT_NO_UNIQUE_DEVICE_DATA | + COLLECT_NO_EXTRA_DEVICE_DATA) +}; + +enum DataSwitch { + INIT_COLLECT_DATA, + TOKEN_COLLECT_DATA +}; + +enum LS { + THREAD_STACK_START = 0x76213030, + THREAD_STACK_END = 0x96521302 +}; + +#endif /* OutConst_h */ diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardSession.h b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardSession.h new file mode 100644 index 00000000..b10b84bd --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/FaceGuardSession.h @@ -0,0 +1,57 @@ +// +// SecuritySession.h +// deviceiOS +// +// Created by Lingxuan on 2023/6/27. +// Copyright © 2023 security.net. All rights reserved. +// + +#ifndef FaceGuardSession_h +#define FaceGuardSession_h + +/** + * 设备指纹deviceToken + */ + +@interface FaceGuardSession : NSObject + +/** + * 获取Session操作的结果 + */ +@property(atomic) int code; + +/** + * 包含Session结果的字符串 + */ +@property(copy, atomic) NSString *session; + +@end + +@interface FaceGuardToken : NSObject + +/** + * 获取Session操作的结果 + */ +@property(atomic) int code; + +/** + * 包含token结果的字符串 + */ +@property(copy, atomic) NSString *token; + +@end + +@interface FaceGuardSessionId : NSObject + +/** + * 获取SessionID操作的结果 + */ +@property(atomic) int code; + +/** + * 包含Session结果的字符串 + */ +@property(copy, atomic) NSString *sessionId; + +@end +#endif /* FaceGuardSession_h */ diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/faceguard.h b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/faceguard.h new file mode 100644 index 00000000..3881487e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Headers/faceguard.h @@ -0,0 +1,74 @@ +// +// faceguard.h +// faceguard +// +// Created by Lingxuan on 2023/6/27. +// Copyright © 2023 security.net. All rights reserved. +// + +#import +#import +#import +#import + +//! Project version number for faceguard. +FOUNDATION_EXPORT double faceguardVersionNumber; + +//! Project version string for faceguard. +FOUNDATION_EXPORT const unsigned char faceguardVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + +@interface FaceGuardDevice + +/** + * 设备指纹单例 + */ ++ (FaceGuardDevice *)sharedInstance; + +/** + * 设备指纹初始化函数 + */ +- (void)initFG:(NSString *)userAppKey :(void (^)(int))initListener; + +/** + * 底层数据传输走IPv6 + */ +- (void)initFGIPV6:(NSString *)userAppKey :(void (^)(int))initListener; + +/** + * 带参数的初始化 + */ +- (void)initFG:(NSString *)userAppKey withOptions:(NSMutableDictionary *)options callback:(void (^)(int))initListener; + +/** + * 获取DeviceToken + */ +- (FaceGuardSession *)getSession; +- (FaceGuardSession *)getSession:(NSString *)bizId; +- (FaceGuardSessionId *)getSessionId; +- (FaceGuardToken *)getDeviceToken; +- (FaceGuardToken *)getDeviceToken:(NSString *)bizId; + +/** + * 用户自定义上报数据 + */ +- (void)reportUserData:(int)type :(NSString *)msg; + +/** + * 在某些特殊时机上报,具体上报时机请联系 对接人员咨询 + */ +- (void)reportMoment; + +/** + * 获取 SDK 版本号 + */ +- (NSString *)getVersion; + +/** + * 安全切面 + */ +- (void)lp:(int)key :(NSString *)certifyId; + +@end diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Info.plist b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Info.plist new file mode 100644 index 00000000..7c351e87 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Info.plist differ diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Modules/module.modulemap b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Modules/module.modulemap new file mode 100644 index 00000000..efc87969 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module faceguard { + umbrella header "faceguard.h" + + export * + module * { export * } +} diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/PrivacyInfo.xcprivacy b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..c6d83c1e --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,62 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + Protect Device Security + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + DDA9.1 + 3B52.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPITypeReasons + + 85F4.1 + E174.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + + diff --git a/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/faceguard b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/faceguard new file mode 100644 index 00000000..1cfc8069 Binary files /dev/null and b/nativePlugins/AP-FaceDetectModule/ios/faceguard.framework/faceguard differ diff --git a/nativePlugins/AP-FaceDetectModule/package.json b/nativePlugins/AP-FaceDetectModule/package.json new file mode 100644 index 00000000..32a29105 --- /dev/null +++ b/nativePlugins/AP-FaceDetectModule/package.json @@ -0,0 +1,107 @@ +{ + "name": "AP-FaceDetectModule", + "id": "AP-FaceDetectModule", + "version": "1.2.7", + "description": "阿里云金融级实人认证SDK", + "_dp_type": "nativeplugin", + "_dp_nativeplugin": { + "android": { + "plugins": [ + { + "type": "module", + "name": "AP-FaceDetectModule", + "class": "io.dcloud.uniplugin.FinTechFaceVerifyModule" + } + ], + "integrateType": "aar", + "dependencies": [ + "com.squareup.okhttp3:okhttp:3.11.0", + "com.squareup.okio:okio:1.14.0", + "com.aliyun.dpa:oss-android-sdk:+", + "com.alibaba:fastjson:1.2.83_noneautotype" + ], + "compileOptions": { + "sourceCompatibility": "1.8", + "targetCompatibility": "1.8" + }, + "abis": [ + "armeabi", + "arm64-v8a", + "armeabi-v7a", + "x86" + ], + "minSdkVersion": "15", + "permissions": [ + "android.permission.CAMERA", + "android.permission.ACCESS_NETWORK_STATE", + "android.permission.INTERNET" + ], + "parameters": { + + } + }, + "ios": { + "plugins": [ + { + "type": "module", + "name": "AP-FaceDetectModule", + "class": "FinTechFaceVerifyModule" + } + ], + "frameworks": [ + "ToygerService.framework", + "APBToygerFacade.framework", + "MultiFactorFacade.framework", + "APPSecuritySDK.framework", + "DTFNFCIdentityManager.framework", + "OCRDetectSDKForTech.framework", + "BioAuthEngine.framework", + "FinTechFaceVerifyModule.framework", + "DTFUtility.framework", + "DTFIdentityManager.framework", + "AliyunFaceAuthFacade.framework", + "APPSecuritySDK.framework", + "faceguard.framework", + "ToygerNative.framework", + "VerifyNativeAbility.framework", + "CoreGraphics.framework", + "Accelerate.framework", + "SystemConfiguration.framework", + "AssetsLibrary.framework", + "CoreTelephony.framework", + "QuartzCore.framework", + "CoreFoundation.framework", + "CoreLocation.framework", + "ImageIO.framework", + "CoreMedia.framework", + "CoreMotion.framework", + "AVFoundation.framework", + "WebKit.framework", + "libresolv.tbd", + "libz.tbd", + "libc++.1.tbd", + "libc++abi.tbd", + "AudioToolbox.framework", + "CFNetwork.framework", + "MobileCoreServices.framework", + "libz.1.2.8.tbd", + "AdSupport.framework", + "ReplayKit.framework" + ], + "resources": [ + "APBToygerFacade.bundle", + "APBToygerFacadeSuitable.bundle", + "BioAuthEngine.bundle", + "DTFNFCIdentityManager.bundle", + "MultiFactorFacade.bundle", + "OCRXMedia.bundle", + "ToygerService.bundle" + ], + "privacies": [ + "NSCameraUsageDescription" + ], + "integrateType": "framework", + "deploymentTarget": "9.0" + } + } +}