diff --git a/star_lock/aliyun_face_plugin/.gitignore b/star_lock/aliyun_face_plugin/.gitignore new file mode 100644 index 00000000..96486fd9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/.gitignore @@ -0,0 +1,30 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +.packages +build/ diff --git a/star_lock/aliyun_face_plugin/.metadata b/star_lock/aliyun_face_plugin/.metadata new file mode 100644 index 00000000..29c9cb0b --- /dev/null +++ b/star_lock/aliyun_face_plugin/.metadata @@ -0,0 +1,33 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + channel: stable + +project_type: plugin + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + base_revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + - platform: android + create_revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + base_revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + - platform: ios + create_revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + base_revision: 6928314d505d2bb4777be05e45d7808a5aa91d2a + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/star_lock/aliyun_face_plugin/CHANGELOG.md b/star_lock/aliyun_face_plugin/CHANGELOG.md new file mode 100644 index 00000000..45df9524 --- /dev/null +++ b/star_lock/aliyun_face_plugin/CHANGELOG.md @@ -0,0 +1,7 @@ +## 2.1.2 - 20230401 + +* 初始版本。 + +## 2.3.5 - 20231011 + +* 修复 iOS SDK xcode 15 的兼容问题。 diff --git a/star_lock/aliyun_face_plugin/LICENSE b/star_lock/aliyun_face_plugin/LICENSE new file mode 100644 index 00000000..b3c35b8b --- /dev/null +++ b/star_lock/aliyun_face_plugin/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2022-present, Aliyun, Inc. All rights reserved. + +Most source code in aliyun_face_plugin are MIT licensed. + +A copy of the MIT License is included in this file. + +Terms of the MIT License +======================== + +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. \ No newline at end of file diff --git a/star_lock/aliyun_face_plugin/README.md b/star_lock/aliyun_face_plugin/README.md new file mode 100644 index 00000000..1d01d217 --- /dev/null +++ b/star_lock/aliyun_face_plugin/README.md @@ -0,0 +1,7 @@ +# 阿里云金融级实人认证 flutter 插件 + +## Getting Started + +该工程是阿里云金融级实人认证的 flutter 插件,在她的帮助下,您的业务 App(Android / iOS) 可以更方便的使用阿里云的刷脸认证服务。 + +具体使用方式,请参考[线上接入文档](https://yuque.antfin-inc.com/wlkqsw/cblvmq/gih2d0)。 diff --git a/star_lock/aliyun_face_plugin/analysis_options.yaml b/star_lock/aliyun_face_plugin/analysis_options.yaml new file mode 100644 index 00000000..a5744c1c --- /dev/null +++ b/star_lock/aliyun_face_plugin/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/star_lock/aliyun_face_plugin/android/.gitignore b/star_lock/aliyun_face_plugin/android/.gitignore new file mode 100644 index 00000000..161bdcda --- /dev/null +++ b/star_lock/aliyun_face_plugin/android/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.cxx diff --git a/star_lock/aliyun_face_plugin/android/build.gradle b/star_lock/aliyun_face_plugin/android/build.gradle new file mode 100644 index 00000000..f81611b6 --- /dev/null +++ b/star_lock/aliyun_face_plugin/android/build.gradle @@ -0,0 +1,58 @@ +group 'com.aliyun.face.aliyun_face_plugin' +version '1.0' + +buildscript { + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.1.0' + } +} + +rootProject.allprojects { + repositories { + google() + mavenCentral() + + flatDir { + dirs 'libs' + } + } +} + +apply plugin: 'com.android.library' + +android { + compileSdkVersion 31 + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + defaultConfig { + minSdkVersion 18 + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + + // 实人认证SDK + implementation(name: 'aliyun-face-v2.1.2-20221027112723', ext: 'aar') + implementation(name: 'aliyun-facelanguage-v2.1.2-20221027112723', ext: 'aar') + implementation(name: 'aliyun-ocr-v2.1.2-20221027112723', ext: 'aar') + implementation(name: 'aliyun-photinus-v2.1.2-20221027112723', ext: 'aar') + implementation(name: 'aliyun-wishverify-v2.1.2-20221027112723', ext: 'aar') + implementation(name: 'Android-AliyunFaceGuard-10033', ext: 'aar') + implementation(name: 'APSecuritySDK-DeepSec-7.0.1.20220813.jiagu', ext: 'aar') + + // 实人认证三方依赖库 + implementation 'com.squareup.okhttp3:okhttp:3.11.0' + implementation 'com.squareup.okio:okio:1.14.0' + implementation 'com.alibaba:fastjson:1.2.83_noneautotype' + implementation 'com.aliyun.dpa:oss-android-sdk:2.9.11' +} \ No newline at end of file diff --git a/star_lock/aliyun_face_plugin/android/libs/APSecuritySDK-DeepSec-7.0.1.20220813.jiagu.aar b/star_lock/aliyun_face_plugin/android/libs/APSecuritySDK-DeepSec-7.0.1.20220813.jiagu.aar new file mode 100644 index 00000000..a642f6d3 Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/APSecuritySDK-DeepSec-7.0.1.20220813.jiagu.aar differ diff --git a/star_lock/aliyun_face_plugin/android/libs/Android-AliyunFaceGuard-10033.aar b/star_lock/aliyun_face_plugin/android/libs/Android-AliyunFaceGuard-10033.aar new file mode 100644 index 00000000..159c07d6 Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/Android-AliyunFaceGuard-10033.aar differ diff --git a/star_lock/aliyun_face_plugin/android/libs/aliyun-face-v2.1.2-20221027112723.aar b/star_lock/aliyun_face_plugin/android/libs/aliyun-face-v2.1.2-20221027112723.aar new file mode 100644 index 00000000..5a3640b7 Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/aliyun-face-v2.1.2-20221027112723.aar differ diff --git a/star_lock/aliyun_face_plugin/android/libs/aliyun-facelanguage-v2.1.2-20221027112723.aar b/star_lock/aliyun_face_plugin/android/libs/aliyun-facelanguage-v2.1.2-20221027112723.aar new file mode 100644 index 00000000..9e56c91a Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/aliyun-facelanguage-v2.1.2-20221027112723.aar differ diff --git a/star_lock/aliyun_face_plugin/android/libs/aliyun-ocr-v2.1.2-20221027112723.aar b/star_lock/aliyun_face_plugin/android/libs/aliyun-ocr-v2.1.2-20221027112723.aar new file mode 100644 index 00000000..8326ff9c Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/aliyun-ocr-v2.1.2-20221027112723.aar differ diff --git a/star_lock/aliyun_face_plugin/android/libs/aliyun-photinus-v2.1.2-20221027112723.aar b/star_lock/aliyun_face_plugin/android/libs/aliyun-photinus-v2.1.2-20221027112723.aar new file mode 100644 index 00000000..94392b13 Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/aliyun-photinus-v2.1.2-20221027112723.aar differ diff --git a/star_lock/aliyun_face_plugin/android/libs/aliyun-wishverify-v2.1.2-20221027112723.aar b/star_lock/aliyun_face_plugin/android/libs/aliyun-wishverify-v2.1.2-20221027112723.aar new file mode 100644 index 00000000..1be89ff0 Binary files /dev/null and b/star_lock/aliyun_face_plugin/android/libs/aliyun-wishverify-v2.1.2-20221027112723.aar differ diff --git a/star_lock/aliyun_face_plugin/android/settings.gradle b/star_lock/aliyun_face_plugin/android/settings.gradle new file mode 100644 index 00000000..16454d6e --- /dev/null +++ b/star_lock/aliyun_face_plugin/android/settings.gradle @@ -0,0 +1,2 @@ +rootProject.name = 'aliyun_face_plugin' +include ':aliyunface' \ No newline at end of file diff --git a/star_lock/aliyun_face_plugin/android/src/main/AndroidManifest.xml b/star_lock/aliyun_face_plugin/android/src/main/AndroidManifest.xml new file mode 100644 index 00000000..7f564a98 --- /dev/null +++ b/star_lock/aliyun_face_plugin/android/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + diff --git a/star_lock/aliyun_face_plugin/android/src/main/java/com/aliyun/face/aliyun_face_plugin/AliyunFacePlugin.java b/star_lock/aliyun_face_plugin/android/src/main/java/com/aliyun/face/aliyun_face_plugin/AliyunFacePlugin.java new file mode 100644 index 00000000..1b628486 --- /dev/null +++ b/star_lock/aliyun_face_plugin/android/src/main/java/com/aliyun/face/aliyun_face_plugin/AliyunFacePlugin.java @@ -0,0 +1,79 @@ +package com.aliyun.face.aliyun_face_plugin; + +import androidx.annotation.NonNull; +import java.util.Map; +import android.content.Context; + +import io.flutter.embedding.engine.plugins.FlutterPlugin; +import io.flutter.plugin.common.MethodCall; +import io.flutter.plugin.common.MethodChannel; +import io.flutter.plugin.common.MethodChannel.MethodCallHandler; +import io.flutter.plugin.common.MethodChannel.Result; +import io.flutter.Log; + +import com.alipay.face.api.ZIMCallback; +import com.alipay.face.api.ZIMFacade; +import com.alipay.face.api.ZIMFacadeBuilder; +import com.alipay.face.api.ZIMResponse; + +/** AliyunFacePlugin */ +public class AliyunFacePlugin implements FlutterPlugin, MethodCallHandler { + /// The MethodChannel that will the communication between Flutter and native Android + /// + /// This local reference serves to register the plugin with the Flutter Engine and unregister it + /// when the Flutter Engine is detached from the Activity + private MethodChannel channel; + private Context mContext; + private static String TAG = "AliyunFace"; + + @Override + public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) { + channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "aliyun_face_plugin"); + channel.setMethodCallHandler(this); + mContext = flutterPluginBinding.getApplicationContext(); + } + + @Override + public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { + if (call.method.equals("getPlatformVersion")) { + result.success("android " + android.os.Build.VERSION.RELEASE); + } else if (call.method.equals("init")) { + Log.d(TAG, "enter init."); + ZIMFacade.install(mContext); + } else if (call.method.equals("getMetaInfos")) { + Log.d(TAG, "enter getMetaInfos."); + String metaInfo = ZIMFacade.getMetaInfos(mContext); + result.success(metaInfo); + } else if (call.method.equals("verify")) { + Log.d(TAG, "enter verify."); + Map params = call.arguments(); + String certifyId = params.get("certifyId"); + if (certifyId == null || certifyId.isEmpty()) { + Log.e(TAG, "certifyId is null"); + return; + } + + ZIMFacade zimFacade = ZIMFacadeBuilder.create(mContext); + zimFacade.verify(certifyId, false, new ZIMCallback() { + @Override + public boolean response(ZIMResponse response) { + if (null != response && 1000 == response.code) { + Log.d(TAG, "face verify success."); + } else { + Log.e(TAG, "face verify error."); + } + + result.success(response.code + "," + response.reason); + return true; + } + }); + } else { + result.notImplemented(); + } + } + + @Override + public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { + channel.setMethodCallHandler(null); + } +} diff --git a/star_lock/aliyun_face_plugin/ios/.gitignore b/star_lock/aliyun_face_plugin/ios/.gitignore new file mode 100644 index 00000000..0c885071 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/.gitignore @@ -0,0 +1,38 @@ +.idea/ +.vagrant/ +.sconsign.dblite +.svn/ + +.DS_Store +*.swp +profile + +DerivedData/ +build/ +GeneratedPluginRegistrant.h +GeneratedPluginRegistrant.m + +.generated/ + +*.pbxuser +*.mode1v3 +*.mode2v3 +*.perspectivev3 + +!default.pbxuser +!default.mode1v3 +!default.mode2v3 +!default.perspectivev3 + +xcuserdata + +*.moved-aside + +*.pyc +*sync/ +Icon? +.tags* + +/Flutter/Generated.xcconfig +/Flutter/ephemeral/ +/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/star_lock/aliyun_face_plugin/ios/Assets/.gitkeep b/star_lock/aliyun_face_plugin/ios/Assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/star_lock/aliyun_face_plugin/ios/Classes/AliyunFacePlugin.h b/star_lock/aliyun_face_plugin/ios/Classes/AliyunFacePlugin.h new file mode 100644 index 00000000..c03ab7fe --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Classes/AliyunFacePlugin.h @@ -0,0 +1,4 @@ +#import + +@interface AliyunFacePlugin : NSObject +@end diff --git a/star_lock/aliyun_face_plugin/ios/Classes/AliyunFacePlugin.m b/star_lock/aliyun_face_plugin/ios/Classes/AliyunFacePlugin.m new file mode 100644 index 00000000..674b572d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Classes/AliyunFacePlugin.m @@ -0,0 +1,112 @@ +#import "AliyunFacePlugin.h" +#import + +@implementation AliyunFacePlugin ++ (void)registerWithRegistrar:(NSObject*)registrar { + FlutterMethodChannel* channel = [FlutterMethodChannel + methodChannelWithName:@"aliyun_face_plugin" + binaryMessenger:[registrar messenger]]; + AliyunFacePlugin* instance = [[AliyunFacePlugin alloc] init]; + [registrar addMethodCallDelegate:instance channel:channel]; +} + +- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { + static Boolean bInit = false; + + if ([@"getPlatformVersion" isEqualToString:call.method]) { + NSLog(@"enter getPlatformVersion"); + result([@"" stringByAppendingString:[[UIDevice currentDevice] systemVersion]]); + return; + } + + if ([@"init" isEqualToString:call.method]) { + NSLog(@"enter init"); + + if (!bInit) { + bInit = true; + [AliyunFaceAuthFacade initSDK]; + } + + return; + } + + if ([@"getMetaInfos" isEqualToString:call.method]) { + NSLog(@"enter getMetaInfos"); + + if (!bInit) { + bInit = true; + [AliyunFaceAuthFacade initSDK]; + } + + NSDictionary *metaInfo = [AliyunFaceAuthFacade getMetaInfo]; + NSString *info = [self convertToJsonData: metaInfo]; + result([@"" stringByAppendingString:info]); + return; + } + + if ([@"verify" isEqualToString:call.method]) { + NSLog(@"enter verify"); + + if (!bInit) { + bInit = true; + [AliyunFaceAuthFacade initSDK]; + } + + id arguments = call.arguments; + NSString *certifyId = [arguments objectForKey:@"certifyId"]; + if (certifyId == nil || [certifyId length] == 0) { + NSLog(@"certifyId is nil."); + return; + } + NSLog(@"certifyId: %@.", certifyId); + + NSMutableDictionary *extParams = [NSMutableDictionary new]; + UIViewController *vc = [self viewControllerWithWindow:nil]; + [extParams setValue:vc forKey:@"currentCtr"]; // 必须要的参数 + + [AliyunFaceAuthFacade verifyWith:certifyId + extParams:extParams + onCompletion:^(ZIMResponse *response) { + result([NSString stringWithFormat:@"%lu,%@", response.code, response.reason]); + }]; + + return; + } + + result(FlutterMethodNotImplemented); +} + +#pragma mark - 辅助方法 + +- (NSString *)convertToJsonData:(NSDictionary *) dict { + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict + options:NSJSONWritingSortedKeys + error:&error]; + NSString *jsonString; + if (!jsonData) { + NSLog(@"Error: %@", error); + } else { + jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding]; + } + return jsonString; +} + +- (UIViewController *) viewControllerWithWindow:(UIWindow *)window { + UIWindow *windowToUse = window; + if(windowToUse == nil) { + for (UIWindow *windowF in [UIApplication sharedApplication].windows) { + if (windowF.isKeyWindow) { + windowToUse = windowF; + break; + } + } + } + UIViewController *topViewController = windowToUse.rootViewController; + while (topViewController.presentingViewController) { + topViewController = topViewController.presentingViewController; + } + return topViewController; +} + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade new file mode 100644 index 00000000..3e3a2fe3 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/en.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/en.strings new file mode 100644 index 00000000..ece6b18a --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/en.strings @@ -0,0 +1,69 @@ +/* + en.strings + APBToygerFacade + + Created by shouyi.www on 2017/6/1. + Copyright © 2017年 DTF. All rights reserved. +*/ + +"APBToygerFacade:取消"="Cancel"; +"APBToygerFacade:再试一次"="Try Again"; +"APBToygerFacade:退出"="Quit"; +"APBToygerFacade:确定"="OK"; +"APBToygerFacade:继续"="Continue"; +"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:露个脸就能通过"="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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/id.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/id.strings new file mode 100644 index 00000000..2d456dbd --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/id.strings @@ -0,0 +1,60 @@ +"APBToygerFacade:取消"="Batalkan"; +"APBToygerFacade:再试一次"="Harap coba lagi"; +"APBToygerFacade:退出"="Keluar"; +"APBToygerFacade:确定"="OK"; +"APBToygerFacade:继续"="Lanjutkan"; +"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:露个脸就能通过"="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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/ja.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/ja.strings new file mode 100644 index 00000000..973603b6 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/ja.strings @@ -0,0 +1,60 @@ +"APBToygerFacade:取消"="キャンセル"; +"APBToygerFacade:再试一次"="もう一度お試しください"; +"APBToygerFacade:退出"="終了"; +"APBToygerFacade:确定"="OK"; +"APBToygerFacade:继续"="続行"; +"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:请保持单人操作"=" "; diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/ko.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/ko.strings new file mode 100644 index 00000000..5bac9991 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/ko.strings @@ -0,0 +1,61 @@ +"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:请保持单人操作"=" "; + diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-HK.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-HK.strings new file mode 100644 index 00000000..dc01922d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-HK.strings @@ -0,0 +1,69 @@ +/* + 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:刷脸仅在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:请保持单人操作"="請保持單人操作"; diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hans.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hans.strings new file mode 100644 index 00000000..b7a867de --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hans.strings @@ -0,0 +1,69 @@ +/* + 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:刷脸仅在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:请保持单人操作"="请保持单人操作"; diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hant.strings b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hant.strings new file mode 100644 index 00000000..9625dfc3 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hant.strings @@ -0,0 +1,69 @@ +/* + 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:刷脸仅在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:请保持单人操作"="請保持單人操作"; diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_angle.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_angle.mp3 new file mode 100644 index 00000000..ebc2b334 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_angle.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_away.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_away.mp3 new file mode 100644 index 00000000..11bd77cc Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_away.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_blink.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_blink.mp3 new file mode 100644 index 00000000..9808283c Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_blink.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_closer.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_closer.mp3 new file mode 100644 index 00000000..afd607ef Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_closer.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_integrity.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_integrity.mp3 new file mode 100644 index 00000000..791e911c Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_integrity.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_left_yaw.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_left_yaw.mp3 new file mode 100644 index 00000000..78964f3a Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_left_yaw.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_light.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_light.mp3 new file mode 100644 index 00000000..8bb39098 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_light.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_right_yaw.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_right_yaw.mp3 new file mode 100644 index 00000000..084fa0a9 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_right_yaw.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_stay.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_stay.mp3 new file mode 100644 index 00000000..152fae07 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_stay.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_too_more_face.mp3 b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_too_more_face.mp3 new file mode 100644 index 00000000..1bfa3867 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle/voiceUrl_too_more_face.mp3 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerBaseTask.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerBaseTask.h new file mode 100644 index 00000000..1e5af0f9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerBaseTask.h @@ -0,0 +1,76 @@ +// +// 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; //埋点 + +- (void)exitWithResult:(APBResultType)result failReason:(NSString *)failReason retCodeSub:(NSString *)retCodeSub retMessageSub:(NSString *)retMessageSub; + +- (void)eventQuitWithCompletionCallback:(BioAuthExecCallback)callback; +/** + * 用户选择重试 + */ +- (void)handleRetryActionWithScene:(NSString *)scene + buttonTitle:(NSString *)title + extAction:(APFAlertExtraAction)action; + +/** + * 用户选择退出 + */ +- (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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h new file mode 100644 index 00000000..8d73e422 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h @@ -0,0 +1,23 @@ +// +// APFCherryDetectTask.h +// APBToygerFacade +// +// Created by richard on 01/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import +#import +#import +#import +#import + +@interface APBToygerCherryDetectTask : APBToygerBaseTask + +@property (nonatomic, assign) BOOL photinusFlags; +@property (nonatomic, strong) DTFCameraService *cameraService; +@property (nonatomic, strong) id instance; //Toyger对象 + +- (void)onButtonCancel; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h new file mode 100644 index 00000000..33eaee81 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerFacade.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerFacade.h new file mode 100644 index 00000000..e320fdf1 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h new file mode 100644 index 00000000..53eb575f --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerPresentTask.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerPresentTask.h new file mode 100644 index 00000000..39e213e8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerUploadTask.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerUploadTask.h new file mode 100644 index 00000000..26819c8d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerUtils.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerUtils.h new file mode 100644 index 00000000..d9f4d75d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerUtils.h @@ -0,0 +1,59 @@ +// +// 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; + +@end + + + + diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerViewController.h b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerViewController.h new file mode 100644 index 00000000..94053c90 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Headers/APBToygerViewController.h @@ -0,0 +1,28 @@ +// +// 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 + actionGuide:(NSString *)guide + progress:(CGFloat)progress; +- (void)faceDectectComplete; +- (void)setPhotinusColor:(UIColor *)color; +- (void)showBlur:(UIImage *)image; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Info.plist new file mode 100644 index 00000000..2ea9ebb3 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Modules/module.modulemap b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Modules/module.modulemap new file mode 100644 index 00000000..f34493fa --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APBToygerFacade.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module APBToygerFacade { + umbrella header "APBToygerFacade.h" + + export * + module * { export * } +} diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/APPSecuritySDK b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/APPSecuritySDK new file mode 100644 index 00000000..24f8be22 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/APPSecuritySDK differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/APPSecuritySDK-Info.plist b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/APPSecuritySDK-Info.plist new file mode 100644 index 00000000..01af302e Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/APPSecuritySDK-Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APDID.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APDID.h new file mode 100644 index 00000000..463c6392 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APDeviceColor.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APDeviceColor.h new file mode 100644 index 00000000..677045fc --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APDynamic.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APDynamic.h new file mode 100644 index 00000000..8caaf9d9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h new file mode 100644 index 00000000..415bf06b --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h new file mode 100644 index 00000000..99b4bf43 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h new file mode 100644 index 00000000..71461a84 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h new file mode 100644 index 00000000..7d5c150e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h new file mode 100644 index 00000000..eb8dd700 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h new file mode 100644 index 00000000..eae9fd3e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h new file mode 100644 index 00000000..aa0025c8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskReportRequest.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskReportRequest.h new file mode 100644 index 00000000..96cdcc5c --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskReportResponse.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskReportResponse.h new file mode 100644 index 00000000..d61c1bbf --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h new file mode 100644 index 00000000..98e746ef --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h new file mode 100644 index 00000000..da99a141 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h new file mode 100644 index 00000000..bb6cbde2 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecRDS.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecRDS.h new file mode 100644 index 00000000..558a7e1a --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecStore.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecStore.h new file mode 100644 index 00000000..4e6c0279 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecureSdk.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecureSdk.h new file mode 100644 index 00000000..90c7acec --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSecureSdk.h @@ -0,0 +1,113 @@ +// +// 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; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSign.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/APSign.h new file mode 100644 index 00000000..23295a84 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSCommon.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSCommon.h new file mode 100644 index 00000000..483e0064 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSDynamicManager.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSDynamicManager.h new file mode 100644 index 00000000..73ea5734 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSLogger.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSLogger.h new file mode 100644 index 00000000..b763df6e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSSecureInfo.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSSecureInfo.h new file mode 100644 index 00000000..9ba1e201 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h new file mode 100644 index 00000000..be565ae7 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h new file mode 100644 index 00000000..1e43d793 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSTokenResult.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/ASSTokenResult.h new file mode 100644 index 00000000..c23d447b --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/AntSecurityManager.h b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Headers/AntSecurityManager.h new file mode 100644 index 00000000..61246e45 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Info.plist new file mode 100644 index 00000000..ef8d4c29 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeDirectory b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeDirectory new file mode 100644 index 00000000..53a5e26c Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeDirectory differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeRequirements b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeRequirements new file mode 100644 index 00000000..dbf9d614 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeRequirements differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1 b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1 new file mode 100644 index 00000000..ada045e7 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1 differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeResources b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeResources new file mode 100644 index 00000000..c30f81eb --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeResources @@ -0,0 +1,559 @@ + + + + + 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 + + ywtAfrae7i2g9jT6cXJt775tdng= + + 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 + + iJIQ3hx3R9PDehqmni7k6WFuCCI= + + 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 + + ywtAfrae7i2g9jT6cXJt775tdng= + + hash2 + + S8aripi9OWRTxz5CBuWeYoSqMhcgLX2GUUT5Ihnwd8o= + + + 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= + + + 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/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeSignature b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/_CodeSignature/CodeSignature new file mode 100644 index 00000000..e69de29b diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/en.lproj/InfoPlist.strings b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/en.lproj/InfoPlist.strings differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/module.map b/star_lock/aliyun_face_plugin/ios/Products/APPSecuritySDK.framework/module.map new file mode 100644 index 00000000..7d2d32a2 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade new file mode 100644 index 00000000..9dd83577 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade-Info.plist b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade-Info.plist new file mode 100644 index 00000000..01af302e Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/AliyunFaceAuthFacade-Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Headers/AliyunFaceAuthFacade.h b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Headers/AliyunFaceAuthFacade.h new file mode 100644 index 00000000..90491989 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Headers/AliyunFaceAuthFacade.h @@ -0,0 +1,45 @@ +// +// 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; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Headers/PoPGatewayNetwork.h b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Headers/PoPGatewayNetwork.h new file mode 100644 index 00000000..1791f44c --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Info.plist new file mode 100644 index 00000000..1e6b53be Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/en.lproj/InfoPlist.strings b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework/en.lproj/InfoPlist.strings differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine new file mode 100644 index 00000000..9afe386f Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/back.png b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/back.png new file mode 100644 index 00000000..faa2eb3a Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/back.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/close.png b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/close.png new file mode 100644 index 00000000..16ba24ef Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/close.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/open.png b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/open.png new file mode 100644 index 00000000..63a64740 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/open.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/open_shuke.png b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/open_shuke.png new file mode 100644 index 00000000..63792771 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/open_shuke.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/status_bar_cancel.png b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/status_bar_cancel.png new file mode 100644 index 00000000..2395562d Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/status_bar_cancel.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/status_bar_cancel_suitable.png b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/status_bar_cancel_suitable.png new file mode 100644 index 00000000..2545258f Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle/image/status_bar_cancel_suitable.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEAlertView.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEAlertView.h new file mode 100644 index 00000000..3c258623 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFECircleProgressBar.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFECircleProgressBar.h new file mode 100755 index 00000000..041dfaf8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFECircleProgressBar.h @@ -0,0 +1,31 @@ +// +// 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; + +- (void)setProgress:(CGFloat)percent animation:(BOOL)animated; +- (void)_updateCircularPath; +- (void)stopAnimation; + +@end + diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFECircularView.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFECircularView.h new file mode 100644 index 00000000..d7c36ca8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFECircularView.h @@ -0,0 +1,70 @@ +// +// 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; + +- (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)_updateView; + +@end + diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEScanViewDelegate.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEScanViewDelegate.h new file mode 100644 index 00000000..35720693 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEStatusBar.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEStatusBar.h new file mode 100644 index 00000000..dbdc3030 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEStatusBar.h @@ -0,0 +1,29 @@ +// +// 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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEUploadView.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEUploadView.h new file mode 100755 index 00000000..08317a40 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEWebGuideView.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEWebGuideView.h new file mode 100644 index 00000000..f4164665 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/AFEWebGuideView.h @@ -0,0 +1,38 @@ +// +// AFEWebGuideView.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/21/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import +#import +#import "APBToygerRemoteConfig.h" +@protocol AFEWebGuideViewDelegate + +- (void)onButtonBegin:(BOOL)suitableType; +- (void)onButtonCancel; + +@optional +- (void)onLoadFinished:(BOOL)success; +- (void)onH5Logger:(NSString *)h5Logger; +- (void)onButtonAgreement; + +@end + + + +@interface AFEWebGuideView : UIView + +@property(strong,nonatomic) WKWebView *wkwebView; + +@property(nonatomic, assign)BOOL loaded; +@property(nonatomic, strong)APBToygerAlertConfig *toygerAlertConfig; +@property(nonatomic, strong)UIViewController *currentViewController; + +- (void)setWebGuideViewDelegate:(id)webGuideViewDeleage; +- (void)setURL:(NSURL *)url; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBAlertController.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBAlertController.h new file mode 100644 index 00000000..91c31857 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBAuthEngine.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBAuthEngine.h new file mode 100644 index 00000000..a9b8388a --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBAuthFacade.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBAuthFacade.h new file mode 100644 index 00000000..8d887346 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBackwardCommand.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBackwardCommand.h new file mode 100644 index 00000000..a2f189bd --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBackwardCommand.h @@ -0,0 +1,60 @@ +// +// 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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBehavLogModel.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBehavLogModel.h new file mode 100644 index 00000000..748eb5d5 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisProtocol.h new file mode 100644 index 00000000..23988a43 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisProtocol.h @@ -0,0 +1,70 @@ +// +// APBProtocol.h +// BioAuthEngine +// +// Created by yukun.tyk on 3/15/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisRequestBuilder.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisRequestBuilder.h new file mode 100644 index 00000000..3af00800 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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 + +@interface APBBisRequestBuilder : NSObject + ++(APBBisUploadGwRequest *) buildRequestwithpubKey:(NSString *) pubKey + token:(NSString *) bistoken + contentData:(NSString *)content + behaveLog:(BisBehavLog *)behavlog + andCypherData:(NSString *) aesKeyData + encrypt:(BOOL) encrypt; + ++ (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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisUploadGwRequest.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBBisUploadGwRequest.h new file mode 100755 index 00000000..7ea22267 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.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 + */ + +#import + +#ifndef SUPPORT_PB + +@interface APBBisUploadGwRequest : NSObject + +@property(nonatomic, strong) NSString *bisToken; +@property(nonatomic, strong) NSString *content; +@property(nonatomic, strong) NSString *contentSig; +@property(nonatomic, strong) NSString *behavLog; +@property(nonatomic, strong) NSString *behavLogSig; + +@end + +#else + +#ifdef __cplusplus +extern "C"{ +#endif +#import + +#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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBCommand.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBCommand.h new file mode 100644 index 00000000..92646eda --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBConfig.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBConfig.h new file mode 100644 index 00000000..9798e1d8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBDTFUploadToastView.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBDTFUploadToastView.h new file mode 100644 index 00000000..da4362dc --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBDTFUploadToastView.h @@ -0,0 +1,16 @@ +// +// APBDTFUploadTostView.h +// APBToygerFacade +// +// Created by richard on 28/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// +#import +@interface APBDTFUploadToastView : UIView + +@property(nonatomic,strong)UIActivityIndicatorView* indicator; + +- (instancetype)initWithFrame:(CGRect)frame; + +- (void)andSubViewWithFrame:(CGRect)frame AndText:(NSString *)text andStartY:(float)startY; +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBDeviceInfo.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBDeviceInfo.h new file mode 100644 index 00000000..25926527 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBDeviceInfo.h @@ -0,0 +1,34 @@ +// +// APBDeviceInfo.h +// BioAuthEngine +// +// Created by 晗羽 on 28/02/2018. +// Copyright © 2018 DTF. All rights reserved. +// + +#import +#import + +@interface APBDeviceInfo : 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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBEvent.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBEvent.h new file mode 100644 index 00000000..c200789d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBGatewayFacade.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBGatewayFacade.h new file mode 100755 index 00000000..412fc3cb --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBLogger.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBLogger.h new file mode 100644 index 00000000..46cacd28 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBRequest.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBRequest.h new file mode 100644 index 00000000..33a2b979 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBRequest.h @@ -0,0 +1,24 @@ +// +// APBRequest.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/9/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +@class UIViewController; + +extern NSString *const kKeepUploadPageKey; //extInfo key: 生物识别产品是否要保持上传界面,默认不保持 + +@interface APBRequest : NSObject + +@property(nonatomic, weak, readonly)UIViewController *vc; //显示的viewController +@property(nonatomic, copy, readonly)NSString *protocol; //服务端下发的配置参数 +@property(nonatomic, strong, readonly)NSDictionary *extInfo; //扩展业务参数 + +- (instancetype)initWithViewController:(UIViewController *)vc + protocolInfo:(NSString *)protocol + extInfo:(NSDictionary *)ext; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBResponse.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBResponse.h new file mode 100644 index 00000000..3dc20aa1 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBResponse.h @@ -0,0 +1,65 @@ +// +// 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, //本地比对失败 +}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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBTaskContext.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBTaskContext.h new file mode 100644 index 00000000..3760d6c3 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerBehavlogManager.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerBehavlogManager.h new file mode 100644 index 00000000..a4c8888e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerBioBisConfigManager.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerBioBisConfigManager.h new file mode 100644 index 00000000..4f6ed596 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerBioBisConfigManager.h @@ -0,0 +1,45 @@ +// +// 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; + +- (instancetype)initWithBisDocConfig:(NSString *)biscfg; +/** + * bisToken + * + * @return 服务端下放的bistoken,每次人脸识别服务端的ID + */ +- (NSString * )bisToken; + +- (NSString * )ioscfg; + +- (NSString * )iosvoicecfg; + +- (APBToygerSoluCfg *)solucfg; + +- (APBToygerRemoteConfig *)bisConfig; + +- (int) sampleMode; + +- (BOOL) isLogin; + +- (NSString *) apBioSecPublicKey; + ++ (NSDictionary *)getDictfrom:(NSString *) jsonStr; +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerDataCenter.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerDataCenter.h new file mode 100644 index 00000000..65428bc1 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerDataCenter.h @@ -0,0 +1,129 @@ +// +// APFDataCenter.h +// APFaceDetectBiz +// +// Created by yukun.tyk on 9/8/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#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:(NSString *)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; + +- (APBBisUploadGwRequest *)buildUploadRequestWithContent:(NSData *)data + cypherKey:(NSData *)cypherKeyData + invokeType:(NSString *)type + retryCnt:(NSInteger)retry; + +- (NSString *)rsaImage:(NSString *)pubkey image:(UIImage *)image ; + + +/** + * 设置delegate + */ +- (void)setDelegate:(id)delegate; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerRemoteConfig.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerRemoteConfig.h new file mode 100644 index 00000000..9c766777 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/APBToygerRemoteConfig.h @@ -0,0 +1,188 @@ +// +// APFRemoteConfig.h +// AppArch +// +// Created by yukun.tyk on 8/29/16. +// Copyright © 2016 DTF. All rights reserved. +// + +#import +#import + + +@class APBToygerSceneEnv, APBToygerVideo, APFRemoteConfig, APBToygerCollect, APBDragonflyLivenessConfig,APBGeminiLivenessConfig; +@class APBToygerNavigatePage, APBToygerAlgorithm, APBToygerTips; + +@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, copy) NSDictionary *upload; +@property(nonatomic, copy) NSDictionary *algorithm; +@property(nonatomic, copy) NSArray *scanAlgorithm; +@property(nonatomic, strong)APBToygerTips * faceTips; +@property(nonatomic, assign)NSInteger 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; + ++(APBToygerRemoteConfig *)defaultConfig; ++ (void)loadFromJSON:(NSString *)json toObject:(NSObject*) obj; +@end + +/** + * 场景配置 + */ +@interface APBToygerSceneEnv : NSObject + +@property(nonatomic, copy)NSString *sceneCode; +@property(nonatomic, copy)NSString *sceneType; + ++(APBToygerSceneEnv *)defaultConfig; + +@end + +/** + * 引导页配置 + */ +@interface APBToygerNavigatePage : NSObject + +@property(nonatomic, assign)BOOL enable; +@property(nonatomic, copy)NSString *url; + ++ (APBToygerNavigatePage *)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; + ++ (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 *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 * authorizationAlert; +@property(nonatomic, strong)APBToygerAlertConfig * failNoRetryAlert; + ++(APBToygerTips *)defaultConfig; + +@end + + diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthCommonSetting.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthCommonSetting.h new file mode 100644 index 00000000..c6457b05 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthCommonSetting.h @@ -0,0 +1,432 @@ +// +// 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 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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthEngine.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthEngine.h new file mode 100644 index 00000000..2caac330 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthFacade.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/BioAuthFacade.h new file mode 100644 index 00000000..5c3e95df --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFBaseViewController.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFBaseViewController.h new file mode 100644 index 00000000..71c8635e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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 "APBTaskContext.h" + +@interface DTFBaseViewController : UIViewController + +@property(nonatomic, assign) BOOL isClose; +@property(nonatomic, strong) NSString *platformInfo; +@property(nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; +@property(nonatomic, weak) APBTaskContext *context; + +- (void)addWebGuideView:(UIView *)guideView; +- (void)showLoadingView; +- (void)dismissLoadingView; +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFFaceView.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFFaceView.h new file mode 100644 index 00000000..fe9668d7 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFFaceViewProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFFaceViewProtocol.h new file mode 100644 index 00000000..a1782622 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFFaceViewProtocol.h @@ -0,0 +1,59 @@ +// +// DTFFaceViewProtocol.h +// BioAuthEngine +// +// Created by mengbingchuan on 2022/8/29. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import +#import + +@protocol DTFFaceViewProtocol; + +@protocol DTFFaceViewDelegate + +- (void)viewExit:(id)view; + +- (void)playBtn:(UIButton *)btn; + +@end + +@protocol DTFFaceViewProtocol + +@property(nonatomic, weak) id delegate; + +- (void)setPreviewLayer:(AVCaptureVideoPreviewLayer *)previewLayer; + +- (void)setScreenRotation:(BOOL)isRotation; + +- (void)setPlayBtnIcon; + +- (void)faceDectectComplete; + +- (void)handleFaceStateChange:(ToygerMessage)state + stateTips:(NSString *)tips + actionGuide:(NSString *)guide + progress:(CGFloat)progress; + +- (UIView *)view; + +@optional + +/** + * color 炫彩时,设置View的背景色 + */ +- (void)setPhotinusColor:(UIColor *)color; + +/** + * 设置是否开启适老化 + */ +- (void)setSuitableType:(BOOL)isSuitable; +/** + * image 模糊化的人脸图,用于做结束时loading + */ +- (void)showBlurImage:(UIImage *)image; + +@end + diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFTextLayer.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFTextLayer.h new file mode 100644 index 00000000..333dfe52 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFUIElementManager.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFUIElementManager.h new file mode 100644 index 00000000..6f0c5644 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFUploadWaveLayer.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFUploadWaveLayer.h new file mode 100755 index 00000000..73e6e190 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFViewProviderProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFViewProviderProtocol.h new file mode 100644 index 00000000..223e6102 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/DTFViewProviderProtocol.h @@ -0,0 +1,16 @@ +// +// FaceViewProviderProtocol.h +// BioAuthEngine +// +// Created by mengbingchuan on 2022/8/29. +// Copyright © 2022 DTF. All rights reserved. +// + +#import +#import "DTFFaceViewProtocol.h" + +@protocol DTFViewProviderProtocol + +- (id)viewForFace; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/IBioAuthFactor.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/IBioAuthFactor.h new file mode 100644 index 00000000..6717f23e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/IBioAuthTask.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/IBioAuthTask.h new file mode 100644 index 00000000..1819bd2c --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/IBioAuthTask.h @@ -0,0 +1,64 @@ +// +// IBioAuthTask.h +// BioAuthEngine +// +// Created by yukun.tyk on 11/4/15. +// Copyright © 2015 DTF. All rights reserved. +// + +#import +#import +#import +#import + +@class APBTaskContext; + +/** + * 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 IBioAuthTask + +@property(nonatomic, copy, readonly) NSString *taskName; //任务名称 +@property(nonatomic, strong, readonly) APBTaskContext *context; //任务上下文 + +/** + * 开始执行任务队列 + */ +- (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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/NSTimer+bioAuth.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/NSTimer+bioAuth.h new file mode 100644 index 00000000..e4d30758 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/UIImage+bioAuth.h b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Headers/UIImage+bioAuth.h new file mode 100644 index 00000000..fb393fe2 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Info.plist new file mode 100644 index 00000000..5c8b7ecd Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/BioAuthEngine.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/DTFIdentityManager b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/DTFIdentityManager new file mode 100644 index 00000000..76618e89 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/DTFIdentityManager differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/DTFIdentityManager.h b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/DTFIdentityManager.h new file mode 100644 index 00000000..d07253e3 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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.2 + +NS_ASSUME_NONNULL_BEGIN + +typedef void (^ZIMCallback)(ZIMResponse *response); + +@interface DTFIdentityManager : NSObject + ++ (DTFIdentityManager *)sharedInstance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/DTFIdentityPublicApi.h b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/DTFIdentityPublicApi.h new file mode 100755 index 00000000..5bf77d3f --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/DTFSdk.h b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/DTFSdk.h new file mode 100755 index 00000000..c42026b1 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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; + +//获取无线保镖基本数据。 ++ (NSDictionary*) getSecurityInfo DEPRECATED_MSG_ATTRIBUTE("won't use any more");; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/ZimJSApiHandler.h b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/ZimJSApiHandler.h new file mode 100755 index 00000000..5173191e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/ZimRpcManager.h b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/ZimRpcManager.h new file mode 100755 index 00000000..09e9243e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Headers/ZimRpcManager.h @@ -0,0 +1,58 @@ +// +// 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, 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 withcompletionBlock:(rpcCompletionBlock)blk; + +//EKYC OCR接口 +- (void)doSendEKYCOCRContent:(NSDictionary*)params withcompletionBlock:(DTFRpcCompletionBlock)blk ; + +//EKYC OCR确认接口 +- (void)doSendEKYCOCRContentConfrim:(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/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Info.plist new file mode 100644 index 00000000..8ef8a5fa Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Modules/module.modulemap b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Modules/module.modulemap new file mode 100644 index 00000000..6f1003ed --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module DTFIdentityManager { + umbrella header "DTFIdentityManager.h" + + export * + module * { export * } +} diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/en.lproj/InfoPlist.strings b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/DTFIdentityManager.framework/en.lproj/InfoPlist.strings differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/DTFUtility b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/DTFUtility new file mode 100644 index 00000000..1e5cace4 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/DTFUtility differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/APBSystem.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/APBSystem.h new file mode 100644 index 00000000..3a4ca130 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/APBUtils.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/APBUtils.h new file mode 100644 index 00000000..a2412ff8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/APBUtils.h @@ -0,0 +1,111 @@ +// +// 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 APBUtils : NSObject + ++ (NSString *)MD5WithData:(NSData *)data; + ++ (NSString *)randomString:(NSInteger)len; + ++ (BOOL)isWifi; + +/** + * 主线程同步操作,请调用宏版本 + */ ++ (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; + ++ (long long)getTotalDiskSize; + ++ (long long)getAvailableDiskSize; + ++ (NSString*)deviceVersion; + ++ (NSString *)osVersion; + ++ (NSString *)appName; + ++ (NSString *)appVersion; + ++ (CMVideoDimensions)maxResolution:(AVCaptureDevicePosition) position; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/CameraService.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/CameraService.h new file mode 100644 index 00000000..656d16ab --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/CameraService.h @@ -0,0 +1,194 @@ +// +// CameraService.h +// DTFCameraService +// +// Created by Tommy Li on 2017/8/23. +// Copyright © 2017年 EyeVerify. All rights reserved. +// + +#import +#import + +#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; + + +/** + 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; + +/** + 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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFBeanService.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFBeanService.h new file mode 100644 index 00000000..4ad9d03b --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFBeanService.h @@ -0,0 +1,30 @@ +// +// DTFBeanService.h +// DTFUtility +// +// Created by mengbingchuan on 2023/6/8. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import +//#import "DTFRPCProxyProtocol.h" +#import "DTFFaceIdentityProtocol.h" +#import "DTFNFCIdentityProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFBeanService : NSObject + +//@property(nonatomic, strong) id rpcProxy; +@property(nonatomic, strong) id faceIdentity; +@property(nonatomic, strong) id nfcIdentity; + ++ (DTFBeanService *)sharedInstance; + +- (void)setup; + +- (void)setupNFC; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFConfiguration.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFConfiguration.h new file mode 100644 index 00000000..d7e6201e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFConfiguration.h @@ -0,0 +1,47 @@ +// +// 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" + +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 *circleColor; +@property(nonatomic, strong, nullable) UIColor *buttonColor; +@property(nonatomic, strong, nullable) UIColor *clickedColor; +@property(nonatomic, strong, nullable) NSString *ocrInfo; +@property(nonatomic, strong, nullable) NSData *faceData; // add for OCR +@property(nonatomic, strong, nullable) NSData *countryData; // add for OCR +@property(nonatomic, strong, nullable) NSString *imageCount; + +@property(nonatomic, assign) UIDeviceOrientation orientation; +@property(nonatomic, assign) BOOL returnContent; +@property(nonatomic, assign) BOOL returnContentUpload; +@property(nonatomic, assign) BOOL simpleFlags; //安全SDK的Flags +@property(nonatomic, assign) BOOL tempddsFlags;//是否需要做安全加密 +@property(nonatomic, assign) BOOL iPv6Flags; + +@property(nonatomic, strong) DTFSDKConfiguration *remoteConfig; + ++ (DTFConfiguration *)sharedInstance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFConstant.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFConstant.h new file mode 100644 index 00000000..91836b9d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFConstant.h @@ -0,0 +1,33 @@ +// +// 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 ZIM_EXT_PARAMS_KEY_OCR_BOTTOM_BUTTON_COLOR; //设置颜色的值,值内容为:#FFFFFF 格式,必须为6位 +extern NSString *const ZIM_EXT_PARAMS_KEY_OCR_BOTTOM_BUTTON_CLICKED_COLOR; //设置按钮点击颜色的值,值内容为:#FFFFFF 格式 ,必须为6位 +extern NSString *const ZIM_EXT_PARAMS_KEY_USE_VIDEO; //返回本地视频的key +extern NSString *const ZIM_EXT_PARAMS_KEY_OCR_FACE_CIRCLE_COLOR; +extern NSString *const ZIM_EXT_PARAMS_KEY_USE_VIDEO_UPLOAD; //返回本地视频上传到服务端的key +extern NSString *const ZIM_EXT_PARAMS_KEY_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; diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFErrorCodeConfig.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFErrorCodeConfig.h new file mode 100644 index 00000000..b92fa88d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFErrorCodeConfig.h @@ -0,0 +1,147 @@ +// +// 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 = @"Z1025"; +static NSString *const kDTFProcessInterruptionErrorMessage = @"流程被中断(Z1025)"; +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 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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFFaceIdentityProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFFaceIdentityProtocol.h new file mode 100644 index 00000000..fd9e538f --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLanguageManager.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLanguageManager.h new file mode 100644 index 00000000..0b5571e8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLanguageManager.h @@ -0,0 +1,29 @@ +// +// DTFLanguageManager.h +// DTFUtility +// +// Created by 汪澌哲 on 2023/8/3. +// Copyright © 2023 com.alipay.iphoneclient.zoloz. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DTFLanguageManager : NSObject + +typedef void(^DTFLanguageDownloadCompletionBlock)(NSError *error); + ++ (instancetype)sharedInstance; + +- (BOOL)checkNeedPreload; +- (BOOL)checkUpdateWithVersion:(NSString *)version; +- (void)startDownloadWithCompletion:(DTFLanguageDownloadCompletionBlock)completion; +- (NSString *)getLocalizedStringForKey:(NSString *)key; +- (NSString *)getMultiFilePath; +- (NSString *)getMultiJsonFile; +- (void)setBundlePath:(NSString *)bundlePath; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogFile.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogFile.h new file mode 100644 index 00000000..58c08271 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogFormatter.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogFormatter.h new file mode 100644 index 00000000..f4c1c4e8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogManager.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogManager.h new file mode 100644 index 00000000..86e6751c --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogMonitor.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogMonitor.h new file mode 100644 index 00000000..726572a3 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogSetting.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFLogSetting.h new file mode 100644 index 00000000..39bb36c2 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFMonitorCommonData.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFMonitorCommonData.h new file mode 100644 index 00000000..8370dce8 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFMonitorPointDataDefines.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFMonitorPointDataDefines.h new file mode 100644 index 00000000..0ed00ce7 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFMutableSetting.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFMutableSetting.h new file mode 100644 index 00000000..93d5502e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFNFCIdentityProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFNFCIdentityProtocol.h new file mode 100644 index 00000000..03fba803 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFRPCProxyProtocol.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFRPCProxyProtocol.h new file mode 100644 index 00000000..11401547 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFRPCProxyProtocol.h @@ -0,0 +1,66 @@ +// +// 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; + + + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFSDKConfiguration.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFSDKConfiguration.h new file mode 100644 index 00000000..0a3ad0ee --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFSDKConfiguration.h @@ -0,0 +1,29 @@ +// +// 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) NSArray *MODEL_FILES; + +//处理后数据 +@property (nonatomic, assign) BOOL urlSessionDegrade; + +- (void)setConfigString:(NSString *)string; + +- (void)updateConfig; + +@end + diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFServerError.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFServerError.h new file mode 100644 index 00000000..07eb6f50 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFUtility.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFUtility.h new file mode 100644 index 00000000..2c1fe4dc --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/DTFUtility.h @@ -0,0 +1,37 @@ +// +// 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 diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/NSObject+APBJSON.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/NSObject+APBJSON.h new file mode 100644 index 00000000..6a399392 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/NSObject+DTFUtilityJsonString.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/NSObject+DTFUtilityJsonString.h new file mode 100644 index 00000000..0525d6db --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/NSString+DTFBase64.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/NSString+DTFBase64.h new file mode 100644 index 00000000..3f20a916 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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 *)base64EncodedString; + + /** + * 将Base64解码 + */ + - (NSString *)base64DecodedString; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ToygerCryptoManager.hpp b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ToygerCryptoManager.hpp new file mode 100644 index 00000000..b2bb3895 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZDeviceInfo.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZDeviceInfo.h new file mode 100644 index 00000000..64015ee9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZDeviceInfo.h @@ -0,0 +1,27 @@ +// +// ZDeviceInfo.h +// DTFOpenPlatformBuild +// +// Created by richard on 26/02/2018. +// Copyright © 2018 com. .iphoneclient.DTF. All rights reserved. +// +#import + +@interface ZDeviceInfo : NSObject + +@property(nonatomic, strong) NSString *apdidToken; +@property(nonatomic, strong) NSString *wWORKSPACEID; + ++(instancetype)getInstance; + +- (NSString *)getTokenContent; + +- (NSString *)securityVersion; + +- (void)ActivityToken; + +- (void)ActivityTokenWithParam:(NSDictionary*)param; + +- (NSString *)ApperceptRiskwith:(NSInteger)action extParams:(NSDictionary *)args; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZIMResponse.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZIMResponse.h new file mode 100644 index 00000000..a0949db0 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZIMResponse.h @@ -0,0 +1,46 @@ +// +// 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, readonly)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)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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimInitRequest.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimInitRequest.h new file mode 100755 index 00000000..4cf72b35 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimInitResponse.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimInitResponse.h new file mode 100755 index 00000000..e668062d --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimInitResponse.h @@ -0,0 +1,49 @@ +// +// 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 *ImageCount; + ++ (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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimModelDownloader.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimModelDownloader.h new file mode 100644 index 00000000..df821ed7 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimValidateRequest.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimValidateRequest.h new file mode 100755 index 00000000..fec7f39a --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimValidateRequest.h @@ -0,0 +1,44 @@ +// +// ZimValidateRequest.h +// DTFIdentityManager +// +// Created by richard on 27/08/2017. +// Copyright © 2017 DTF. All rights reserved. +// + +#import + +@class ZimValidateRequest; + +#ifndef SUPPORT_PB +@interface ZimValidateRequest:NSObject +@property (nonatomic,strong) NSString* zimId ; +@property (nonatomic,copy) NSString* 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) NSArray* wishVideoUrl; +@property(nonatomic, strong) NSArray* wishAudioUrl; +@property (nonatomic,strong) NSString* originAliyunEncToken; + ++ (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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimValidateResponse.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZimValidateResponse.h new file mode 100755 index 00000000..808ad085 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZolozSimpleValueContent.h b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Headers/ZolozSimpleValueContent.h new file mode 100644 index 00000000..3129a787 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Info.plist new file mode 100644 index 00000000..3b6bac04 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Modules/module.modulemap b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Modules/module.modulemap new file mode 100644 index 00000000..be9d6ed0 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/DTFUtility.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module DTFUtility { + umbrella header "DTFUtility.h" + + export * + module * { export * } +} diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRButton.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRButton.h new file mode 100644 index 00000000..338bc773 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRInfoErrorTipViewController.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRInfoErrorTipViewController.h new file mode 100644 index 00000000..5d565c50 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRInfoErrorTipViewController.h @@ -0,0 +1,23 @@ +// +// DetectImageForOCRInfoErrorTipViewController.h +// xMediaDemo +// +// Created by 053508 on 2020/6/16. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + + +//点击时间的回调 +typedef void(^CustomAlertDismissBlock)(UIButton *button); + +@interface DetectImageForOCRInfoErrorTipViewController : UIViewController ++ (UIViewController *)showCustomerAlertViewControllerWithSuperController:(UIViewController *)superController withType:(NSInteger)type actionBlock:(CustomAlertDismissBlock)customBlock; +@property (nonatomic, copy) CustomAlertDismissBlock dismissBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRInfoViewController.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRInfoViewController.h new file mode 100644 index 00000000..64a07474 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRInfoViewController.h @@ -0,0 +1,25 @@ +// +// DetectImageForOCRInfoViewController.h +// xMediaDemo +// +// Created by 053508 on 2020/6/8. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +typedef void(^DetectImageForOCRInfoBlock)(BOOL success, NSObject * _Nonnull result); + + + +@class ZimRpcManager; +@interface DetectImageForOCRInfoViewController : UIViewController +@property (nonatomic, copy)DetectImageForOCRInfoBlock ocrInfoBlock; +@property(nonatomic, strong) ZimRpcManager * rpcManager; +@property (nonatomic,strong) NSString * certifyId; +@property(nonatomic, assign) BOOL isClose; + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRPhotoViewController.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRPhotoViewController.h new file mode 100644 index 00000000..52061915 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRPhotoViewController.h @@ -0,0 +1,21 @@ +// +// DetectImageForOCRPhotoViewController.h +// xMediaDemo +// +// Created by 053508 on 2020/6/19. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^ImageBlock)(UIImage *image, UIImage * _Nullable originImage); + +@interface DetectImageForOCRPhotoViewController : UIViewController +@property (nonatomic, copy) ImageBlock imageblock; +@property (nonatomic,assign) NSInteger type;//类型为0表示身份证面,1为国徽面。 + +@end + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRScrollView.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/DetectImageForOCRScrollView.h new file mode 100644 index 00000000..06328057 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimAliCloudOCRResponse.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimAliCloudOCRResponse.h new file mode 100644 index 00000000..bce32875 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRForTechResponse.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRForTechResponse.h new file mode 100644 index 00000000..785d8b96 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRRequest.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRRequest.h new file mode 100644 index 00000000..9c4442d2 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRResponse.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRResponse.h new file mode 100644 index 00000000..fcc87a09 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRVerifyResult.h b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRVerifyResult.h new file mode 100644 index 00000000..7e0bca9a --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Headers/ZimOCRVerifyResult.h @@ -0,0 +1,26 @@ +// +// ZimOCRVerifyResult.h +// DTFIdentityManager +// +// Created by 053508 on 2020/6/23. +// Copyright © 2020 DTF. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@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 + +NS_ASSUME_NONNULL_END diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Info.plist new file mode 100644 index 00000000..f2a430dc Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRDetectSDKForTech b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRDetectSDKForTech new file mode 100644 index 00000000..5cb75bfc Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRDetectSDKForTech differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/blur@2x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/blur@2x.png new file mode 100644 index 00000000..3b2c4939 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/blur@2x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/clickbutton@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/clickbutton@3x.png new file mode 100644 index 00000000..afd5aa95 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/clickbutton@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/closerRed@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/closerRed@3x.png new file mode 100644 index 00000000..e45b387c Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/closerRed@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/closex@2x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/closex@2x.png new file mode 100644 index 00000000..2ae76f31 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/closex@2x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/completebutton@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/completebutton@3x.png new file mode 100644 index 00000000..c9cc5bf5 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/completebutton@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/completedemo@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/completedemo@3x.png new file mode 100644 index 00000000..1395a170 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/completedemo@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/country@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/country@3x.png new file mode 100644 index 00000000..109efa53 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/country@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/exposure@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/exposure@3x.png new file mode 100644 index 00000000..1ae721dd Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/exposure@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/face@2x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/face@2x.png new file mode 100644 index 00000000..13d8fe2b Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/face@2x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/finishto@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/finishto@3x.png new file mode 100644 index 00000000..0906d052 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/finishto@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/finishto_tech@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/finishto_tech@3x.png new file mode 100644 index 00000000..b4b669f5 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/finishto_tech@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/flash@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/flash@3x.png new file mode 100644 index 00000000..2b14fbcd Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/flash@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/flashX@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/flashX@3x.png new file mode 100644 index 00000000..5fa53a35 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/flashX@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/icon@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/icon@3x.png new file mode 100644 index 00000000..0307e8d1 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/icon@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/miss@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/miss@3x.png new file mode 100644 index 00000000..ccdde8da Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/miss@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/planto@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/planto@3x.png new file mode 100644 index 00000000..ac0f75b7 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/planto@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/planto_tech@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/planto_tech@3x.png new file mode 100644 index 00000000..3405a04d Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/planto_tech@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/returnbutton@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/returnbutton@3x.png new file mode 100644 index 00000000..fc710a2e Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/returnbutton@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/scan@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/scan@3x.png new file mode 100644 index 00000000..d3ee7b94 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/scan@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/tipNode@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/tipNode@3x.png new file mode 100644 index 00000000..7cf2cdf7 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/tipNode@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/verifyFace@2x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/verifyFace@2x.png new file mode 100644 index 00000000..d766dd96 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/verifyFace@2x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/withoutto@3x.png b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/withoutto@3x.png new file mode 100644 index 00000000..7bce1167 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle/withoutto@3x.png differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/Headers/Toyger.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/Headers/Toyger.h new file mode 100644 index 00000000..b984ef60 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/Headers/Toyger.h @@ -0,0 +1,661 @@ +#pragma once +#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, +}; +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 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; //是否检测人脸属性 +}; + +struct TGCommonConfig{ + int optional_face_count = 0; // 备选人脸图数量 + int each_action_pick_count = 0; // 每个动作需要备选人脸图数量 + int log_level; //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 +}; +#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; +}; + +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, bool copy = true); + ~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; + TGFrameFormat format; + TGFrameType frame_type; +private: + int getDataLen() const; + void Ref(); + int UnRef(); + bool _own; + int *_use = nullptr; // todo: not thread safe +}; + +#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; + + // 当前动作索引 + long action_index; + // 属性记录的时间 + long record_time; +}; + +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, +}; + +enum TGStaticMessage{ + TGStaticMessage_NoLiveness = 0, + TGStaticMessage_BlinkLiveness, + TGStaticMessage_LeftYawLiveness, + TGStaticMessage_RightYawLiveness, + TGStaticMessage_MouthOpenLiveness, + TGStaticMessage_LipMoveLiveness, + TGStaticMessage_PhotinusLiveness, +}; + + +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 +}; + + +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; +}; + + +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, +}; + +struct TGFaceInfo +{ + TGFrame frame; + TGFaceAttr attr; + std::vector optionalFaceInfos; +}; + +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 (*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); + +/** + 炫彩结束 + */ +void tg_photinus_finish(void *instance); + +#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); diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/Info.plist new file mode 100644 index 00000000..858f5a4a Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/ToygerNative b/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/ToygerNative new file mode 100644 index 00000000..a64cab83 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/ToygerNative.framework/ToygerNative differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerConfig.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerConfig.h new file mode 100644 index 00000000..8b6ec4a6 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerDocFrame.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerDocFrame.h new file mode 100644 index 00000000..cc17375e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerFaceFrame.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerFaceFrame.h new file mode 100644 index 00000000..c0973afe --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerFaceFrame.h @@ -0,0 +1,59 @@ +// +// 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, +}; + +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 +}; + +@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; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerFrame.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerFrame.h new file mode 100644 index 00000000..0e7b1f53 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerPublicDefine.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerPublicDefine.h new file mode 100644 index 00000000..4ce09ac9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerPublicDefine.h @@ -0,0 +1,65 @@ +// +// 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, 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; + +#endif /* ToygerAlgorithmPublicDefine_h */ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerSensorData.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerSensorData.h new file mode 100644 index 00000000..60d42c68 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerSensorHandler.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerSensorHandler.h new file mode 100644 index 00000000..87e4dfab --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerService.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerService.h new file mode 100644 index 00000000..116c955e --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/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/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerServiceInstance.h b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerServiceInstance.h new file mode 100644 index 00000000..357fbfbd --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Headers/ToygerServiceInstance.h @@ -0,0 +1,152 @@ +// +// 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 errorPtr:(NSError **)errorPtr NS_DESIGNATED_INITIALIZER; + +#ifdef ZDOC +/** + 设置证件扫描配置 + @param config + */ +- (void)setDocConfig:(ToygerDocConfig *)config; +#endif + +/** + 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; + + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Info.plist new file mode 100644 index 00000000..912c9aa0 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Modules/module.modulemap b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Modules/module.modulemap new file mode 100644 index 00000000..92914338 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module ToygerService { + umbrella header "ToygerService.h" + + export * + module * { export * } +} diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService new file mode 100644 index 00000000..6a01817a Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService.bundle/toyger.face.dat b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService.bundle/toyger.face.dat new file mode 100644 index 00000000..2bf2e4fe Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService.bundle/toyger.face.dat differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/en.lproj/InfoPlist.strings b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..3967e063 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/ToygerService.framework/en.lproj/InfoPlist.strings differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Headers/SecurityDevice.h b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Headers/SecurityDevice.h new file mode 100644 index 00000000..f1d448d9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Headers/SecurityDevice.h @@ -0,0 +1,66 @@ +// +// deviceiOS.h +// deviceiOS +// +// Created by nansong.zxc on 2020/3/25. +// Copyright © 2020 security.net. All rights reserved. +// + +#import +#import "SecuritySession.h" + +//! Project version number for deviceiOS. +FOUNDATION_EXPORT double deviceiOSVersionNumber; + +//! Project version string for deviceiOS. +FOUNDATION_EXPORT const unsigned char deviceiOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +@interface SecurityDevice : NSObject + +/** + * 设备指纹单例 + */ ++ (SecurityDevice *)sharedInstance; + +/** + * 设备指纹初始化函数 + */ +- (void)initDevice:(NSString *)userAppKey :(void (^)(int))initCallback; + +/** + * 底层数据传输走IPv6 + */ +- (void)initDeviceIPV6:(NSString *)userAppKey :(void (^)(int))initCallback; + +/** + * 获取DeviceToken + */ +- (SecuritySession *) getSession; +- (SecurityToken *) getDeviceToken; + +/** + * 用户自定义上报数据 + */ +- (void)reportUserData:(int)type :(NSString *)msg; + +/** + * 在某些特殊时机上报,具体上报时机请联系 对接人员咨询 + */ +- (void)reportMoment; + +// 获取 SDK 版本号 +- (NSString *) getVersion; + +/** + * 读取本次 + */ +- (SecuritySessionId *)getSessionId; + +/** + * 设置自定义选项 + */ +- (void)setOptions:(NSDictionary *)options; + +@end diff --git a/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Headers/SecuritySession.h b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Headers/SecuritySession.h new file mode 100644 index 00000000..9af074e9 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Headers/SecuritySession.h @@ -0,0 +1,57 @@ +// +// SecuritySession.h +// deviceiOS +// +// Created by nansong.zxc on 2020/3/26. +// Copyright © 2020 security.net. All rights reserved. +// + +#ifndef SecuritySession_h +#define SecuritySession_h + +/** + * 设备指纹deviceToken + */ + +@interface SecuritySession : NSObject + +/** + * 获取Session操作的结果 + */ +@property(atomic) int code; + +/** + * 包含Session结果的字符串 + */ +@property(copy, atomic) NSString *session; + +@end + +@interface SecurityToken : NSObject + +/** + * 获取Session操作的结果 + */ +@property(atomic) int code; + +/** + * 包含token结果的字符串 + */ +@property(copy, atomic) NSString *token; + +@end + +@interface SecuritySessionId : NSObject + +/** + * 获取SessionID操作的结果 + */ +@property(atomic) int code; + +/** + * 包含Session结果的字符串 + */ +@property(copy, atomic) NSString *sessionId; + +@end +#endif /* SecuritySession_h */ diff --git a/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Info.plist b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Info.plist new file mode 100644 index 00000000..eceea311 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/Info.plist differ diff --git a/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/deviceiOS b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/deviceiOS new file mode 100644 index 00000000..6c05a858 Binary files /dev/null and b/star_lock/aliyun_face_plugin/ios/Products/deviceiOS.framework/deviceiOS differ diff --git a/star_lock/aliyun_face_plugin/ios/aliyun_face_plugin.podspec b/star_lock/aliyun_face_plugin/ios/aliyun_face_plugin.podspec new file mode 100644 index 00000000..6d775098 --- /dev/null +++ b/star_lock/aliyun_face_plugin/ios/aliyun_face_plugin.podspec @@ -0,0 +1,35 @@ +# +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. +# Run `pod lib lint aliyun_face_plugin.podspec` to validate before publishing. +# +Pod::Spec.new do |s| + s.name = 'aliyun_face_plugin' + s.version = '0.0.1' + s.summary = 'A new Flutter plugin project.' + s.description = <<-DESC +A new Flutter plugin project. + DESC + s.homepage = 'http://example.com' + s.license = { :file => '../LICENSE' } + s.author = { 'Your Company' => 'email@example.com' } + s.source = { :path => '.' } + s.source_files = 'Classes/**/*' + s.public_header_files = 'Classes/**/*.h' + s.dependency 'Flutter' + s.platform = :ios, '9.0' + + # Flutter.framework does not contain a i386 slice. + s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } + + # 实人认证SDK framework库 + s.vendored_frameworks = 'Products/*.framework' + + # 系统framework库 + s.frameworks = 'CoreGraphics', 'Accelerate', 'SystemConfiguration', 'AssetsLibrary', + 'CoreTelephony', 'QuartzCore', 'CoreFoundation', 'CoreLocation', + 'ImageIO', 'CoreMedia', 'CoreMotion', 'AVFoundation', 'WebKit', + 'AudioToolbox', 'CFNetwork', 'MobileCoreServices', 'AdSupport', 'ReplayKit' + # 系统C库 + s.libraries = 'resolv', 'z', 'c++', 'c++.1', 'c++abi', 'z.1.2.8' + +end diff --git a/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin.dart b/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin.dart new file mode 100644 index 00000000..81e12eab --- /dev/null +++ b/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin.dart @@ -0,0 +1,22 @@ +import 'aliyun_face_plugin_platform_interface.dart'; + +class AliyunFacePlugin { + Future getPlatformVersion() { + return AliyunFacePluginPlatform.instance.getPlatformVersion(); + } + + // SDK初始化接口 + Future init() { + return AliyunFacePluginPlatform.instance.init(); + } + + // SDK认证接口 + Future verify(String key, String value) { + return AliyunFacePluginPlatform.instance.verify(key, value); + } + + // 获取客户端的metainfos,用于服务器端接口获取认证id,即CertifyId + Future getMetaInfos() { + return AliyunFacePluginPlatform.instance.getMetaInfos(); + } +} diff --git a/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin_method_channel.dart b/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin_method_channel.dart new file mode 100644 index 00000000..e61737e3 --- /dev/null +++ b/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin_method_channel.dart @@ -0,0 +1,37 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; + +import 'aliyun_face_plugin_platform_interface.dart'; + +/// An implementation of [AliyunFacePluginPlatform] that uses method channels. +class MethodChannelAliyunFacePlugin extends AliyunFacePluginPlatform { + /// The method channel used to interact with the native platform. + @visibleForTesting + final methodChannel = const MethodChannel('aliyun_face_plugin'); + + @override + Future getPlatformVersion() async { + final version = + await methodChannel.invokeMethod('getPlatformVersion'); + return version; + } + + @override + Future init() async { + await methodChannel.invokeMethod('init'); + } + + @override + Future getMetaInfos() async { + final facetMetaInfo = + await methodChannel.invokeMethod('getMetaInfos'); + return facetMetaInfo; + } + + @override + Future verify(String key, String value) async { + Map params = {key: value}; + final code = await methodChannel.invokeMethod('verify', params); + return code; + } +} diff --git a/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin_platform_interface.dart b/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin_platform_interface.dart new file mode 100644 index 00000000..858b7f4b --- /dev/null +++ b/star_lock/aliyun_face_plugin/lib/aliyun_face_plugin_platform_interface.dart @@ -0,0 +1,41 @@ +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; + +import 'aliyun_face_plugin_method_channel.dart'; + +abstract class AliyunFacePluginPlatform extends PlatformInterface { + /// Constructs a AliyunFacePluginPlatform. + AliyunFacePluginPlatform() : super(token: _token); + + static final Object _token = Object(); + + static AliyunFacePluginPlatform _instance = MethodChannelAliyunFacePlugin(); + + /// The default instance of [AliyunFacePluginPlatform] to use. + /// + /// Defaults to [MethodChannelAliyunFacePlugin]. + static AliyunFacePluginPlatform get instance => _instance; + + /// Platform-specific implementations should set this with their own + /// platform-specific class that extends [AliyunFacePluginPlatform] when + /// they register themselves. + static set instance(AliyunFacePluginPlatform instance) { + PlatformInterface.verifyToken(instance, _token); + _instance = instance; + } + + Future getPlatformVersion() { + throw UnimplementedError('platformVersion() has not been implemented.'); + } + + Future init() { + throw UnimplementedError('init() has not been implemented.'); + } + + Future verify(String key, String value) { + throw UnimplementedError('verify() has not been implemented.'); + } + + Future getMetaInfos() { + throw UnimplementedError('getMetaInfos() has not been implemented.'); + } +} diff --git a/star_lock/aliyun_face_plugin/pubspec.yaml b/star_lock/aliyun_face_plugin/pubspec.yaml new file mode 100644 index 00000000..e1bb3f2f --- /dev/null +++ b/star_lock/aliyun_face_plugin/pubspec.yaml @@ -0,0 +1,72 @@ +name: aliyun_face_plugin +description: A new Flutter plugin project. +version: 0.0.1 +homepage: + +environment: + sdk: '>=2.18.2 <3.0.0' + flutter: ">=2.5.0" + +dependencies: + flutter: + sdk: flutter + plugin_platform_interface: ^2.0.2 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + # This section identifies this Flutter project as a plugin project. + # The 'pluginClass' specifies the class (in Java, Kotlin, Swift, Objective-C, etc.) + # which should be registered in the plugin registry. This is required for + # using method channels. + # The Android 'package' specifies package in which the registered class is. + # This is required for using method channels on Android. + # The 'ffiPlugin' specifies that native code should be built and bundled. + # This is required for using `dart:ffi`. + # All these are used by the tooling to maintain consistency when + # adding or updating assets for this project. + plugin: + platforms: + android: + package: com.aliyun.face.aliyun_face_plugin + pluginClass: AliyunFacePlugin + ios: + pluginClass: AliyunFacePlugin + + # To add assets to your plugin package, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + # + # For details regarding assets in packages, see + # https://flutter.dev/assets-and-images/#from-packages + # + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware + + # To add custom fonts to your plugin package, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts in packages, see + # https://flutter.dev/custom-fonts/#from-packages diff --git a/star_lock/android/build.gradle b/star_lock/android/build.gradle index a29dfa3f..2c4a5982 100644 --- a/star_lock/android/build.gradle +++ b/star_lock/android/build.gradle @@ -31,6 +31,9 @@ allprojects { // 配置HMS Core SDK的Maven仓地址。 maven {url 'https://developer.huawei.com/repo/'} + flatDir { + dirs project(':aliyun_face_plugin').file('libs') + } } } diff --git a/star_lock/ios/Podfile.lock b/star_lock/ios/Podfile.lock index c1b43709..856b71dd 100644 --- a/star_lock/ios/Podfile.lock +++ b/star_lock/ios/Podfile.lock @@ -13,6 +13,8 @@ PODS: - AlicloudUTDID (1.5.0.94) - AlicloudUtils (1.4.1): - AlicloudUTDID + - aliyun_face_plugin (0.0.1): + - Flutter - AMap3DMap (10.0.600): - AMapFoundation (>= 1.8.0) - amap_flutter_location (0.0.1): @@ -41,14 +43,14 @@ PODS: - ReachabilitySwift - device_info_plus (0.0.1): - Flutter - - DKImagePickerController/Core (4.3.7): + - DKImagePickerController/Core (4.3.4): - DKImagePickerController/ImageDataManager - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.7) - - DKImagePickerController/PhotoGallery (4.3.7): + - DKImagePickerController/ImageDataManager (4.3.4) + - DKImagePickerController/PhotoGallery (4.3.4): - DKImagePickerController/Core - DKPhotoGallery - - DKImagePickerController/Resource (4.3.7) + - DKImagePickerController/Resource (4.3.4) - DKPhotoGallery (0.0.17): - DKPhotoGallery/Core (= 0.0.17) - DKPhotoGallery/Model (= 0.0.17) @@ -128,7 +130,7 @@ PODS: - FlutterMacOS - permission_handler_apple (9.3.0): - Flutter - - ReachabilitySwift (5.2.2) + - ReachabilitySwift (5.2.1) - SDWebImage (5.19.1): - SDWebImage/Core (= 5.19.1) - SDWebImage/Core (5.19.1) @@ -141,7 +143,7 @@ PODS: - SwiftyGif (5.4.5) - system_settings (0.0.1): - Flutter - - Toast (4.1.1) + - Toast (4.1.0) - url_launcher_ios (0.0.1): - Flutter - video_player_avfoundation (0.0.1): @@ -154,6 +156,7 @@ PODS: DEPENDENCIES: - aj_captcha_flutter (from `.symlinks/plugins/aj_captcha_flutter/ios`) - AlicloudPush (~> 1.9.9) + - aliyun_face_plugin (from `.symlinks/plugins/aliyun_face_plugin/ios`) - amap_flutter_location (from `.symlinks/plugins/amap_flutter_location/ios`) - amap_flutter_map (from `.symlinks/plugins/amap_flutter_map/ios`) - app_settings (from `.symlinks/plugins/app_settings/ios`) @@ -217,6 +220,8 @@ SPEC REPOS: EXTERNAL SOURCES: aj_captcha_flutter: :path: ".symlinks/plugins/aj_captcha_flutter/ios" + aliyun_face_plugin: + :path: ".symlinks/plugins/aliyun_face_plugin/ios" amap_flutter_location: :path: ".symlinks/plugins/amap_flutter_location/ios" amap_flutter_map: @@ -293,6 +298,7 @@ SPEC CHECKSUMS: AlicloudUT: 6d1cf30d57d096b7e9bb4b069dd0ba6ad59a3338 AlicloudUTDID: 7323c443dcdf9a73e2224dc6ce51703671d7a765 AlicloudUtils: 873a76615bebcee8b1996f20820d366e433c3eab + aliyun_face_plugin: 7a90b6526c5acea616062e809699294c782c3eb8 AMap3DMap: d104a679c2bad573c908e0ddadf26bc399678b24 amap_flutter_location: 44ff5beb64f42e0bf5feb402fe299dac0013af6f amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a @@ -300,13 +306,13 @@ SPEC CHECKSUMS: AMapLocation: 5248aec2455ebb5d104b367813c946430a2ee033 app_settings: 017320c6a680cdc94c799949d95b84cb69389ebc audio_service: f509d65da41b9521a61f1c404dd58651f265a567 - audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207 + audio_session: 4f3e461722055d21515cf3261b64c973c062f345 audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 auto_orientation: 102ed811a5938d52c86520ddd7ecd3a126b5d39d camera_avfoundation: 8b8d780bcfb6a4a02b0fbe2b4bd17b5b71946e68 connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed - DKImagePickerController: 0a24ebfe7b48beeb74c27531540aaa2cc1dac6cf + DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 EMASRest: 8df6f87836767a9415ad5cc4af739bc9d215b475 file_picker: ce3938a0df3cc1ef404671531facef740d03f920 @@ -316,7 +322,7 @@ SPEC CHECKSUMS: flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907 flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82 - fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265 + fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c fluwx: daa284756ce53442b3d0417ceeda66e981906811 google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458 GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 @@ -331,13 +337,13 @@ SPEC CHECKSUMS: package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 - ReachabilitySwift: 2128f3a8c9107e1ad33574c6e58e8285d460b149 + ReachabilitySwift: 5ae15e16814b5f9ef568963fb2c87aeb49158c66 SDWebImage: 40b0b4053e36c660a764958bff99eed16610acbb shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d - Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e + Toast: ec33c32b8688982cecc6348adeae667c1b9938da url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 video_player_avfoundation: 02011213dab73ae3687df27ce441fbbcc82b5579 webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4 @@ -345,4 +351,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 317f9473a5705c6fe4d79d95e81676f248048fdc -COCOAPODS: 1.14.3 +COCOAPODS: 1.12.1 diff --git a/star_lock/ios/Runner.xcodeproj/project.pbxproj b/star_lock/ios/Runner.xcodeproj/project.pbxproj index 2f63cfe8..f628b2c8 100644 --- a/star_lock/ios/Runner.xcodeproj/project.pbxproj +++ b/star_lock/ios/Runner.xcodeproj/project.pbxproj @@ -84,6 +84,43 @@ 82C026D72AEB6C050011FE6A /* mic.png in Resources */ = {isa = PBXBuildFile; fileRef = 82C026952AEB6C050011FE6A /* mic.png */; }; 82C026D82AEB6C050011FE6A /* icon_key.png in Resources */ = {isa = PBXBuildFile; fileRef = 82C026962AEB6C050011FE6A /* icon_key.png */; }; 82C026D92AEB6C050011FE6A /* bg.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 82C026972AEB6C050011FE6A /* bg.jpg */; }; + 82F1ECDB2BE8B7B500265D59 /* DTFIdentityManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD12BE8B7B400265D59 /* DTFIdentityManager.framework */; }; + 82F1ECDC2BE8B7B500265D59 /* deviceiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD22BE8B7B500265D59 /* deviceiOS.framework */; }; + 82F1ECDD2BE8B7B500265D59 /* DTFUtility.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD32BE8B7B500265D59 /* DTFUtility.framework */; }; + 82F1ECDE2BE8B7B500265D59 /* OCRDetectSDKForTech.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD42BE8B7B500265D59 /* OCRDetectSDKForTech.framework */; }; + 82F1ECDF2BE8B7B500265D59 /* ToygerNative.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD52BE8B7B500265D59 /* ToygerNative.framework */; }; + 82F1ECE02BE8B7B500265D59 /* BioAuthEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD62BE8B7B500265D59 /* BioAuthEngine.framework */; }; + 82F1ECE12BE8B7B500265D59 /* ToygerService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD72BE8B7B500265D59 /* ToygerService.framework */; }; + 82F1ECE22BE8B7B500265D59 /* APBToygerFacade.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD82BE8B7B500265D59 /* APBToygerFacade.framework */; }; + 82F1ECE32BE8B7B500265D59 /* APPSecuritySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECD92BE8B7B500265D59 /* APPSecuritySDK.framework */; }; + 82F1ECE42BE8B7B500265D59 /* AliyunFaceAuthFacade.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECDA2BE8B7B500265D59 /* AliyunFaceAuthFacade.framework */; }; + 82F1ECE62BE8B7FF00265D59 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECE52BE8B7FF00265D59 /* CoreGraphics.framework */; }; + 82F1ECE82BE8B80700265D59 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECE72BE8B80700265D59 /* Accelerate.framework */; }; + 82F1ECEA2BE8B81300265D59 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECE92BE8B81300265D59 /* SystemConfiguration.framework */; }; + 82F1ECEC2BE8B81D00265D59 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECEB2BE8B81D00265D59 /* AssetsLibrary.framework */; }; + 82F1ECEE2BE8B82600265D59 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECED2BE8B82500265D59 /* CoreTelephony.framework */; }; + 82F1ECF02BE8B82F00265D59 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECEF2BE8B82F00265D59 /* QuartzCore.framework */; }; + 82F1ECF22BE8B83D00265D59 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECF12BE8B83D00265D59 /* CoreFoundation.framework */; }; + 82F1ECF42BE8B84D00265D59 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECF32BE8B84D00265D59 /* CoreLocation.framework */; }; + 82F1ECF62BE8B85700265D59 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECF52BE8B85700265D59 /* ImageIO.framework */; }; + 82F1ECF82BE8B86200265D59 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECF72BE8B86200265D59 /* CoreMedia.framework */; }; + 82F1ECFA2BE8B86E00265D59 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECF92BE8B86E00265D59 /* CoreMotion.framework */; }; + 82F1ECFC2BE8B87A00265D59 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECFB2BE8B87A00265D59 /* AVFoundation.framework */; }; + 82F1ECFE2BE8B88200265D59 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECFD2BE8B88100265D59 /* WebKit.framework */; }; + 82F1ED002BE8B88F00265D59 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ECFF2BE8B88F00265D59 /* libresolv.tbd */; }; + 82F1ED022BE8B89A00265D59 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED012BE8B89A00265D59 /* libz.tbd */; }; + 82F1ED042BE8B8AB00265D59 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED032BE8B8AA00265D59 /* libc++.tbd */; }; + 82F1ED072BE8B8D000265D59 /* libc++abi.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED062BE8B8D000265D59 /* libc++abi.tbd */; }; + 82F1ED092BE8B8DE00265D59 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED082BE8B8DE00265D59 /* AudioToolbox.framework */; }; + 82F1ED0B2BE8B8E600265D59 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED0A2BE8B8E600265D59 /* CFNetwork.framework */; }; + 82F1ED0D2BE8B8F700265D59 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED0C2BE8B8F700265D59 /* MobileCoreServices.framework */; }; + 82F1ED102BE8B91000265D59 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED0F2BE8B91000265D59 /* AdSupport.framework */; }; + 82F1ED122BE8B91800265D59 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82F1ED112BE8B91800265D59 /* ReplayKit.framework */; }; + 82F1ED142BE8B9F400265D59 /* ToygerService.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 82F1ED132BE8B9F400265D59 /* ToygerService.bundle */; }; + 82F1ED162BE8BA2000265D59 /* APBToygerFacade.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 82F1ED152BE8BA2000265D59 /* APBToygerFacade.bundle */; }; + 82F1ED182BE8BA6900265D59 /* APBToygerFacadeSuitable.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 82F1ED172BE8BA6900265D59 /* APBToygerFacadeSuitable.bundle */; }; + 82F1ED1A2BE8BA7D00265D59 /* OCRXMedia.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 82F1ED192BE8BA7D00265D59 /* OCRXMedia.bundle */; }; + 82F1ED1C2BE8BA8F00265D59 /* BioAuthEngine.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 82F1ED1B2BE8BA8E00265D59 /* BioAuthEngine.bundle */; }; 8A77CDE0EDBCACCE22C29A9E /* devRelease.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2248834AC2C89C79BC3744F6 /* devRelease.xcconfig */; }; 8B1BD17852B1F49E18DB1D6F /* xhjRelease.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = CA9024705F732C9C000EA53E /* xhjRelease.xcconfig */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; @@ -211,6 +248,45 @@ 82C026952AEB6C050011FE6A /* mic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = mic.png; sourceTree = ""; }; 82C026962AEB6C050011FE6A /* icon_key.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_key.png; sourceTree = ""; }; 82C026972AEB6C050011FE6A /* bg.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = bg.jpg; sourceTree = ""; }; + 82F1ECD12BE8B7B400265D59 /* DTFIdentityManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DTFIdentityManager.framework; path = ../aliyun_face_plugin/ios/Products/DTFIdentityManager.framework; sourceTree = ""; }; + 82F1ECD22BE8B7B500265D59 /* deviceiOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = deviceiOS.framework; path = ../aliyun_face_plugin/ios/Products/deviceiOS.framework; sourceTree = ""; }; + 82F1ECD32BE8B7B500265D59 /* DTFUtility.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DTFUtility.framework; path = ../aliyun_face_plugin/ios/Products/DTFUtility.framework; sourceTree = ""; }; + 82F1ECD42BE8B7B500265D59 /* OCRDetectSDKForTech.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OCRDetectSDKForTech.framework; path = ../aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework; sourceTree = ""; }; + 82F1ECD52BE8B7B500265D59 /* ToygerNative.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ToygerNative.framework; path = ../aliyun_face_plugin/ios/Products/ToygerNative.framework; sourceTree = ""; }; + 82F1ECD62BE8B7B500265D59 /* BioAuthEngine.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BioAuthEngine.framework; path = ../aliyun_face_plugin/ios/Products/BioAuthEngine.framework; sourceTree = ""; }; + 82F1ECD72BE8B7B500265D59 /* ToygerService.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ToygerService.framework; path = ../aliyun_face_plugin/ios/Products/ToygerService.framework; sourceTree = ""; }; + 82F1ECD82BE8B7B500265D59 /* APBToygerFacade.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = APBToygerFacade.framework; path = ../aliyun_face_plugin/ios/Products/APBToygerFacade.framework; sourceTree = ""; }; + 82F1ECD92BE8B7B500265D59 /* APPSecuritySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = APPSecuritySDK.framework; path = ../aliyun_face_plugin/ios/Products/APPSecuritySDK.framework; sourceTree = ""; }; + 82F1ECDA2BE8B7B500265D59 /* AliyunFaceAuthFacade.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AliyunFaceAuthFacade.framework; path = ../aliyun_face_plugin/ios/Products/AliyunFaceAuthFacade.framework; sourceTree = ""; }; + 82F1ECE52BE8B7FF00265D59 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 82F1ECE72BE8B80700265D59 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 82F1ECE92BE8B81300265D59 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 82F1ECEB2BE8B81D00265D59 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; + 82F1ECED2BE8B82500265D59 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; + 82F1ECEF2BE8B82F00265D59 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 82F1ECF12BE8B83D00265D59 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 82F1ECF32BE8B84D00265D59 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + 82F1ECF52BE8B85700265D59 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; + 82F1ECF72BE8B86200265D59 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; + 82F1ECF92BE8B86E00265D59 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; }; + 82F1ECFB2BE8B87A00265D59 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 82F1ECFD2BE8B88100265D59 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 82F1ECFF2BE8B88F00265D59 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; + 82F1ED012BE8B89A00265D59 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 82F1ED032BE8B8AA00265D59 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + 82F1ED052BE8B8B800265D59 /* libc++.1.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.1.tbd"; path = "usr/lib/libc++.1.tbd"; sourceTree = SDKROOT; }; + 82F1ED062BE8B8D000265D59 /* libc++abi.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++abi.tbd"; path = "usr/lib/libc++abi.tbd"; sourceTree = SDKROOT; }; + 82F1ED082BE8B8DE00265D59 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 82F1ED0A2BE8B8E600265D59 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; + 82F1ED0C2BE8B8F700265D59 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; + 82F1ED0E2BE8B90800265D59 /* libz.1.2.8.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.1.2.8.tbd; path = usr/lib/libz.1.2.8.tbd; sourceTree = SDKROOT; }; + 82F1ED0F2BE8B91000265D59 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; + 82F1ED112BE8B91800265D59 /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; }; + 82F1ED132BE8B9F400265D59 /* ToygerService.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = ToygerService.bundle; path = ../aliyun_face_plugin/ios/Products/ToygerService.framework/ToygerService.bundle; sourceTree = ""; }; + 82F1ED152BE8BA2000265D59 /* APBToygerFacade.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = APBToygerFacade.bundle; path = ../aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacade.bundle; sourceTree = ""; }; + 82F1ED172BE8BA6900265D59 /* APBToygerFacadeSuitable.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = APBToygerFacadeSuitable.bundle; path = ../aliyun_face_plugin/ios/Products/APBToygerFacade.framework/APBToygerFacadeSuitable.bundle; sourceTree = ""; }; + 82F1ED192BE8BA7D00265D59 /* OCRXMedia.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = OCRXMedia.bundle; path = ../aliyun_face_plugin/ios/Products/OCRDetectSDKForTech.framework/OCRXMedia.bundle; sourceTree = ""; }; + 82F1ED1B2BE8BA8E00265D59 /* BioAuthEngine.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = BioAuthEngine.bundle; path = ../aliyun_face_plugin/ios/Products/BioAuthEngine.framework/BioAuthEngine.bundle; sourceTree = ""; }; 853610C00A55CC450C2FF839 /* xhjDebug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = xhjDebug.xcconfig; path = Flutter/xhjDebug.xcconfig; sourceTree = ""; }; 8CD96970DEA44F6CC71DEECE /* Pods-Runner.profile-sky.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-sky.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-sky.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; @@ -242,6 +318,38 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 82F1ED122BE8B91800265D59 /* ReplayKit.framework in Frameworks */, + 82F1ED102BE8B91000265D59 /* AdSupport.framework in Frameworks */, + 82F1ED022BE8B89A00265D59 /* libz.tbd in Frameworks */, + 82F1ED0D2BE8B8F700265D59 /* MobileCoreServices.framework in Frameworks */, + 82F1ED0B2BE8B8E600265D59 /* CFNetwork.framework in Frameworks */, + 82F1ED092BE8B8DE00265D59 /* AudioToolbox.framework in Frameworks */, + 82F1ED072BE8B8D000265D59 /* libc++abi.tbd in Frameworks */, + 82F1ED042BE8B8AB00265D59 /* libc++.tbd in Frameworks */, + 82F1ED002BE8B88F00265D59 /* libresolv.tbd in Frameworks */, + 82F1ECFE2BE8B88200265D59 /* WebKit.framework in Frameworks */, + 82F1ECFC2BE8B87A00265D59 /* AVFoundation.framework in Frameworks */, + 82F1ECFA2BE8B86E00265D59 /* CoreMotion.framework in Frameworks */, + 82F1ECF82BE8B86200265D59 /* CoreMedia.framework in Frameworks */, + 82F1ECF62BE8B85700265D59 /* ImageIO.framework in Frameworks */, + 82F1ECF42BE8B84D00265D59 /* CoreLocation.framework in Frameworks */, + 82F1ECF22BE8B83D00265D59 /* CoreFoundation.framework in Frameworks */, + 82F1ECF02BE8B82F00265D59 /* QuartzCore.framework in Frameworks */, + 82F1ECEE2BE8B82600265D59 /* CoreTelephony.framework in Frameworks */, + 82F1ECEC2BE8B81D00265D59 /* AssetsLibrary.framework in Frameworks */, + 82F1ECEA2BE8B81300265D59 /* SystemConfiguration.framework in Frameworks */, + 82F1ECE82BE8B80700265D59 /* Accelerate.framework in Frameworks */, + 82F1ECE62BE8B7FF00265D59 /* CoreGraphics.framework in Frameworks */, + 82F1ECDB2BE8B7B500265D59 /* DTFIdentityManager.framework in Frameworks */, + 82F1ECDC2BE8B7B500265D59 /* deviceiOS.framework in Frameworks */, + 82F1ECDD2BE8B7B500265D59 /* DTFUtility.framework in Frameworks */, + 82F1ECDE2BE8B7B500265D59 /* OCRDetectSDKForTech.framework in Frameworks */, + 82F1ECDF2BE8B7B500265D59 /* ToygerNative.framework in Frameworks */, + 82F1ECE02BE8B7B500265D59 /* BioAuthEngine.framework in Frameworks */, + 82F1ECE12BE8B7B500265D59 /* ToygerService.framework in Frameworks */, + 82F1ECE22BE8B7B500265D59 /* APBToygerFacade.framework in Frameworks */, + 82F1ECE32BE8B7B500265D59 /* APPSecuritySDK.framework in Frameworks */, + 82F1ECE42BE8B7B500265D59 /* AliyunFaceAuthFacade.framework in Frameworks */, CD1142BE3A076363977FB03C /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -370,6 +478,11 @@ 97C146E51CF9000F007C117D = { isa = PBXGroup; children = ( + 82F1ED1B2BE8BA8E00265D59 /* BioAuthEngine.bundle */, + 82F1ED192BE8BA7D00265D59 /* OCRXMedia.bundle */, + 82F1ED172BE8BA6900265D59 /* APBToygerFacadeSuitable.bundle */, + 82F1ED152BE8BA2000265D59 /* APBToygerFacade.bundle */, + 82F1ED132BE8B9F400265D59 /* ToygerService.bundle */, 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, @@ -425,6 +538,40 @@ B8F749EDCB3FB55CC9253F00 /* Frameworks */ = { isa = PBXGroup; children = ( + 82F1ED112BE8B91800265D59 /* ReplayKit.framework */, + 82F1ED0F2BE8B91000265D59 /* AdSupport.framework */, + 82F1ED0E2BE8B90800265D59 /* libz.1.2.8.tbd */, + 82F1ED0C2BE8B8F700265D59 /* MobileCoreServices.framework */, + 82F1ED0A2BE8B8E600265D59 /* CFNetwork.framework */, + 82F1ED082BE8B8DE00265D59 /* AudioToolbox.framework */, + 82F1ED062BE8B8D000265D59 /* libc++abi.tbd */, + 82F1ED052BE8B8B800265D59 /* libc++.1.tbd */, + 82F1ED032BE8B8AA00265D59 /* libc++.tbd */, + 82F1ED012BE8B89A00265D59 /* libz.tbd */, + 82F1ECFF2BE8B88F00265D59 /* libresolv.tbd */, + 82F1ECFD2BE8B88100265D59 /* WebKit.framework */, + 82F1ECFB2BE8B87A00265D59 /* AVFoundation.framework */, + 82F1ECF92BE8B86E00265D59 /* CoreMotion.framework */, + 82F1ECF72BE8B86200265D59 /* CoreMedia.framework */, + 82F1ECF52BE8B85700265D59 /* ImageIO.framework */, + 82F1ECF32BE8B84D00265D59 /* CoreLocation.framework */, + 82F1ECF12BE8B83D00265D59 /* CoreFoundation.framework */, + 82F1ECEF2BE8B82F00265D59 /* QuartzCore.framework */, + 82F1ECED2BE8B82500265D59 /* CoreTelephony.framework */, + 82F1ECEB2BE8B81D00265D59 /* AssetsLibrary.framework */, + 82F1ECE92BE8B81300265D59 /* SystemConfiguration.framework */, + 82F1ECE72BE8B80700265D59 /* Accelerate.framework */, + 82F1ECE52BE8B7FF00265D59 /* CoreGraphics.framework */, + 82F1ECDA2BE8B7B500265D59 /* AliyunFaceAuthFacade.framework */, + 82F1ECD82BE8B7B500265D59 /* APBToygerFacade.framework */, + 82F1ECD92BE8B7B500265D59 /* APPSecuritySDK.framework */, + 82F1ECD62BE8B7B500265D59 /* BioAuthEngine.framework */, + 82F1ECD22BE8B7B500265D59 /* deviceiOS.framework */, + 82F1ECD12BE8B7B400265D59 /* DTFIdentityManager.framework */, + 82F1ECD32BE8B7B500265D59 /* DTFUtility.framework */, + 82F1ECD42BE8B7B500265D59 /* OCRDetectSDKForTech.framework */, + 82F1ECD52BE8B7B500265D59 /* ToygerNative.framework */, + 82F1ECD72BE8B7B500265D59 /* ToygerService.framework */, ED1F1A04428235FB1B6FD471 /* Pods_Runner.framework */, ); name = Frameworks; @@ -493,6 +640,11 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 82F1ED1C2BE8BA8F00265D59 /* BioAuthEngine.bundle in Resources */, + 82F1ED1A2BE8BA7D00265D59 /* OCRXMedia.bundle in Resources */, + 82F1ED182BE8BA6900265D59 /* APBToygerFacadeSuitable.bundle in Resources */, + 82F1ED162BE8BA2000265D59 /* APBToygerFacade.bundle in Resources */, + 82F1ED142BE8B9F400265D59 /* ToygerService.bundle in Resources */, 82C026A02AEB6C050011FE6A /* search_bar_edit_normal.9.png in Resources */, 82C026A92AEB6C050011FE6A /* lock2.png in Resources */, 82C026AE2AEB6C050011FE6A /* clear.png in Resources */, diff --git a/star_lock/ios/Runner/Info.plist b/star_lock/ios/Runner/Info.plist index e6fe82b8..4d5787d5 100644 --- a/star_lock/ios/Runner/Info.plist +++ b/star_lock/ios/Runner/Info.plist @@ -46,7 +46,7 @@ NSBluetoothPeripheralUsageDescription The app uses bluetooth to find, connect and transfer data between different devices NSCameraUsageDescription - 应用请求相机,以便于拍摄照片,用于头像上传 + 应用请求相机,以便于拍摄照片,用于头像上传及人脸认证 NSContactsUsageDescription Reason we need access to the contact list NSLocationAlwaysAndWhenInUseUsageDescription diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart index 57ad2da2..9d039292 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart @@ -143,15 +143,15 @@ class SendElectronicKeyViewLogic extends BaseGetXController { countryCode: int.parse(state.countryCode), account: state.emailOrPhoneController.text); if (entity.errorCode!.codeIsSuccessful) { + //打开实名认证,需要弹出输入身份证信息框 + state.isRequireAuth.value = true; + } else { ShowTipView().showBuyTipWithContentAlert( titleStr: '实名认证为付费功能,请购买后再使用'.tr, sureClick: () { Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {'isShop': false}); }); - } else if (entity.errorCode! == 431) { - //431代表改用户没有身份证信息,需要弹出输入身份证信息框 - state.isRequireAuth.value = true; } } @@ -191,6 +191,8 @@ class SendElectronicKeyViewLogic extends BaseGetXController { void resetData() { state.emailOrPhoneController.text = ""; state.keyNameController.text = ""; + state.realNameController.text = ""; + state.idCardController.text = ""; state.timeLimitBeginTime = DateTool().dateToYMDHNString( DateTime.now().millisecondsSinceEpoch.toString()); // 限时开始时间 state.timeLimitEndTime = DateTool().dateToYMDHNString( diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart index c9871265..b83333fb 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -1,16 +1,18 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:intl/intl.dart'; +import 'package:star_lock/app_settings/app_colors.dart'; import 'package:star_lock/flavors.dart'; import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_list_page.dart'; +import 'package:star_lock/tools/aliyunRealNameAuth/aliyunRealNameAuthHandle.dart'; import 'package:star_lock/tools/showTipView.dart'; import 'package:star_lock/widget/flavors_img.dart'; import '../../../appRouters.dart'; -import '../../../app_settings/app_colors.dart'; import '../../../app_settings/app_settings.dart'; import '../../../blue/blue_manage.dart'; import '../../../blue/io_tool/io_tool.dart'; @@ -236,7 +238,7 @@ class _LockDetailPageState extends State onTap: state.openDoorBtnisUneable.value == true ? () { setState(() { - startOpenLock(); + isNeedRealNameAuthThenOpenLock(); }); } : null, @@ -530,13 +532,16 @@ class _LockDetailPageState extends State ), ), Visibility( - visible: state.keyInfos.value.lockFeature!.isSupportBackupBattery == 1, + visible: state + .keyInfos.value.lockFeature!.isSupportBackupBattery == + 1, child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ FlavorsImg( child: Image.asset( - showElectricIcon(state.electricQuantityStandby.value), + showElectricIcon( + state.electricQuantityStandby.value), width: 30.w, height: 24.w), ), @@ -576,7 +581,7 @@ class _LockDetailPageState extends State onTap: state.openDoorBtnisUneable.value == true ? () { setState(() { - startOpenLock(); + isNeedRealNameAuthThenOpenLock(); }); } : null, @@ -1261,6 +1266,27 @@ class _LockDetailPageState extends State return formattedTime; } + //如果需要实名认证,需认证完成,方可开锁 + isNeedRealNameAuthThenOpenLock() { + if (state.keyInfos.value.faceAuthentication == 1 && + state.keyInfos.value.nextFaceValidateTime! > 0 && + DateTool().compareTimeIsOvertime( + state.keyInfos.value.nextFaceValidateTime!) == + true) { + AliyunRealNameAuthProvider( + getLockInfo: state.keyInfos.value, + onCertifyResult: (bool isSuccess) { + if (isSuccess) { + // 认证成功,去开锁 + startOpenLock(); + } + }).initAliyunRealNameAuth(); + } else { + //无需认证,直接开锁 + startOpenLock(); + } + } + startOpenLock() { if (state.openLockBtnState.value == 1) { return; diff --git a/star_lock/lib/main/lockMian/entity/lockListInfo_entity.dart b/star_lock/lib/main/lockMian/entity/lockListInfo_entity.dart index ac30e2ae..48e524eb 100644 --- a/star_lock/lib/main/lockMian/entity/lockListInfo_entity.dart +++ b/star_lock/lib/main/lockMian/entity/lockListInfo_entity.dart @@ -112,8 +112,9 @@ class LockListInfoItemEntity { int? endDate; List? weekDays; int? remoteEnable; - int? faceAuthentication; + int? faceAuthentication; //是否实名认证:0-未知,1-是,2-否 int? lastFaceValidateTime; + int? nextFaceValidateTime; //下次人脸认证时间 int? keyRight; int? keyStatus; int? isLockOwner; @@ -147,6 +148,7 @@ class LockListInfoItemEntity { this.remoteEnable, this.faceAuthentication, this.lastFaceValidateTime, + this.nextFaceValidateTime, this.keyRight, this.keyStatus, this.isLockOwner, @@ -180,6 +182,7 @@ class LockListInfoItemEntity { remoteEnable = json['remoteEnable']; faceAuthentication = json['faceAuthentication']; lastFaceValidateTime = json['lastFaceValidateTime']; + nextFaceValidateTime = json['nextFaceValidateTime']; keyRight = json['keyRight']; keyStatus = json['keyStatus']; isLockOwner = json['isLockOwner']; @@ -221,6 +224,7 @@ class LockListInfoItemEntity { data['remoteEnable'] = remoteEnable; data['faceAuthentication'] = faceAuthentication; data['lastFaceValidateTime'] = lastFaceValidateTime; + data['nextFaceValidateTime'] = nextFaceValidateTime; data['keyRight'] = keyRight; data['keyStatus'] = keyStatus; data['isLockOwner'] = isLockOwner; diff --git a/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_logic.dart b/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_logic.dart index c4157d2a..0a45a484 100644 --- a/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_logic.dart +++ b/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_logic.dart @@ -1,5 +1,7 @@ import 'dart:async'; +import 'package:get/get.dart'; +import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart'; import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_state.dart'; import '../../../../network/api_repository.dart'; @@ -7,14 +9,41 @@ import '../../../../tools/baseGetXController.dart'; class AdvancedFunctionRecordLogic extends BaseGetXController { AdvancedFunctionRecordState state = AdvancedFunctionRecordState(); + int buyPageNo = 1; + late String type; - //获取购买记录列表 - Future getBuyRecordList() async { - var entity = await ApiRepository.to.advancedFunctionBuyRecordList( - type: 'vip', pageNo: 1, recordType: 10, pageSize: 10); + @override + void onInit() { + super.onInit(); + dynamic data = Get.arguments; + if (data is! Map || data['type'] is! String) { + Get.back(); + return; + } + type = data['type']; + } + + //请求购买记录列表 + Future loadBuyRecordList(bool load) async { + if (!load) { + buyPageNo = 1; + } + AdvancedFunctionRecordEntity entity = + await ApiRepository.to.getBuyRecordList( + type: type, + recordType: 10, + pageNo: buyPageNo, + ); if (entity.errorCode!.codeIsSuccessful) { state.buyRecordList.value = entity.data!.recordList!; state.buyRecordList.refresh(); } } + + @override + void onReady() { + super.onReady(); + + loadBuyRecordList(true); + } } diff --git a/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_page.dart b/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_page.dart index ae6772c9..915dc299 100644 --- a/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_page.dart +++ b/star_lock/lib/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_page.dart @@ -21,13 +21,6 @@ class _AdvancedFunctionRecordPageState final logic = Get.put(AdvancedFunctionRecordLogic()); final state = Get.find().state; - @override - initState() { - super.initState(); - - logic.getBuyRecordList(); - } - @override Widget build(BuildContext context) { return Scaffold( diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_entity.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_entity.dart index 5d5cbc08..3c3fc69e 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_entity.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_entity.dart @@ -33,6 +33,7 @@ class Data { int? vipStatus; int? vipLockCount; String? vipExpireAt; + int? faceAuthFrequence; Data( {this.emailCount, @@ -49,6 +50,7 @@ class Data { vipStatus = json['vip_status']; vipLockCount = json['vip_lock_count']; vipExpireAt = json['vip_expire_at']; + faceAuthFrequence = json['face_auth_frequence']; } Map toJson() { @@ -59,6 +61,7 @@ class Data { data['vip_status'] = vipStatus; data['vip_lock_count'] = vipLockCount; data['vip_expire_at'] = vipExpireAt; + data['face_auth_frequence'] = faceAuthFrequence; return data; } } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart index 0e2c6284..bc254cae 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_logic.dart'; +import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_arg.dart'; import '../../../appRouters.dart'; import '../../../app_settings/app_colors.dart'; @@ -70,7 +71,8 @@ class _ValueAddedServicesHighFunctionPageState ), child: GestureDetector( onTap: () { - Get.toNamed(Routers.advancedFunctionRecordPage); + Get.toNamed(Routers.advancedFunctionRecordPage, + arguments: UseRecordListArg.vip); }, child: Container( color: Colors.transparent, diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart index 86b1a743..0428ff38 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart @@ -24,7 +24,9 @@ class ValueAddedServicesRealNameLogic extends BaseGetXController { var entity = await ApiRepository.to.getServiceUserPackage(); if (entity.errorCode!.codeIsSuccessful) { state.realNameRemainCount.value = entity.data!.cloudauthCount!; + state.checkIndex.value = entity.data!.faceAuthFrequence ?? 1; state.realNameRemainCount.refresh(); + state.checkIndex.refresh(); } } @@ -37,18 +39,13 @@ class ValueAddedServicesRealNameLogic extends BaseGetXController { } } - Future check(int index) async { - bool isSuccessful = await setFaceAuthentication(state.index + 1); + Future check(int clickIndex) async { + bool isSuccessful = await setFaceAuthentication(clickIndex); if (isSuccessful) { showToast('修改成功'.tr); - state.index = index; + state.checkIndex.value = clickIndex; + state.checkIndex.refresh(); } - update(); - } - - @override - void onReady() { - super.onReady(); } @override @@ -57,9 +54,4 @@ class ValueAddedServicesRealNameLogic extends BaseGetXController { getServiceUserPackage(); } - - @override - void onClose() { - super.onClose(); - } } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart index 6e2dbb45..6069a372 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart @@ -24,33 +24,28 @@ class _ValueAddedServicesRealNamePageState @override Widget build(BuildContext context) { - return GetBuilder( - init: ValueAddedServicesRealNameLogic(), - builder: (ValueAddedServicesRealNameLogic logic) { - return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: '实名认证'.tr, - haveBack: true, - backgroundColor: AppColors.mainColor), - body: Column( - children: [ - Container( - width: 1.sw, - // color: Colors.grey.shade300, - padding: EdgeInsets.only( - left: 25.h, right: 25.h, top: 25.h, bottom: 10.h), - child: Text( - TranslationLoader.lanKeys!.buyRealNameTip!.tr, - style: TextStyle( - color: AppColors.darkGrayTextColor, fontSize: 20.sp), - )), - middleWidget(), - bottomWidget() - ], - ), - ); - }); + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: '实名认证'.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), + body: Column( + children: [ + Container( + width: 1.sw, + padding: EdgeInsets.only( + left: 25.h, right: 25.h, top: 25.h, bottom: 10.h), + child: Text( + TranslationLoader.lanKeys!.buyRealNameTip!.tr, + style: TextStyle( + color: AppColors.darkGrayTextColor, fontSize: 20.sp), + )), + middleWidget(), + Obx(() => bottomWidget()) + ], + ), + ); } Widget middleWidget() { @@ -63,7 +58,6 @@ class _ValueAddedServicesRealNamePageState "images/mine/icon_mine_valueAddedServices_noteTop.png"), fit: BoxFit.cover)), child: Column(children: [ - // SizedBox(height:10), Container( margin: const EdgeInsets.only(top: 15, bottom: 15, left: 30, right: 30), @@ -116,44 +110,40 @@ class _ValueAddedServicesRealNamePageState } Widget bottomWidget() { - return GetBuilder( - builder: (ValueAddedServicesRealNameLogic logic) { - return Container( - width: 1.sw, - color: Colors.white, - margin: EdgeInsets.all(20.h), - child: Column( - children: [ - Column( - children: [ - Container( - padding: - EdgeInsets.only(top: 20.h, bottom: 20.h, left: 30.w), - child: Text( - TranslationLoader - .lanKeys!.buyRealNameSelectYouWantBuyTip!.tr, - style: TextStyle( - fontSize: 24.sp, fontWeight: FontWeight.w600), - )), - ], - ), - checkCommonItem( - logic, TranslationLoader.lanKeys!.forTheFirstTime!.tr, 0), - checkCommonItem(logic, TranslationLoader.lanKeys!.onceDay!.tr, 1), - checkCommonItem(logic, TranslationLoader.lanKeys!.weekOnce!.tr, 2), - checkCommonItem(logic, TranslationLoader.lanKeys!.monthOnce!.tr, 3, - isHaveLine: false, isHaveRightWidget: true), - ], - ), - ); - }); + return Container( + width: 1.sw, + color: Colors.white, + margin: EdgeInsets.all(20.h), + child: Column( + children: [ + Column( + children: [ + Container( + padding: EdgeInsets.only(top: 20.h, bottom: 20.h, left: 30.w), + child: Text( + TranslationLoader + .lanKeys!.buyRealNameSelectYouWantBuyTip!.tr, + style: + TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600), + )), + ], + ), + checkCommonItem( + logic, TranslationLoader.lanKeys!.forTheFirstTime!.tr, 1), + checkCommonItem(logic, TranslationLoader.lanKeys!.onceDay!.tr, 2), + checkCommonItem(logic, TranslationLoader.lanKeys!.weekOnce!.tr, 3), + checkCommonItem(logic, TranslationLoader.lanKeys!.monthOnce!.tr, 4, + isHaveLine: false, isHaveRightWidget: true), + ], + ), + ); } //选择组件 Widget checkCommonItem( - ValueAddedServicesRealNameLogic logic, String text, int index, + ValueAddedServicesRealNameLogic logic, String text, int clickIndex, {bool isHaveLine = true, bool isHaveRightWidget = true}) { - bool check = logic.state.index == index; + bool check = logic.state.checkIndex.value == clickIndex; return CommonItem( leftTitel: text, rightTitle: "", @@ -162,7 +152,7 @@ class _ValueAddedServicesRealNamePageState isHaveRightWidget: isHaveRightWidget, rightWidget: GestureDetector( onTap: () { - logic.check(index); + logic.check(clickIndex); }, child: Row( children: [ diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart index 824549f5..9c2ec403 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; class ValueAddedServicesRealNameState { - int index = 0; + var checkIndex = 1.obs; var realNameRemainCount = 0.obs; //当前剩余数量 var realNameBuyUrl = ''.obs; //购买链接 } diff --git a/star_lock/lib/network/api.dart b/star_lock/lib/network/api.dart index edf42cf7..bd13cb9e 100644 --- a/star_lock/lib/network/api.dart +++ b/star_lock/lib/network/api.dart @@ -217,15 +217,18 @@ abstract class Api { final String setFaceAuthenticationURL = '/v2/service/setFaceAuthentication'; //设置实名认证频次 + final String isFaceAuthenticationURL = '/key/checkFace'; //检测实名认证是否支持开启 + final String getFaceCertifyIdURL = '/service/getCertifyId'; //获取人脸认证certifyId + final String getServiceCheckCertifyURL = + '/service/checkCertify'; //检测certifyId是否完成认证 final String getBuyRecordListURL = '/v2/service/getBuyRecordList'; //获取购买记录列表 + final String getUseRecordListURL = '/v2/service/getUseRecordList'; //获取使用记录列表 final String getServicePackageURL = '/v2/service/getPackageUrl'; //增值服务套餐购包链接 - - final String getUseRecordListURL = '/v2/service/getUseRecordList'; //获取使用记录列表 - final String getlockCloudStorageListURL = '/lockCloudStorage/list'; //获取云存列表 - final String deleteLockCloudStorageURL = '/lockCloudStorage/delete'; //删除云存 final String getServiceUserPackageURL = '/v2/service/getUserPackage'; //获取增值服务用户余量包 - final String isFaceAuthenticationURL = '/key/checkFace'; //检测实名认证是否支持开启 + + final String getlockCloudStorageListURL = '/lockCloudStorage/list'; //获取云存列表 + final String deleteLockCloudStorageURL = '/lockCloudStorage/delete'; //删除云存 } diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 4f297e38..b49321e7 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -1985,7 +1985,7 @@ class ApiProvider extends BaseProvider { 'face_auth_frequence': faceAuthFrequence, })); - // 获取使用记录列表 + // 获取购买记录列表 Future getBuyRecordList( String type, int recordType, int pageNo, int pageSize) => post( @@ -2015,22 +2015,6 @@ class ApiProvider extends BaseProvider { Future getServiceUserPackage() => post(getServiceUserPackageURL.toUrl, jsonEncode({})); - // 高级功能购买记录 - Future advancedFunctionBuyRecordList( - String type, - int pageNo, - int recordType, - int pageSize, - ) => - post( - getBuyRecordListURL.toUrl, - jsonEncode({ - 'type': type, - 'pageNo': pageNo, - 'pageSize': pageSize, - 'record_type': recordType, - })); - // 检测实名认证是否支持开启 Future keyCheckFace( int countryCode, @@ -2042,6 +2026,32 @@ class ApiProvider extends BaseProvider { 'countryCode': countryCode, 'account': account, })); + + // 获取人脸认证certifyId + Future getFaceCertifyId( + int lockId, + int keyId, + Map metaInfo, + ) => + post( + getFaceCertifyIdURL.toUrl, + jsonEncode({ + 'lockId': lockId, + 'keyId': keyId, + 'metaInfo': metaInfo, + })); + + // 检测certifyId是否完成认证 + Future getServiceCheckCertify( + String certifyId, + int keyId, + ) => + post( + getServiceCheckCertifyURL.toUrl, + jsonEncode({ + 'certifyId': certifyId, + 'keyId': keyId, + })); } extension ExtensionString on String { diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index d13d84fa..364b5715 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -32,6 +32,7 @@ import 'package:star_lock/mine/valueAddedServices/valueAddedServicesHighFunction import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/face_authentication_entity.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_entity.dart'; +import 'package:star_lock/tools/aliyunRealNameAuth/realNameVertify_entity.dart'; import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart'; import '../common/safetyVerification/entity/SafetyVerificationEntity.dart'; import '../login/login/entity/LoginEntity.dart'; @@ -2046,18 +2047,6 @@ class ApiRepository { return ValueAddedServicesHighFunctionEntity.fromJson(res.body); } - // 高级功能购买记录 - Future advancedFunctionBuyRecordList({ - required String type, - required int pageNo, - required int recordType, - required int pageSize, - }) async { - final res = await apiProvider.advancedFunctionBuyRecordList( - type, pageNo, recordType, pageSize); - return AdvancedFunctionRecordEntity.fromJson(res.body); - } - // 检测实名认证是否支持开启 Future keyCheckFace({ required int countryCode, @@ -2066,4 +2055,23 @@ class ApiRepository { final res = await apiProvider.keyCheckFace(countryCode, account); return AdvancedFunctionRecordEntity.fromJson(res.body); } + + // 获取人脸认证certifyId + Future getFaceCertifyId({ + required int lockId, + required int keyId, + required Map metaInfo, + }) async { + final res = await apiProvider.getFaceCertifyId(lockId, keyId, metaInfo); + return LockCertifyEntity.fromJson(res.body); + } + + // 检测certifyId是否完成认证 + Future getServiceCheckCertify({ + required String certifyId, + required int keyId, + }) async { + final res = await apiProvider.getServiceCheckCertify(certifyId, keyId); + return LockCertifyEntity.fromJson(res.body); + } } diff --git a/star_lock/lib/tools/aliyunRealNameAuth/aliyunRealNameAuthHandle.dart b/star_lock/lib/tools/aliyunRealNameAuth/aliyunRealNameAuthHandle.dart new file mode 100644 index 00000000..f5f4800f --- /dev/null +++ b/star_lock/lib/tools/aliyunRealNameAuth/aliyunRealNameAuthHandle.dart @@ -0,0 +1,86 @@ +import 'dart:convert'; + +import 'package:aliyun_face_plugin/aliyun_face_plugin.dart'; +import 'package:flutter/services.dart'; +import 'package:star_lock/app_settings/app_settings.dart'; +import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart'; +import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/tools/aliyunRealNameAuth/realNameVertify_entity.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; + +class AliyunRealNameAuthProvider { + final aliyunFacePlugin = AliyunFacePlugin(); //实名认证初始化 + var infos = ''; //打印信息 + var metainfosMap = {}; //认证信息 + var certifyId = ''; //认证ID + var getLockInfo = LockListInfoItemEntity(); //锁信息 + final Function(bool) onCertifyResult; //认证结果 + + AliyunRealNameAuthProvider( + {required this.getLockInfo, required this.onCertifyResult}); + + //初始化 + initAliyunRealNameAuth() { + aliyunFacePlugin.init(); + getMetaInfos(); + } + + // 获取客户端metainfos,将信息发送到服务器端,调用服务器端相关接口获取认证ID,即CertifyId。 + Future getMetaInfos() async { + String metainfos; + + try { + metainfos = await aliyunFacePlugin.getMetaInfos() ?? 'Unknown metainfos'; + metainfosMap = jsonDecode(metainfos); + } on PlatformException { + metainfos = 'Failed to get metainfos.'; + } + + infos = "metainfos: $metainfos"; + AppLog.log(infos); + getFaceCertifyId(); + } + + // 获取人脸认证certifyId + void getFaceCertifyId() async { + LockCertifyEntity entity = await ApiRepository.to.getFaceCertifyId( + lockId: getLockInfo.lockId ?? 0, + keyId: getLockInfo.keyId ?? 0, + metaInfo: metainfosMap); + if (entity.errorCode!.codeIsSuccessful) { + certifyId = entity.data!.certifyId!; + startVerify(); + } + } + + // 调用认证接口,CertifyId需要调用服务器端接口获取。 + Future startVerify() async { + String verifyResult; + try { + // 每个CertifyId只能使用一次,否则会返回code: "2002(iOS), 1001(Android)"。 + verifyResult = + await aliyunFacePlugin.verify("certifyId", certifyId) ?? '-1,error'; + } on PlatformException { + verifyResult = '-2,exception'; + } + + infos = "verifyResult: $verifyResult"; + AppLog.log(infos); + getServiceCheckCertify(); + } + + // 检测certifyId是否完成认证 + Future getServiceCheckCertify() async { + var entity = await ApiRepository.to.getServiceCheckCertify( + certifyId: certifyId, + keyId: getLockInfo.keyId ?? 0, + ); + if (entity.errorCode!.codeIsSuccessful) { + // 如果认证成功,则调用回调函数,将结果传递给调用处 + onCertifyResult(true); + } else { + // 如果认证失败 + // await startVerify(); + } + } +} diff --git a/star_lock/lib/tools/aliyunRealNameAuth/realNameVertify_entity.dart b/star_lock/lib/tools/aliyunRealNameAuth/realNameVertify_entity.dart new file mode 100644 index 00000000..32cfc37f --- /dev/null +++ b/star_lock/lib/tools/aliyunRealNameAuth/realNameVertify_entity.dart @@ -0,0 +1,43 @@ +class LockCertifyEntity { + int? errorCode; + String? description; + String? errorMsg; + Data? data; + + LockCertifyEntity( + {this.errorCode, this.description, this.errorMsg, this.data}); + + LockCertifyEntity.fromJson(Map json) { + errorCode = json['errorCode']; + description = json['description']; + errorMsg = json['errorMsg']; + data = json['data'] != null ? Data.fromJson(json['data']) : null; + } + + Map toJson() { + final Map data = {}; + data['errorCode'] = errorCode; + data['description'] = description; + data['errorMsg'] = errorMsg; + if (this.data != null) { + data['data'] = this.data!.toJson(); + } + return data; + } +} + +class Data { + String? certifyId; + + Data({this.certifyId}); + + Data.fromJson(Map json) { + certifyId = json['certifyId']; + } + + Map toJson() { + final Map data = {}; + data['certifyId'] = certifyId; + return data; + } +} diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index 71d1dd87..6d82873c 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -54,6 +54,9 @@ environment: dependencies: flutter: sdk: flutter + aliyun_face_plugin: + path: aliyun_face_plugin + flutter_localizations: sdk: flutter