liukang 2 years ago
parent
commit
c2377f2a83
100 changed files with 4450 additions and 90 deletions
  1. 10 17
      App.vue
  2. 46 61
      components/my-order/my-order.vue
  3. 10 6
      components/news-module/news-module.vue
  4. 3 3
      components/order-top/order-top.vue
  5. 1 3
      manifest.json
  6. BIN
      nativePlugins/AP-FaceDetectModule/.DS_Store
  7. 3 0
      nativePlugins/AP-FaceDetectModule/ReadMe.txt
  8. BIN
      nativePlugins/AP-FaceDetectModule/android/.DS_Store
  9. BIN
      nativePlugins/AP-FaceDetectModule/android/APSecuritySDK-DeepSec-7.0.1.20211220.aar
  10. BIN
      nativePlugins/AP-FaceDetectModule/android/Android-AliyunDevice-FG-10022.2.aar
  11. BIN
      nativePlugins/AP-FaceDetectModule/android/aliyunfaceverify.aar
  12. BIN
      nativePlugins/AP-FaceDetectModule/android/android-aliyunbasicstl-sdk-release-1.6.0-20220414192835.aar
  13. BIN
      nativePlugins/AP-FaceDetectModule/android/android-aliyuncomm-sdk-release-1.6.0-20220414192835.aar
  14. BIN
      nativePlugins/AP-FaceDetectModule/android/android-aliyunface-sdk-release-1.6.0-20220414192835.aar
  15. BIN
      nativePlugins/AP-FaceDetectModule/android/android-aliyunocr-sdk-release-1.6.0-20220414192835.aar
  16. BIN
      nativePlugins/AP-FaceDetectModule/android/photinus-1.0.1.220217162928.aar
  17. BIN
      nativePlugins/AP-FaceDetectModule/android/tygerservice-1.0.0.220407164130.aar
  18. BIN
      nativePlugins/AP-FaceDetectModule/ios/.DS_Store
  19. 66 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/en.strings
  20. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/id.strings
  21. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ja.strings
  22. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ko.strings
  23. 64 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-HK.strings
  24. 66 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hans.strings
  25. 66 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hant.strings
  26. BIN
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/.DS_Store
  27. BIN
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade
  28. 66 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/en.strings
  29. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/id.strings
  30. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/ja.strings
  31. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/ko.strings
  32. 64 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/zh-HK.strings
  33. 66 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hans.strings
  34. 66 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hant.strings
  35. 76 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBaseTask.h
  36. 44 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBehavlogManager.h
  37. 23 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h
  38. 26 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h
  39. 126 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerDataCenter.h
  40. 22 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerDetectTask.h
  41. 37 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacade.h
  42. 130 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h
  43. 25 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerPresentTask.h
  44. 168 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerRemoteConfig.h
  45. 27 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUploadTask.h
  46. 104 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUtils.h
  47. 13 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerViewController.h
  48. BIN
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Info.plist
  49. 6 0
      nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Modules/module.modulemap
  50. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/.DS_Store
  51. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK
  52. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK-Info.plist
  53. 122 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDID.h
  54. 41 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDeviceColor.h
  55. 32 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDynamic.h
  56. 21 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h
  57. 19 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h
  58. 20 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h
  59. 14 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h
  60. 21 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h
  61. 30 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h
  62. 29 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h
  63. 68 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportRequest.h
  64. 65 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportResponse.h
  65. 20 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h
  66. 21 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h
  67. 28 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h
  68. 41 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecRDS.h
  69. 48 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecStore.h
  70. 113 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecureSdk.h
  71. 44 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSign.h
  72. 234 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSCommon.h
  73. 37 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSDynamicManager.h
  74. 39 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSLogger.h
  75. 28 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureInfo.h
  76. 77 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h
  77. 29 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h
  78. 40 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSTokenResult.h
  79. 101 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/AntSecurityManager.h
  80. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Info.plist
  81. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeDirectory
  82. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements
  83. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1
  84. 559 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeResources
  85. 0 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeSignature
  86. BIN
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/en.lproj/InfoPlist.strings
  87. 9 0
      nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/module.map
  88. BIN
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/.DS_Store
  89. BIN
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/AliyunIdentityManager
  90. 102 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/AliyunIdentityManager.h
  91. 16 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/AliyunIdentityPublicApi.h
  92. 42 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/AliyunSdk.h
  93. 23 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/OATechGatewayNetwork.h
  94. 26 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/PoPGatewayNetwork.h
  95. 46 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZIMResponse.h
  96. 47 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimInitRequest.h
  97. 46 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimInitResponse.h
  98. 14 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimJSApiHandler.h
  99. 68 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimRpcManager.h
  100. 40 0
      nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimValidateRequest.h

+ 10 - 17
App.vue

@@ -154,25 +154,18 @@
 				});
 				});
 			},
 			},
 			HXlogin() {
 			HXlogin() {
-				var HXtoken = uni.getStorageSync('HXtoken')
-				if(HXtoken) {
-					var userId = uni.getStorageSync('id')
-					var options = {
-						user: userId.toString(),
-						pwd	: '123456',
-						appKey: uni.WebIM.config.appkey,
-						success: function() {
-							console.log("登录成功");
-							var lianjie = uni.WebIM.conn.isOpened()
-							console.log('链接',lianjie);
-						},
-						error: function() {
-							console.log("登录失败");
-						}
+				var userId = uni.getStorageSync('id')
+				var options = {
+					user: userId.toString(),
+					pwd	: '123456',
+					appKey: uni.WebIM.config.appkey,
+					success: function() {
+						var lianjie = uni.WebIM.conn.isOpened()
+					},
+					error: function() {
 					}
 					}
-					uni.WebIM.conn.open(options);
-					
 				}
 				}
+				uni.WebIM.conn.open(options);
 				
 				
 			}
 			}
 		}
 		}

+ 46 - 61
components/my-order/my-order.vue

@@ -1,62 +1,33 @@
 <template>
 <template>
 	<view>
 	<view>
 		<block v-for="(item,index) in list" :key="index">
 		<block v-for="(item,index) in list" :key="index">
-			<view class="my-order">
-				<view class="top hflex acenter jbetween" @click="toDetail(item.order_no)">
-					<view class="order_no" v-if="active1 == '2'">订单号:{{item.repair.order_no}}</view>
-					<view class="order_no" v-else>订单号:{{item.order_no}}</view>
-					<view class="type" v-if="item.type == 0">未报价</view>
-					<view class="type1" v-if="item.type == 1">已报价</view>
-					<view class="type1" v-if="item.type == 2">已匹配</view>
+			<view class="my-order"  @click="toDetail(item.id)">
+				<view class="top hflex acenter jbetween">
+					<view class="order_no">订单编号:{{item.order_no}}</view>
+					<view class="type" v-if="item.status== 1">未报价</view>
+					<view class="type1" v-if="item.status == 2">已报价</view>
+					<view class="type2" v-if="item.status == 3">已匹配</view>
 				</view>
 				</view>
-				<block v-if="order_type !== '5'">
-					<block v-for="(item2,index2) in item.goods" :key="index">
-						<view class="box"  @click="toDetail(item2.order_no)">
-							<view class="text_style1">{{item2.name}}</view>
-							<view class="box_norm hflex acenter" >
-								<view class="text_style2">规格:{{item2.norm}}kg/桶</view>
-								<view class="text_style2">采购数量:{{item2.num}}吨</view>
-							</view>
-							<view class="text" v-if="item2.text">{{item2.text}}</view>
-						</view>
-					</block>
-					<view class="bottom hflex acenter jbetween">
-						<view class="offer">订单报价:<span style="font-size: 32rpx;color: #222;">{{item.offer}}</span></view>
-						<view class="btn" @click="toOffer(item.order_no)">查看详情</view>
-					</view>
-				</block>
-				<block v-if="active1 == '1'">
+				<block v-for="(item2,index2) in item.items" :key="index">
 					<view class="box">
 					<view class="box">
-						<view class="text_style1" >
-							<span class="urgent1" v-if="item.quick == '2'">快修</span>
-							<span class="urgent" v-else>普修</span>
-							{{item.describe}}
+						<view class="text_style1">{{item2.name}}</view>
+						<view class="box_norm hflex acenter" v-if="item.tab !== 4">
+							<view class="text_style2">规格:{{item2.spec}}kg/桶</view>
+							<view class="text_style2">采购数量:{{item2.number}}吨</view>
 						</view>
 						</view>
-						<view class="box_cell text_style2">维修时间:{{item.start_time}}~{{item.end_time}}</view>
-						<view class="box_cell text_style2">维修地点:{{item.address}}</view>
-					</view>
-					<view class="bottom1 hflex jend">
-						<view class="btn1" v-if="active1 !== '3' && item.type !== '2'" @click="deleteId(item.order_no)">删除</view>
-						<view class="btn1" v-if="active1 !== '3' && item.type !== '2'" @click="toEdit(item)">编辑</view>
-						<view class="btn1" @click="toDetail(item.id)">查看详情</view>
-					</view>
-				</block>
-				<block v-if="active1 == '2'">
-					<view class="box">
-						<view class="text_style1" >
-							<span class="urgent1" v-if="item.repair.quick == '2'">快修</span>
-							<span class="urgent" v-else>普修</span>
-							{{item.repair.describe}}
+						<view class="box_norm hflex acenter" v-else>
+							<view class="text_style2">数量/吨位:{{item2.weight}}吨</view>
 						</view>
 						</view>
-						<view class="box_cell text_style2">维修时间:{{item.repair.start_time}}~{{item.repair.end_time}}</view>
-						<view class="box_cell text_style2">维修地点:{{item.repair.address}}</view>
-					</view>
-					<view class="bottom1 hflex jend">
-						<view class="btn1" v-if="active1 !== '3' && item.type !== '2'" @click="deleteId(item.repair.order_no)">删除</view>
-						<view class="btn1" v-if="active1 !== '3' && item.type !== '2'" @click="toEdit(item)">编辑</view>
-						<view class="btn1" @click="toDetail(item.repair.id)">查看详情</view>
+						<view class="text" v-if="item2.standard">质量标准:{{item2.standard}}</view>
 					</view>
 					</view>
 				</block>
 				</block>
+				<view class="bottom hflex acenter jbetween" v-if="item.status != 1 && item.tab !== 1">
+					<view class="offer">订单报价:<span style="font-size: 32rpx;color: #222;">{{item.user_order.amount}}</span></view>
+					<view class="btn" @click.stop="toOffer(item.id)">查看详情</view>
+				</view>
+				<view class="hflex acenter jend" v-if="item.tab == 1">
+					<view class="btn2 hflex acenter jcenter" @click.stop="toDetail(item.id)">查看详情</view>
+				</view>
 			</view>
 			</view>
 		</block>
 		</block>
 	</view>
 	</view>
@@ -70,14 +41,6 @@
 				type: Array,
 				type: Array,
 				value: []
 				value: []
 			},
 			},
-			order_type: {
-				type: String,
-				value: ''
-			},
-			active1: {
-				type: String,
-				value: ''
-			}
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
@@ -89,8 +52,8 @@
 			toDetail(id) {
 			toDetail(id) {
 				this.$emit('toDetail', id)
 				this.$emit('toDetail', id)
 			},
 			},
-			toOffer(order_no) {
-				this.$emit('toOffer', order_no)
+			toOffer(id) {
+				this.$emit('toOffer', id)
 			},
 			},
 			toEdit(data) {
 			toEdit(data) {
 				this.$emit('toEdit', data)
 				this.$emit('toEdit', data)
@@ -110,6 +73,7 @@
 		.top {
 		.top {
 			padding-bottom: 24rpx;
 			padding-bottom: 24rpx;
 			width: 100%;
 			width: 100%;
+			border-bottom: 1rpx solid #f4f4f4;
 			.order_no {
 			.order_no {
 				font-size: 24rpx;
 				font-size: 24rpx;
 				color: #444;
 				color: #444;
@@ -134,11 +98,21 @@
 				text-align: center;
 				text-align: center;
 				line-height: 40rpx;
 				line-height: 40rpx;
 			}
 			}
+			.type2 {
+				width: 96rpx;
+				height: 40rpx;
+				background-color: #E6F7E8;
+				border-radius: 4rpx;
+				font-size: 22rpx;
+				color: #4AB256;
+				text-align: center;
+				line-height: 40rpx;
+			}
 		}
 		}
 		.box {
 		.box {
 			width: 100%;
 			width: 100%;
 			padding-top: 14rpx;
 			padding-top: 14rpx;
-			border-top: 1rpx solid #f4f4f4;
+			border-bottom: 1rpx solid #f4f4f4;
 			.text_style1 {
 			.text_style1 {
 				font-size: 28rpx;
 				font-size: 28rpx;
 				color: #222;
 				color: #222;
@@ -222,6 +196,17 @@
 			padding-top: 20rpx;
 			padding-top: 20rpx;
 			border-top: 1rpx solid #f4f4f4;
 			border-top: 1rpx solid #f4f4f4;
 		}
 		}
+		.btn2 {
+			width: 152rpx;
+			height: 60rpx;
+			border-radius: 32rpx;
+			border: 1rpx solid #506DFF;
+			font-size: 28rpx;
+			font-weight: 400;
+			color: #506DFF;
+			line-height: 40rpx;
+			margin: 20rpx 0 0;
+		}
 		.btn1 {
 		.btn1 {
 			width: 152rpx;
 			width: 152rpx;
 			height: 52rpx;
 			height: 52rpx;

+ 10 - 6
components/news-module/news-module.vue

@@ -16,7 +16,7 @@
 			</view> -->
 			</view> -->
 			<view class="" >
 			<view class="" >
 				<!-- <block v-for="(item1,index1) in item.xw" :key="index1"> -->
 				<!-- <block v-for="(item1,index1) in item.xw" :key="index1"> -->
-					<view class="news_box" @click="toDetail(item.id)">
+					<view class="news_box" @click="toDetail(index)">
 						<view class="news_title">
 						<view class="news_title">
 							{{item.title}}
 							{{item.title}}
 						</view>
 						</view>
@@ -30,7 +30,7 @@
 							</view>
 							</view>
 						</view> -->
 						</view> -->
 						<view v-if="item.images.length > 2" class="imgList hflex acenter jbetween">
 						<view v-if="item.images.length > 2" class="imgList hflex acenter jbetween">
-							<block v-for="(item2,index2) in item.images" :key="index2">
+							<block v-for="(item2,index2) in item.images.slice(0,3)" :key="index2">
 								<image :src="item2" mode="aspectFill" class="img" @tap.stop="priveImg(index,index2)"></image>
 								<image :src="item2" mode="aspectFill" class="img" @tap.stop="priveImg(index,index2)"></image>
 							</block>
 							</block>
 						</view>
 						</view>
@@ -57,6 +57,7 @@
 
 
 <script>
 <script>
 	import $api from '@/static/js/api.js'
 	import $api from '@/static/js/api.js'
+	var that = ""
 	export default {
 	export default {
 		name:"news-module",
 		name:"news-module",
 		props: {
 		props: {
@@ -71,18 +72,21 @@
 				
 				
 			}
 			}
 		},
 		},
+		onLoad() {
+			that = this
+		},
 		methods: {
 		methods: {
 			// 打开详情
 			// 打开详情
-			toDetail(id) {
-				$api.jump('/page_index/pages/index/newDetail?id=' + id)
+			toDetail(index) {
+				this.$emit('toDetail',index);
 			},
 			},
 			// 查看图片
 			// 查看图片
 			priveImg(index,index1,index2) {
 			priveImg(index,index1,index2) {
 				var that = this
 				var that = this
 				console.log(index,index2);
 				console.log(index,index2);
 				uni.previewImage({
 				uni.previewImage({
-					urls: that.pageList[index].xw[index1].images,
-					current: that.pageList[index].xw[index1].images[index2]
+					urls: that.pageList[index].images,
+					current: that.pageList[index].images[index2]
 				});
 				});
 			}
 			}
 		}
 		}

+ 3 - 3
components/order-top/order-top.vue

@@ -2,9 +2,9 @@
 	<view class="order-top">
 	<view class="order-top">
 		<view class="hflex acenter jbetween">
 		<view class="hflex acenter jbetween">
 			<view class="title">客户信息</view>
 			<view class="title">客户信息</view>
-			<view class="type1" v-if="type == 0">未报价</view>
-			<view class="type1 type2" v-if="type == 1">已报价</view>
-			<view class="type1 type3" v-if="type == 2">已匹配</view>
+			<view class="type1" v-if="type == 1">未报价</view>
+			<view class="type1 type2" v-if="type == 2">已报价</view>
+			<view class="type1 type3" v-if="type == 3">已匹配</view>
 		</view>
 		</view>
 		<view class="hflex acenter cell">
 		<view class="hflex acenter cell">
 			<view class="left">联系人:</view>
 			<view class="left">联系人:</view>

+ 1 - 3
manifest.json

@@ -64,9 +64,7 @@
                 "desc" : "提供更好的服务"
                 "desc" : "提供更好的服务"
             }
             }
         },
         },
-		"requiredPrivateInfos": [
-			"getLocation"
-		]
+        "requiredPrivateInfos" : [ "getLocation" ]
     },
     },
     "mp-alipay" : {
     "mp-alipay" : {
         "usingComponents" : true
         "usingComponents" : true

BIN
nativePlugins/AP-FaceDetectModule/.DS_Store


+ 3 - 0
nativePlugins/AP-FaceDetectModule/ReadMe.txt

@@ -0,0 +1,3 @@
+亲,按照下面方法操作
+1.所有的framework都在iOS目录下
+2.把这四个bundle copy到ios目录下"APBToygerFacade.bundle","BioAuthEngine.bundle","ToygerService.bundle","OCRXMedia.bundle", 他们分别在APBToygerFacade.framework,BioAuthEngine.framework,ToygerService.framework,OCRDetectSDKForTech.framework 里面。 

BIN
nativePlugins/AP-FaceDetectModule/android/.DS_Store


BIN
nativePlugins/AP-FaceDetectModule/android/APSecuritySDK-DeepSec-7.0.1.20211220.aar


BIN
nativePlugins/AP-FaceDetectModule/android/Android-AliyunDevice-FG-10022.2.aar


BIN
nativePlugins/AP-FaceDetectModule/android/aliyunfaceverify.aar


BIN
nativePlugins/AP-FaceDetectModule/android/android-aliyunbasicstl-sdk-release-1.6.0-20220414192835.aar


BIN
nativePlugins/AP-FaceDetectModule/android/android-aliyuncomm-sdk-release-1.6.0-20220414192835.aar


BIN
nativePlugins/AP-FaceDetectModule/android/android-aliyunface-sdk-release-1.6.0-20220414192835.aar


BIN
nativePlugins/AP-FaceDetectModule/android/android-aliyunocr-sdk-release-1.6.0-20220414192835.aar


BIN
nativePlugins/AP-FaceDetectModule/android/photinus-1.0.1.220217162928.aar


BIN
nativePlugins/AP-FaceDetectModule/android/tygerservice-1.0.0.220407164130.aar


BIN
nativePlugins/AP-FaceDetectModule/ios/.DS_Store


+ 66 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/en.strings

@@ -0,0 +1,66 @@
+/* 
+  en.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:正在处理"="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";

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/id.strings

@@ -0,0 +1,101 @@
+"APBToygerFacade:没有检测到脸"="Tidak ada wajah terdeteksi";
+"APBToygerFacade:靠近一点"="Harap dekatkan wajah";
+"APBToygerFacade:离远一点"="Harap jauhkan wajah";
+"APBToygerFacade:把脸移入圈内"="Posisikan wajah pada lingkaran";
+"APBToygerFacade:请正对手机"="Arahkan wajah lurus menghadap ponsel";
+"APBToygerFacade:请正对手机"="Arahkan wajah lurus menghadap ponsel";
+"APBToygerFacade:再清晰一点"="Perjelas wajah Anda";
+"APBToygerFacade:脸部亮一点"="Terangi wajah Anda";
+"APBToygerFacade:请露出正脸"="Tunjukkan bagian depan wajah Anda";
+"APBToygerFacade:请注视屏幕"="Lihat layar";
+"APBToygerFacade:眨眨眼"="Harap kedipkan mata";
+"APBToygerFacade:请保持不动"="Tetap tenang";
+"APBToygerFacade:再清晰一点"="Perjelas wajah Anda";
+"APBToygerFacade:请正对屏幕"="Arahkan wajah lurus menghadap layar";
+"APBToygerFacade:拿起手机,眨眨眼"="Angkat ponsel Anda dan kedipkan mata";
+"APBToygerFacade:正在处理"="Memproses";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:退出"="Keluar";
+"APBToygerFacade:当前系统不支持刷脸"="Sistem saat ini tidak mendukung pengenalan wajah";
+"APBToygerFacade:刷脸仅在高版本及以上系统可用"="Pengenalan wajah hanya dapat dilakukan pada sistem dengan versi yang lebih tinggi";
+"APBToygerFacade:验证中断"="Verifikasi terputus";
+"APBToygerFacade:本次操作失败"="Operasi gagal";
+"APBToygerFacade:刷脸失败"="Pengenalan wajah gagal";
+"APBToygerFacade:正对手机,更容易成功"="Arahkan wajah lurus menghadap ponsel untuk membuat wajah Anda lebih mudah dipindai";
+"APBToygerFacade:操作超时"="Waktu operasi habis";
+"APBToygerFacade:提示:正对手机,更容易成功"="Catatan: Pemindaian lebih mungkin berhasil jika Anda mengarahkan wajah lurus menghadap ponsel Anda";
+"APBToygerFacade:网络不给力"="Kondisi jaringan tidak memenuhi persyaratan";
+"APBToygerFacade:请检查网络"="Periksa konektivitas jaringan";
+"APBToygerFacade:本次操作失败"="Operasi gagal";
+"APBToygerFacade:抱歉,系统出错了,请再试一次"="Terjadi kesalahan sistem. Coba lagi";
+"APBToygerFacade:确定退出吗?"="Apakah Anda yakin ingin keluar?";
+"APBToygerFacade:露个脸就能通过"="Anda hanya perlu memperlihatkan wajah Anda";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:取消"="Batalkan";
+"APBToygerFacade:重试"="Coba lagi";
+"APBToygerFacade:操作超时"="Waktu operasi habis";
+"APBToygerFacade:提示:正对手机,更容易成功"="Catatan: Pemindaian lebih mungkin berhasil jika Anda menghadap lurus ke arah ponsel Anda";
+"APBToygerFacade:再试一次"="Harap coba lagi";
+"APBToygerFacade:退出"="Keluar";
+"APBToygerFacade:本次操作失败"="Operasi gagal";
+"APBToygerFacade:刷脸失败次数过多,请稍后再试"="Pengenalan wajah terlalu sering dilakukan. Harap coba lagi nanti";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:进行闪屏检测"="Deteksi layar splash akan dimulai";
+"APBToygerFacade:拍摄人像面"="Ambil foto samping dengan wajah Anda";
+"APBToygerFacade:拍摄要求"="Persyaratan Foto";
+"APBToygerFacade:证件人像面"="Belakang (Foto Wajah)";
+"APBToygerFacade:人像面"="Kembali";
+"APBToygerFacade:拍摄国徽面"="Ambil foto sisi dengan lambang negara";
+"APBToygerFacade:证件国徽面"="Depan (Foto Lambang Negara)";
+"APBToygerFacade:国徽面"="Depan";
+"APBToygerFacade:拍摄身份证人像面"="Ambil foto bagian belakang kartu identitas Anda";
+"APBToygerFacade:拍摄身份证国徽面"="Ambil foto bagian depan KTP Anda";
+"APBToygerFacade:扫描面部信息,与您的照片对比"="Informasi wajah dipindai dan dibandingkan dengan foto Anda";
+"APBToygerFacade:下一步"="Berikutnya";
+"APBToygerFacade:实人认证"="Verifikasi KTP";
+"APBToygerFacade:拍摄您本人人脸,请确保正对手机,光线充足"="Untuk mengambil foto wajah Anda, arahkan wajah lurus menghadap ponsel Anda";
+"APBToygerFacade:请将身份证置于框内拍摄"="Posisikan kartu identitas Anda di dalam bingkai";
+"APBToygerFacade:请确认信息,若有误请点击修改"="Konfirmasi informasi terkait. Jika terdapat kesalahan pada informasi, ketuk untuk mengubahnya";
+"APBToygerFacade:姓名"="Nama";
+"APBToygerFacade:身份证号"="Nomor KTP";
+"APBToygerFacade:识别失败"="Pengenalan gagal";
+"APBToygerFacade:证件图像未符合要求"="Foto sertifikat tidak memenuhi persyaratan";
+"APBToygerFacade:请按要求拍摄本人有效身份证"="Ambil foto KTP Anda dengan mengikuti persyaratan";
+"APBToygerFacade:重新拍摄"="Ulangi mengambil gambar";
+"APBToygerFacade:识别超时"="Waktu pengenalan habis";
+"APBToygerFacade:网络连接超时,请重新识别"="Waktu koneksi jaringan habis. Harap coba lagi";
+"APBToygerFacade:重新识别"="Kenali lagi";
+"APBToygerFacade:识别中..."="Mengenali";
+"APBToygerFacade:即将进入刷脸页..."="Memasuki halaman pengenalan wajah";
+"APBToygerFacade:拍张照就能通过"="Anda hanya perlu mengambil foto KTP Anda";
+"APBToygerFacade:识别失败次数过多"="Pengenalan gagal berulang kali";
+"APBToygerFacade:请退出后重试"="Harap keluar dan coba lagi";
+"APBToygerFacade:相机权限被禁止,请检查"="Akses ke kamera Anda tidak diperbolehkan. Periksa izin";
+"APBToygerFacade:温馨提示"="Catatan"; 
+
+"APBToygerFacade:继续"="Lanjutkan";
+"APBToygerFacade:其他登录方式"="Ubah Metode Logon";
+"APBToygerFacade:当前设备不支持刷脸"="Perangkat Anda 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:提示:正对手机,更容易成功"="Arahkan wajah lurus menghadap ponsel";
+"APBToygerFacade:登录中断"="Logon Terganggu";
+"APBToygerFacade:刷脸验证"="Verifikasi dengan Pengenalan Wajah";
+"APBToygerFacade:请把脸放入框内保持不动"="Posisikan wajah Anda di dalam bingkai dan jangan bergerak";
+"APBToygerFacade:蚂蚁佐罗提供技术支持"="";
+"APBToygerFacade:选择其他验证方式"="Ubah Metode Verifikasi";
+"APBToygerFacade:拿起手机眨眨眼"="Harap kedipkan mata";
+"APBToygerFacade:拿起手机向左摇头"="Harap menoleh ke kiri";
+"APBToygerFacade:拿起手机向右摇头"="Harap menoleh ke kanan";
+"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";

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ja.strings

@@ -0,0 +1,101 @@
+"APBToygerFacade:没有检测到脸"="顔が検出されません";
+"APBToygerFacade:靠近一点"="近づいてください";
+"APBToygerFacade:离远一点"="離れてください";
+"APBToygerFacade:把脸移入圈内"="顔を円の中に入れてください";
+"APBToygerFacade:请正对手机"="電話の方を向いてください";
+"APBToygerFacade:请正对手机"="電話の方を向いてください";
+"APBToygerFacade:再清晰一点"="顔をはっきりさせてください";
+"APBToygerFacade:脸部亮一点"="顔を明るくしてください";
+"APBToygerFacade:请露出正脸"="顔の正面を見せてください";
+"APBToygerFacade:请注视屏幕"="画面を見てください";
+"APBToygerFacade:眨眨眼"="まばたきしてください";
+"APBToygerFacade:请保持不动"="動かないでください";
+"APBToygerFacade:再清晰一点"="顔をはっきりさせてください";
+"APBToygerFacade:请正对屏幕"="画面の方を向いてください";
+"APBToygerFacade:拿起手机,眨眨眼"="電話を手に取ってまばたきしてください";
+"APBToygerFacade:正在处理"="処理中";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:退出"="終了";
+"APBToygerFacade:当前系统不支持刷脸"="顔認識をサポートしていないシステムです";
+"APBToygerFacade:刷脸仅在高版本及以上系统可用"="顔認識は上位バージョンでのみサポートされています";
+"APBToygerFacade:验证中断"="検証が中断されました";
+"APBToygerFacade:本次操作失败"="操作に失敗しました";
+"APBToygerFacade:刷脸失败"="顔を認識できませんでした";
+"APBToygerFacade:正对手机,更容易成功"="顔をスキャンしやすいように、電話の方を向いてください";
+"APBToygerFacade:操作超时"="操作がタイムアウトしました";
+"APBToygerFacade:提示:正对手机,更容易成功"="注:電話の方を向くと、スキャンが成功する可能性が高くなります";
+"APBToygerFacade:网络不给力"="ネットワークの状態が要件を満たしていません";
+"APBToygerFacade:请检查网络"="ネットワーク接続を確認してください";
+"APBToygerFacade:本次操作失败"="操作に失敗しました";
+"APBToygerFacade:抱歉,系统出错了,请再试一次"="エラーが発生しました。もう一度お試しください";
+"APBToygerFacade:确定退出吗?"="終了してもよろしいですか";
+"APBToygerFacade:露个脸就能通过"="顔を見せるだけです";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:取消"="キャンセル";
+"APBToygerFacade:重试"="再試行";
+"APBToygerFacade:操作超时"="操作がタイムアウトしました";
+"APBToygerFacade:提示:正对手机,更容易成功"="注:電話の方を向くと、成功しやすくなります";
+"APBToygerFacade:再试一次"="もう一度お試しください";
+"APBToygerFacade:退出"="終了";
+"APBToygerFacade:本次操作失败"="操作に失敗しました";
+"APBToygerFacade:刷脸失败次数过多,请稍后再试"="顔認識が頻繁に実行されています。後でもう一度やり直してください";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:进行闪屏检测"="スプラッシュ画面の検出を開始します";
+"APBToygerFacade:拍摄人像面"="横顔を撮影してください";
+"APBToygerFacade:拍摄要求"="写真の要件";
+"APBToygerFacade:证件人像面"="戻る (顔写真)";
+"APBToygerFacade:人像面"="戻る";
+"APBToygerFacade:拍摄国徽面"="国章側を撮影してください";
+"APBToygerFacade:证件国徽面"="表 (国章の写真)";
+"APBToygerFacade:国徽面"="表";
+"APBToygerFacade:拍摄身份证人像面"="ID カードの裏面を撮影してください";
+"APBToygerFacade:拍摄身份证国徽面"="ID カードの裏面を撮影してください";
+"APBToygerFacade:扫描面部信息,与您的照片对比"="顔情報がスキャンされ、写真と比較されました";
+"APBToygerFacade:下一步"="次へ";
+"APBToygerFacade:实人认证"="ID 検証";
+"APBToygerFacade:拍摄您本人人脸,请确保正对手机,光线充足"="顔写真を撮影する場合、明るい場所で電話の方を向いてください";
+"APBToygerFacade:请将身份证置于框内拍摄"="フレーム内で IDカードを動かします";
+"APBToygerFacade:请确认信息,若有误请点击修改"="情報を確認してください。情報が正しくない場合は、タップして情報を変更します";
+"APBToygerFacade:姓名"="名前";
+"APBToygerFacade:身份证号"="ID カード番号";
+"APBToygerFacade:识别失败"="認識できませんでした";
+"APBToygerFacade:证件图像未符合要求"="証明写真が要件を満たしていません";
+"APBToygerFacade:请按要求拍摄本人有效身份证"="以下の要件に従って、ID カードの写真を撮影してください";
+"APBToygerFacade:重新拍摄"="もう一度撮影";
+"APBToygerFacade:识别超时"="認識がタイムアウトしました";
+"APBToygerFacade:网络连接超时,请重新识别"="ネットワーク接続がタイムアウトしました。もう一度お試しください";
+"APBToygerFacade:重新识别"="もう一度認識してください";
+"APBToygerFacade:识别中..."="認識中";
+"APBToygerFacade:即将进入刷脸页..."="顔認識ページを開きます";
+"APBToygerFacade:拍张照就能通过"="ID カードの写真を撮るだけです";
+"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:人脸检测中"="顔を認識中です";

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/ko.strings

@@ -0,0 +1,101 @@
+"APBToygerFacade:没有检测到脸"="감지된 얼굴이 없습니다";
+"APBToygerFacade:靠近一点"="더 가까이 움직이세요";
+"APBToygerFacade:离远一点"="더 멀리 움직이세요";
+"APBToygerFacade:把脸移入圈内"="얼굴이 원 안에 들어오도록 움직이세요";
+"APBToygerFacade:请正对手机"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:请正对手机"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:再清晰一点"="얼굴을 좀더 선명하게 만드세요";
+"APBToygerFacade:脸部亮一点"="얼굴을 밝게 만드세요";
+"APBToygerFacade:请露出正脸"="얼굴의 정면을 보여주세요";
+"APBToygerFacade:请注视屏幕"="화면을 바라보세요";
+"APBToygerFacade:眨眨眼"="눈을 깜빡이세요";
+"APBToygerFacade:请保持不动"="가만히 계십시오";
+"APBToygerFacade:再清晰一点"="얼굴을 좀더 선명하게 만드세요";
+"APBToygerFacade:请正对屏幕"="화면을 정면으로 바라보세요";
+"APBToygerFacade:拿起手机,眨眨眼"="휴대전화를 집어 들고 눈을 깜빡이세요";
+"APBToygerFacade:正在处理"="처리 중";
+"APBToygerFacade:确定"="확인";
+"APBToygerFacade:我知道了"="확인";
+"APBToygerFacade:退出"="종료";
+"APBToygerFacade:当前系统不支持刷脸"="현재 시스템은 안면 인식을 지원하지 않습니다";
+"APBToygerFacade:刷脸仅在高版本及以上系统可用"="상위 버전의 시스템만 안면 인식을 지원합니다";
+"APBToygerFacade:验证中断"="확인이 중단되었습니다";
+"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
+"APBToygerFacade:刷脸失败"="안면 인식에 실패했습니다";
+"APBToygerFacade:正对手机,更容易成功"="얼굴을 더 쉽게 스캔할 수 있도록 휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:操作超时"="작업 시간이 초과되었습니다";
+"APBToygerFacade:提示:正对手机,更容易成功"="참고: 휴대전화를 똑바로 바라보면 스캔에 성공할 가능성이 높습니다";
+"APBToygerFacade:网络不给力"="네트워크 상태가 요구 사항을 충족하지 않습니다";
+"APBToygerFacade:请检查网络"="네트워크 연결을 확인하세요";
+"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
+"APBToygerFacade:抱歉,系统出错了,请再试一次"="시스템 오류가 발생했습니다. 다시 시도하세요";
+"APBToygerFacade:确定退出吗?"="정말로 종료하시겠습니까?";
+"APBToygerFacade:露个脸就能通过"="얼굴만 보여주시면 됩니다";
+"APBToygerFacade:确定"="확인";
+"APBToygerFacade:取消"="취소";
+"APBToygerFacade:重试"="다시 시도";
+"APBToygerFacade:操作超时"="작업 시간이 초과되었습니다";
+"APBToygerFacade:提示:正对手机,更容易成功"="참고: 휴대전화를 똑바로 바라보면 성공할 가능성이 높습니다";
+"APBToygerFacade:再试一次"="다시 시도하세요";
+"APBToygerFacade:退出"="종료";
+"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
+"APBToygerFacade:刷脸失败次数过多,请稍后再试"="안면 인식이 연속으로 실행되었습니다. 나중에 다시 시도하세요";
+"APBToygerFacade:我知道了"="확인";
+"APBToygerFacade:进行闪屏检测"="스플래시 화면 감지가 시작됩니다";
+"APBToygerFacade:拍摄人像面"="얼굴의 측면 사진을 찍어주세요";
+"APBToygerFacade:拍摄要求"="사진 요구사항";
+"APBToygerFacade:证件人像面"="뒷면(얼굴 사진)";
+"APBToygerFacade:人像面"="뒷면";
+"APBToygerFacade:拍摄国徽面"="국장(national emblem)의 측면 사진을 찍어주세요";
+"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:立即开启"="OK";
+"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="iOS 7 및 그 이상의 버전에서만 안면 인식이 지원됩니다";
+"APBToygerFacade:系统错误"="시스템 오류";
+"APBToygerFacade:提示:正对手机,更容易成功"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:登录中断"="로그온이 중단되었습니다";
+"APBToygerFacade:刷脸验证"="안면 인식을 통한 인증";
+"APBToygerFacade:请把脸放入框内保持不动"="얼굴이 프레임 안으로 들어오도록 위치한 다음 움직이지 말고 가만히 계십시오";
+"APBToygerFacade:蚂蚁佐罗提供技术支持"="";
+"APBToygerFacade:选择其他验证方式"="인증 방법을 변경합니다";
+"APBToygerFacade:拿起手机眨眨眼"="눈을 깜빡이세요";
+"APBToygerFacade:拿起手机向左摇头"="좌측으로 고개를 돌립니다";
+"APBToygerFacade:拿起手机向右摇头"="우측으로 고개를 돌립니다";
+"APBToygerFacade:首次使用,请开通刷脸"="안면 인식을 활성화하여 계속 진행합니다";
+"APBToygerFacade:立即开通"="활성화하기";
+"APBToygerFacade:下次再说"="나중에 하기";
+"APBToygerFacade:请把手机正对面部"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:即将开始人脸检测"="안면 인식 시작";
+"APBToygerFacade:没有认出你"="안면 인식에 실패했습니다";
+"APBToygerFacade:未能识别人脸"="감지된 얼굴이 없습니다";
+"APBToygerFacade:人脸检测中"="얼굴 인식 중";

+ 64 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-HK.strings

@@ -0,0 +1,64 @@
+/* 
+  zh-HK.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:刷脸失败次数过多,请稍后再试"="刷臉失敗次數過多,請稍後再試";

+ 66 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hans.strings

@@ -0,0 +1,66 @@
+/* 
+  zh-Hans.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:刷脸失败次数过多,请稍后再试"="刷脸失败次数过多,请稍后再试";

+ 66 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.bundle/zh-Hant.strings

@@ -0,0 +1,66 @@
+/* 
+  zh-Hant.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:刷脸失败次数过多,请稍后再试"="刷臉失敗次數過多,請稍後再試";

BIN
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/.DS_Store


BIN
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade


+ 66 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/en.strings

@@ -0,0 +1,66 @@
+/* 
+  en.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:正在处理"="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";

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/id.strings

@@ -0,0 +1,101 @@
+"APBToygerFacade:没有检测到脸"="Tidak ada wajah terdeteksi";
+"APBToygerFacade:靠近一点"="Harap dekatkan wajah";
+"APBToygerFacade:离远一点"="Harap jauhkan wajah";
+"APBToygerFacade:把脸移入圈内"="Posisikan wajah pada lingkaran";
+"APBToygerFacade:请正对手机"="Arahkan wajah lurus menghadap ponsel";
+"APBToygerFacade:请正对手机"="Arahkan wajah lurus menghadap ponsel";
+"APBToygerFacade:再清晰一点"="Perjelas wajah Anda";
+"APBToygerFacade:脸部亮一点"="Terangi wajah Anda";
+"APBToygerFacade:请露出正脸"="Tunjukkan bagian depan wajah Anda";
+"APBToygerFacade:请注视屏幕"="Lihat layar";
+"APBToygerFacade:眨眨眼"="Harap kedipkan mata";
+"APBToygerFacade:请保持不动"="Tetap tenang";
+"APBToygerFacade:再清晰一点"="Perjelas wajah Anda";
+"APBToygerFacade:请正对屏幕"="Arahkan wajah lurus menghadap layar";
+"APBToygerFacade:拿起手机,眨眨眼"="Angkat ponsel Anda dan kedipkan mata";
+"APBToygerFacade:正在处理"="Memproses";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:退出"="Keluar";
+"APBToygerFacade:当前系统不支持刷脸"="Sistem saat ini tidak mendukung pengenalan wajah";
+"APBToygerFacade:刷脸仅在高版本及以上系统可用"="Pengenalan wajah hanya dapat dilakukan pada sistem dengan versi yang lebih tinggi";
+"APBToygerFacade:验证中断"="Verifikasi terputus";
+"APBToygerFacade:本次操作失败"="Operasi gagal";
+"APBToygerFacade:刷脸失败"="Pengenalan wajah gagal";
+"APBToygerFacade:正对手机,更容易成功"="Arahkan wajah lurus menghadap ponsel untuk membuat wajah Anda lebih mudah dipindai";
+"APBToygerFacade:操作超时"="Waktu operasi habis";
+"APBToygerFacade:提示:正对手机,更容易成功"="Catatan: Pemindaian lebih mungkin berhasil jika Anda mengarahkan wajah lurus menghadap ponsel Anda";
+"APBToygerFacade:网络不给力"="Kondisi jaringan tidak memenuhi persyaratan";
+"APBToygerFacade:请检查网络"="Periksa konektivitas jaringan";
+"APBToygerFacade:本次操作失败"="Operasi gagal";
+"APBToygerFacade:抱歉,系统出错了,请再试一次"="Terjadi kesalahan sistem. Coba lagi";
+"APBToygerFacade:确定退出吗?"="Apakah Anda yakin ingin keluar?";
+"APBToygerFacade:露个脸就能通过"="Anda hanya perlu memperlihatkan wajah Anda";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:取消"="Batalkan";
+"APBToygerFacade:重试"="Coba lagi";
+"APBToygerFacade:操作超时"="Waktu operasi habis";
+"APBToygerFacade:提示:正对手机,更容易成功"="Catatan: Pemindaian lebih mungkin berhasil jika Anda menghadap lurus ke arah ponsel Anda";
+"APBToygerFacade:再试一次"="Harap coba lagi";
+"APBToygerFacade:退出"="Keluar";
+"APBToygerFacade:本次操作失败"="Operasi gagal";
+"APBToygerFacade:刷脸失败次数过多,请稍后再试"="Pengenalan wajah terlalu sering dilakukan. Harap coba lagi nanti";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:进行闪屏检测"="Deteksi layar splash akan dimulai";
+"APBToygerFacade:拍摄人像面"="Ambil foto samping dengan wajah Anda";
+"APBToygerFacade:拍摄要求"="Persyaratan Foto";
+"APBToygerFacade:证件人像面"="Belakang (Foto Wajah)";
+"APBToygerFacade:人像面"="Kembali";
+"APBToygerFacade:拍摄国徽面"="Ambil foto sisi dengan lambang negara";
+"APBToygerFacade:证件国徽面"="Depan (Foto Lambang Negara)";
+"APBToygerFacade:国徽面"="Depan";
+"APBToygerFacade:拍摄身份证人像面"="Ambil foto bagian belakang kartu identitas Anda";
+"APBToygerFacade:拍摄身份证国徽面"="Ambil foto bagian depan KTP Anda";
+"APBToygerFacade:扫描面部信息,与您的照片对比"="Informasi wajah dipindai dan dibandingkan dengan foto Anda";
+"APBToygerFacade:下一步"="Berikutnya";
+"APBToygerFacade:实人认证"="Verifikasi KTP";
+"APBToygerFacade:拍摄您本人人脸,请确保正对手机,光线充足"="Untuk mengambil foto wajah Anda, arahkan wajah lurus menghadap ponsel Anda";
+"APBToygerFacade:请将身份证置于框内拍摄"="Posisikan kartu identitas Anda di dalam bingkai";
+"APBToygerFacade:请确认信息,若有误请点击修改"="Konfirmasi informasi terkait. Jika terdapat kesalahan pada informasi, ketuk untuk mengubahnya";
+"APBToygerFacade:姓名"="Nama";
+"APBToygerFacade:身份证号"="Nomor KTP";
+"APBToygerFacade:识别失败"="Pengenalan gagal";
+"APBToygerFacade:证件图像未符合要求"="Foto sertifikat tidak memenuhi persyaratan";
+"APBToygerFacade:请按要求拍摄本人有效身份证"="Ambil foto KTP Anda dengan mengikuti persyaratan";
+"APBToygerFacade:重新拍摄"="Ulangi mengambil gambar";
+"APBToygerFacade:识别超时"="Waktu pengenalan habis";
+"APBToygerFacade:网络连接超时,请重新识别"="Waktu koneksi jaringan habis. Harap coba lagi";
+"APBToygerFacade:重新识别"="Kenali lagi";
+"APBToygerFacade:识别中..."="Mengenali";
+"APBToygerFacade:即将进入刷脸页..."="Memasuki halaman pengenalan wajah";
+"APBToygerFacade:拍张照就能通过"="Anda hanya perlu mengambil foto KTP Anda";
+"APBToygerFacade:识别失败次数过多"="Pengenalan gagal berulang kali";
+"APBToygerFacade:请退出后重试"="Harap keluar dan coba lagi";
+"APBToygerFacade:相机权限被禁止,请检查"="Akses ke kamera Anda tidak diperbolehkan. Periksa izin";
+"APBToygerFacade:温馨提示"="Catatan"; 
+
+"APBToygerFacade:继续"="Lanjutkan";
+"APBToygerFacade:其他登录方式"="Ubah Metode Logon";
+"APBToygerFacade:当前设备不支持刷脸"="Perangkat Anda 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:提示:正对手机,更容易成功"="Arahkan wajah lurus menghadap ponsel";
+"APBToygerFacade:登录中断"="Logon Terganggu";
+"APBToygerFacade:刷脸验证"="Verifikasi dengan Pengenalan Wajah";
+"APBToygerFacade:请把脸放入框内保持不动"="Posisikan wajah Anda di dalam bingkai dan jangan bergerak";
+"APBToygerFacade:蚂蚁佐罗提供技术支持"="";
+"APBToygerFacade:选择其他验证方式"="Ubah Metode Verifikasi";
+"APBToygerFacade:拿起手机眨眨眼"="Harap kedipkan mata";
+"APBToygerFacade:拿起手机向左摇头"="Harap menoleh ke kiri";
+"APBToygerFacade:拿起手机向右摇头"="Harap menoleh ke kanan";
+"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";

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/ja.strings

@@ -0,0 +1,101 @@
+"APBToygerFacade:没有检测到脸"="顔が検出されません";
+"APBToygerFacade:靠近一点"="近づいてください";
+"APBToygerFacade:离远一点"="離れてください";
+"APBToygerFacade:把脸移入圈内"="顔を円の中に入れてください";
+"APBToygerFacade:请正对手机"="電話の方を向いてください";
+"APBToygerFacade:请正对手机"="電話の方を向いてください";
+"APBToygerFacade:再清晰一点"="顔をはっきりさせてください";
+"APBToygerFacade:脸部亮一点"="顔を明るくしてください";
+"APBToygerFacade:请露出正脸"="顔の正面を見せてください";
+"APBToygerFacade:请注视屏幕"="画面を見てください";
+"APBToygerFacade:眨眨眼"="まばたきしてください";
+"APBToygerFacade:请保持不动"="動かないでください";
+"APBToygerFacade:再清晰一点"="顔をはっきりさせてください";
+"APBToygerFacade:请正对屏幕"="画面の方を向いてください";
+"APBToygerFacade:拿起手机,眨眨眼"="電話を手に取ってまばたきしてください";
+"APBToygerFacade:正在处理"="処理中";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:退出"="終了";
+"APBToygerFacade:当前系统不支持刷脸"="顔認識をサポートしていないシステムです";
+"APBToygerFacade:刷脸仅在高版本及以上系统可用"="顔認識は上位バージョンでのみサポートされています";
+"APBToygerFacade:验证中断"="検証が中断されました";
+"APBToygerFacade:本次操作失败"="操作に失敗しました";
+"APBToygerFacade:刷脸失败"="顔を認識できませんでした";
+"APBToygerFacade:正对手机,更容易成功"="顔をスキャンしやすいように、電話の方を向いてください";
+"APBToygerFacade:操作超时"="操作がタイムアウトしました";
+"APBToygerFacade:提示:正对手机,更容易成功"="注:電話の方を向くと、スキャンが成功する可能性が高くなります";
+"APBToygerFacade:网络不给力"="ネットワークの状態が要件を満たしていません";
+"APBToygerFacade:请检查网络"="ネットワーク接続を確認してください";
+"APBToygerFacade:本次操作失败"="操作に失敗しました";
+"APBToygerFacade:抱歉,系统出错了,请再试一次"="エラーが発生しました。もう一度お試しください";
+"APBToygerFacade:确定退出吗?"="終了してもよろしいですか";
+"APBToygerFacade:露个脸就能通过"="顔を見せるだけです";
+"APBToygerFacade:确定"="OK";
+"APBToygerFacade:取消"="キャンセル";
+"APBToygerFacade:重试"="再試行";
+"APBToygerFacade:操作超时"="操作がタイムアウトしました";
+"APBToygerFacade:提示:正对手机,更容易成功"="注:電話の方を向くと、成功しやすくなります";
+"APBToygerFacade:再试一次"="もう一度お試しください";
+"APBToygerFacade:退出"="終了";
+"APBToygerFacade:本次操作失败"="操作に失敗しました";
+"APBToygerFacade:刷脸失败次数过多,请稍后再试"="顔認識が頻繁に実行されています。後でもう一度やり直してください";
+"APBToygerFacade:我知道了"="OK";
+"APBToygerFacade:进行闪屏检测"="スプラッシュ画面の検出を開始します";
+"APBToygerFacade:拍摄人像面"="横顔を撮影してください";
+"APBToygerFacade:拍摄要求"="写真の要件";
+"APBToygerFacade:证件人像面"="戻る (顔写真)";
+"APBToygerFacade:人像面"="戻る";
+"APBToygerFacade:拍摄国徽面"="国章側を撮影してください";
+"APBToygerFacade:证件国徽面"="表 (国章の写真)";
+"APBToygerFacade:国徽面"="表";
+"APBToygerFacade:拍摄身份证人像面"="ID カードの裏面を撮影してください";
+"APBToygerFacade:拍摄身份证国徽面"="ID カードの裏面を撮影してください";
+"APBToygerFacade:扫描面部信息,与您的照片对比"="顔情報がスキャンされ、写真と比較されました";
+"APBToygerFacade:下一步"="次へ";
+"APBToygerFacade:实人认证"="ID 検証";
+"APBToygerFacade:拍摄您本人人脸,请确保正对手机,光线充足"="顔写真を撮影する場合、明るい場所で電話の方を向いてください";
+"APBToygerFacade:请将身份证置于框内拍摄"="フレーム内で IDカードを動かします";
+"APBToygerFacade:请确认信息,若有误请点击修改"="情報を確認してください。情報が正しくない場合は、タップして情報を変更します";
+"APBToygerFacade:姓名"="名前";
+"APBToygerFacade:身份证号"="ID カード番号";
+"APBToygerFacade:识别失败"="認識できませんでした";
+"APBToygerFacade:证件图像未符合要求"="証明写真が要件を満たしていません";
+"APBToygerFacade:请按要求拍摄本人有效身份证"="以下の要件に従って、ID カードの写真を撮影してください";
+"APBToygerFacade:重新拍摄"="もう一度撮影";
+"APBToygerFacade:识别超时"="認識がタイムアウトしました";
+"APBToygerFacade:网络连接超时,请重新识别"="ネットワーク接続がタイムアウトしました。もう一度お試しください";
+"APBToygerFacade:重新识别"="もう一度認識してください";
+"APBToygerFacade:识别中..."="認識中";
+"APBToygerFacade:即将进入刷脸页..."="顔認識ページを開きます";
+"APBToygerFacade:拍张照就能通过"="ID カードの写真を撮るだけです";
+"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:人脸检测中"="顔を認識中です";

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/ko.strings

@@ -0,0 +1,101 @@
+"APBToygerFacade:没有检测到脸"="감지된 얼굴이 없습니다";
+"APBToygerFacade:靠近一点"="더 가까이 움직이세요";
+"APBToygerFacade:离远一点"="더 멀리 움직이세요";
+"APBToygerFacade:把脸移入圈内"="얼굴이 원 안에 들어오도록 움직이세요";
+"APBToygerFacade:请正对手机"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:请正对手机"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:再清晰一点"="얼굴을 좀더 선명하게 만드세요";
+"APBToygerFacade:脸部亮一点"="얼굴을 밝게 만드세요";
+"APBToygerFacade:请露出正脸"="얼굴의 정면을 보여주세요";
+"APBToygerFacade:请注视屏幕"="화면을 바라보세요";
+"APBToygerFacade:眨眨眼"="눈을 깜빡이세요";
+"APBToygerFacade:请保持不动"="가만히 계십시오";
+"APBToygerFacade:再清晰一点"="얼굴을 좀더 선명하게 만드세요";
+"APBToygerFacade:请正对屏幕"="화면을 정면으로 바라보세요";
+"APBToygerFacade:拿起手机,眨眨眼"="휴대전화를 집어 들고 눈을 깜빡이세요";
+"APBToygerFacade:正在处理"="처리 중";
+"APBToygerFacade:确定"="확인";
+"APBToygerFacade:我知道了"="확인";
+"APBToygerFacade:退出"="종료";
+"APBToygerFacade:当前系统不支持刷脸"="현재 시스템은 안면 인식을 지원하지 않습니다";
+"APBToygerFacade:刷脸仅在高版本及以上系统可用"="상위 버전의 시스템만 안면 인식을 지원합니다";
+"APBToygerFacade:验证中断"="확인이 중단되었습니다";
+"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
+"APBToygerFacade:刷脸失败"="안면 인식에 실패했습니다";
+"APBToygerFacade:正对手机,更容易成功"="얼굴을 더 쉽게 스캔할 수 있도록 휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:操作超时"="작업 시간이 초과되었습니다";
+"APBToygerFacade:提示:正对手机,更容易成功"="참고: 휴대전화를 똑바로 바라보면 스캔에 성공할 가능성이 높습니다";
+"APBToygerFacade:网络不给力"="네트워크 상태가 요구 사항을 충족하지 않습니다";
+"APBToygerFacade:请检查网络"="네트워크 연결을 확인하세요";
+"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
+"APBToygerFacade:抱歉,系统出错了,请再试一次"="시스템 오류가 발생했습니다. 다시 시도하세요";
+"APBToygerFacade:确定退出吗?"="정말로 종료하시겠습니까?";
+"APBToygerFacade:露个脸就能通过"="얼굴만 보여주시면 됩니다";
+"APBToygerFacade:确定"="확인";
+"APBToygerFacade:取消"="취소";
+"APBToygerFacade:重试"="다시 시도";
+"APBToygerFacade:操作超时"="작업 시간이 초과되었습니다";
+"APBToygerFacade:提示:正对手机,更容易成功"="참고: 휴대전화를 똑바로 바라보면 성공할 가능성이 높습니다";
+"APBToygerFacade:再试一次"="다시 시도하세요";
+"APBToygerFacade:退出"="종료";
+"APBToygerFacade:本次操作失败"="작동에 실패했습니다";
+"APBToygerFacade:刷脸失败次数过多,请稍后再试"="안면 인식이 연속으로 실행되었습니다. 나중에 다시 시도하세요";
+"APBToygerFacade:我知道了"="확인";
+"APBToygerFacade:进行闪屏检测"="스플래시 화면 감지가 시작됩니다";
+"APBToygerFacade:拍摄人像面"="얼굴의 측면 사진을 찍어주세요";
+"APBToygerFacade:拍摄要求"="사진 요구사항";
+"APBToygerFacade:证件人像面"="뒷면(얼굴 사진)";
+"APBToygerFacade:人像面"="뒷면";
+"APBToygerFacade:拍摄国徽面"="국장(national emblem)의 측면 사진을 찍어주세요";
+"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:立即开启"="OK";
+"APBToygerFacade:刷脸仅在iOS7及以上系统可用"="iOS 7 및 그 이상의 버전에서만 안면 인식이 지원됩니다";
+"APBToygerFacade:系统错误"="시스템 오류";
+"APBToygerFacade:提示:正对手机,更容易成功"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:登录中断"="로그온이 중단되었습니다";
+"APBToygerFacade:刷脸验证"="안면 인식을 통한 인증";
+"APBToygerFacade:请把脸放入框内保持不动"="얼굴이 프레임 안으로 들어오도록 위치한 다음 움직이지 말고 가만히 계십시오";
+"APBToygerFacade:蚂蚁佐罗提供技术支持"="";
+"APBToygerFacade:选择其他验证方式"="인증 방법을 변경합니다";
+"APBToygerFacade:拿起手机眨眨眼"="눈을 깜빡이세요";
+"APBToygerFacade:拿起手机向左摇头"="좌측으로 고개를 돌립니다";
+"APBToygerFacade:拿起手机向右摇头"="우측으로 고개를 돌립니다";
+"APBToygerFacade:首次使用,请开通刷脸"="안면 인식을 활성화하여 계속 진행합니다";
+"APBToygerFacade:立即开通"="활성화하기";
+"APBToygerFacade:下次再说"="나중에 하기";
+"APBToygerFacade:请把手机正对面部"="휴대전화를 정면으로 바라보세요";
+"APBToygerFacade:即将开始人脸检测"="안면 인식 시작";
+"APBToygerFacade:没有认出你"="안면 인식에 실패했습니다";
+"APBToygerFacade:未能识别人脸"="감지된 얼굴이 없습니다";
+"APBToygerFacade:人脸检测中"="얼굴 인식 중";

+ 64 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/zh-HK.strings

@@ -0,0 +1,64 @@
+/* 
+  zh-HK.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:刷脸失败次数过多,请稍后再试"="刷臉失敗次數過多,請稍後再試";

+ 66 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hans.strings

@@ -0,0 +1,66 @@
+/* 
+  zh-Hans.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:刷脸失败次数过多,请稍后再试"="刷脸失败次数过多,请稍后再试";

+ 66 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/APBToygerFacade.bundle/zh-Hant.strings

@@ -0,0 +1,66 @@
+/* 
+  zh-Hant.strings
+  APBToygerFacade
+
+  Created by shouyi.www on 2017/6/1.
+  Copyright © 2017年 Alipay. 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:刷脸失败次数过多,请稍后再试"="刷臉失敗次數過多,請稍後再試";

+ 76 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBaseTask.h

@@ -0,0 +1,76 @@
+//
+//  APFBaseTask.h
+//  APFaceDetectBiz
+//
+//  Created by 晗羽 on 8/25/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <Foundation/Foundation.h>
+#import <BioAuthEngine/IBioAuthTask.h>
+#import <BioAuthEngine/APBTaskContext.h>
+#import <BioAuthEngine/APBLogger.h>
+#import <BioAuthEngine/ZolozLogMonitor.h>
+#import <BioAuthEngine/AFEAlertView.h>
+#import <APBToygerFacade/APBToygerUtils.h>
+#import <APBToygerFacade/APBToygerRemoteConfig.h>
+#import <APBToygerFacade/APBToygerBehavlogManager.h>
+//#import "APBToygerDataCenter.h"
+#import <BioAuthEngine/BioAuthCommonSetting.h>
+#import <APBToygerFacade/APBToygerViewController.h>
+
+@class ZolozLogMonitor,APBToygerDataCenter;
+
+typedef void (^APFAlertExtraAction)();
+
+@interface APBToygerBaseTask : NSObject <IBioAuthTask>
+
+//协议定义的属性
+@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)ZolozLogMonitor *monitor;                        //埋点
+
+- (void)exitWithResult:(APBResultType)result failReason:(NSString *)failReason retCodeSub:(NSString *)retCodeSub retMessageSub:(NSString *)retMessageSub;
+
+/**
+ *  用户选择重试
+ */
+- (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

+ 44 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerBehavlogManager.h

@@ -0,0 +1,44 @@
+//
+//  APFBehavlogManager.h
+//  APFaceDetectBiz
+//
+//  Created by yukun.tyk on 9/8/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@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

+ 23 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryDetectTask.h

@@ -0,0 +1,23 @@
+//
+//  APFCherryDetectTask.h
+//  APBToygerFacade
+//
+//  Created by richard on 01/02/2018.
+//  Copyright © 2018 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <BioAuthEngine/AFEStatusBar.h>
+#import <APBToygerFacade/APBToygerDetectTask.h>
+#import <APBToygerFacade/APBToygerBaseTask.h>
+#import <BioAuthEngine/BioAuthEngine.h>
+#import <ZolozSensorServices/CameraService.h>
+#import <ZolozSensorServices/MotionService.h>
+
+
+
+@interface APBToygerCherryDetectTask : APBToygerBaseTask <ZolozCameraServiceDelegate, ZolozMotionServiceDelegate, IStatusBarDelegate,AFECircularViewProtocol>
+
+@property(nonatomic, assign)BOOL photinusFlags;
+
+@end

+ 26 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerCherryUploadTask.h

@@ -0,0 +1,26 @@
+//
+//  APFCherryUploadTask.h
+//  APFaceDetectBiz
+//
+//  Created by yukun.tyk on 28/11/2016.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <APBToygerFacade/APBToygerUploadTask.h>
+#import <APBToygerFacade/APBToygerDataCenter.h>
+
+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 <APBToygerDataCenterDelegate>
+
+- (APBToygerRemoteCommand)remoteCommandFromString:(NSString *)code;
+
+@end

+ 126 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerDataCenter.h

@@ -0,0 +1,126 @@
+//
+//  APFDataCenter.h
+//  APFaceDetectBiz
+//
+//  Created by yukun.tyk on 9/8/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <BioAuthEngine/BioAuthEngine.h>
+#import <ToygerService/ToygerService.h>
+#import <ToygerService/ToygerServiceInstance.h>
+//#import "APBToygerUploadContent.h"
+
+@class BisBehavTask;
+
+@protocol APBToygerDataCenterDelegate <NSObject>
+
+/**
+ *  收到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, weak) ToygerServiceInstance *togyerInstance;
+@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;
+
+/**
+ *  建立上传数据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 *)buildUploadRequestWithContent:(NSData *)data
+                                               cypherKey:(NSData *)cypherKeyData
+                                              invokeType:(NSString *)type
+                                                retryCnt:(NSInteger)retry;
+
+/**
+ *  设置delegate
+ */
+- (void)setDelegate:(id<APBToygerDataCenterDelegate>)delegate;
+
+@end

+ 22 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerDetectTask.h

@@ -0,0 +1,22 @@
+//
+//  APBToygerDetectTask.h
+//  APBToygerFacade
+//
+//  Created by Dan Cong on 29/1/2018.
+//  Copyright © 2018 Alipay. All rights reserved.
+//
+
+#import <APBToygerFacade/APBToygerBaseTask.h>
+
+/**
+ 检测基类,用于下沉多种UI(樱桃和加菲)下通用的逻辑
+ */
+@interface APBToygerDetectTask : APBToygerBaseTask
+
+- (void)_addDarkScreen;
+
+- (void)_showProgress:(CGFloat)progress;
+
+- (void)_showAlertViewBy:(NSDictionary *)alertParam;
+
+@end

+ 37 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacade.h

@@ -0,0 +1,37 @@
+//
+//  APFaceFacade.h
+//  APFaceDetectBiz
+//
+//  Created by 晗羽 on 8/25/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <BioAuthEngine/IBioAuthFactor.h>
+
+@interface APBToygerFacade : NSObject <IBioAuthFactor>
+
++(void)setTokenid:(NSString*)info;
++(NSString*)getTokenid;
+
+@end
+
+#import <APBToygerFacade/APBToygerCherryDetectTask.h>
+#import <APBToygerFacade/APBToygerBaseTask.h>
+#import <APBToygerFacade/APBToygerPresentTask.h>
+#import <APBToygerFacade/APBToygerCherryUploadTask.h>
+#import <APBToygerFacade/APBToygerUtils.h>
+#import <APBToygerFacade/APBToygerUploadTask.h>
+#import <APBToygerFacade/APBToygerFacadeDefine.h>
+#import <APBToygerFacade/APBToygerRemoteConfig.h>
+#import <APBToygerFacade/APBToygerBehavlogManager.h>
+#import <APBToygerFacade/APBToygerDataCenter.h>
+#import <APBToygerFacade/APBToygerViewController.h>
+#import <APBToygerFacade/APBToygerDetectTask.h>
+#import <UIKit/UIKit.h>
+
+//! Project version number for APBToygerFacade.
+FOUNDATION_EXPORT double APBToygerFacadeVersionNumber;
+
+//! Project version string for APBToygerFacade.
+FOUNDATION_EXPORT const unsigned char APBToygerFacadeVersionString[];

+ 130 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerFacadeDefine.h

@@ -0,0 +1,130 @@
+//
+//  APFCherryDefine.h
+//  APBToygerFacade
+//
+//  Created by shouyi.www on 27/02/2017.
+//  Copyright © 2017 Alipay. 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

+ 25 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerPresentTask.h

@@ -0,0 +1,25 @@
+//
+//  APFPresentTask.h
+//  APFaceDetectBiz
+//
+//  Created by 晗羽 on 8/26/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <APBToygerFacade/APBToygerBaseTask.h>
+#import <ZolozSensorServices/CameraService.h>
+/**
+ *  @author Skye Ying, 16-08-26 13:08:04
+ *
+ *  新建VC,启动整个view
+ */
+@interface APBToygerPresentTask : APBToygerBaseTask
+
+
+-(void) preCameraPresent;
+
+-(void) postCameraPresentwithCamera:(ZolozCameraService *) cameraService;
+
+-(void) presentAnimated: (BOOL)flag completion:(void (^ __nullable)(void))completion;
+
+@end

+ 168 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerRemoteConfig.h

@@ -0,0 +1,168 @@
+//
+//  APFRemoteConfig.h
+//  AppArch
+//
+//  Created by yukun.tyk on 8/29/16.
+//  Copyright © 2016 alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreGraphics/CGBase.h>
+
+
+@class APBToygerSceneEnv, APBToygerVideo, APFRemoteConfig, APBToygerCollect, APBDragonflyLivenessConfig,APBGeminiLivenessConfig;
+@class APBToygerNavigatePage, APBToygerAlgorithm, APBToygerTips;
+
+/**
+ *  协议配置
+ */
+@interface APBToygerRemoteConfig : NSObject
+
+@property(nonatomic, strong)APBToygerSceneEnv *sceneEnv;
+@property(nonatomic, strong)APBToygerNavigatePage *navi;
+@property(nonatomic, strong)APBToygerCollect *coll;
+@property (nonatomic, copy) NSDictionary *upload;
+@property (nonatomic, copy) NSDictionary *algorithm;
+@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;
+
++(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<NSString *> *actionMode;
+
++ (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_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
+
+

+ 27 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUploadTask.h

@@ -0,0 +1,27 @@
+//
+//  APBToygerUploadTask.h
+//  APBToygerFacade
+//
+//  Created by Dan Cong on 29/1/2018.
+//  Copyright © 2018 Alipay. All rights reserved.
+//
+
+#import <APBToygerFacade/APBToygerBaseTask.h>
+
+/**
+ 上传基类,用于下沉多种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

+ 104 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerUtils.h

@@ -0,0 +1,104 @@
+//
+//  APFUtils.h
+//  APFaceDetectBiz
+//
+//  Created by 晗羽 on 8/25/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <APBToygerFacade/APBToygerFacadeDefine.h>
+
+//#import "APFaceDetectBizFacade.h"
+
+//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;
+}
+
+//主线程同步操作
+#define SYNC_MAINTHREAD_BEGIN_APBT           [APBToygerUtils APBToygerMainThread:^{
+#define SYNC_MAINTHREAD_END_APBT             }];
+
+
+//从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);
+
+
+
+
+@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;
+
++ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize;
+
+@end
+
+
+
+

+ 13 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Headers/APBToygerViewController.h

@@ -0,0 +1,13 @@
+//
+//  APFViewController.h
+//  APFaceDetectBiz
+//
+//  Created by 晗羽 on 8/25/16.
+//  Copyright © 2016 Alipay. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface APBToygerViewController : UIViewController
+-(void)setStatusBarBackgroundColor:(UIColor *)color;
+@end

BIN
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Info.plist


+ 6 - 0
nativePlugins/AP-FaceDetectModule/ios/APBToygerFacade.framework/Modules/module.modulemap

@@ -0,0 +1,6 @@
+framework module APBToygerFacade {
+  umbrella header "APBToygerFacade.h"
+
+  export *
+  module * { export * }
+}

BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/.DS_Store


BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK


BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/APPSecuritySDK-Info.plist


+ 122 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDID.h

@@ -0,0 +1,122 @@
+//
+//  APDID.h
+//  APPSecuritySDK
+//
+//  Created by eric on 2021/2/7.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#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

+ 41 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDeviceColor.h

@@ -0,0 +1,41 @@
+//
+//  APDeviceColor.h
+//  APPSecuritySDK
+//
+//  Created by eric on 2021/2/25.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+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

+ 32 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APDynamic.h

@@ -0,0 +1,32 @@
+//
+//  APDynamic.h
+//  APPSecuritySDK-Sign
+//
+//  Created by eric on 2021/2/25.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+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

+ 21 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportRequest.h

@@ -0,0 +1,21 @@
+//
+//  APRiskConfigReportRequest.h
+//  APPSecuritySDK-Common
+//
+//  Created by eric on 2021/8/16.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+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

+ 19 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigReportResponse.h

@@ -0,0 +1,19 @@
+//
+//  APRiskConfigReportResponse.h
+//  APPSecuritySDK-Common
+//
+//  Created by eric on 2021/8/16.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface APRiskConfigReportResponse : NSObject
+
+@property(nonatomic, strong) NSDictionary* resultData;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 20 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskConfigServiceProtocol.h

@@ -0,0 +1,20 @@
+//
+//  APRiskConfigServiceProtocol.h
+//  APPSecuritySDKAdapter
+//
+//  Created by hongren on 2020/9/7.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+#import "APRiskSyncHandlerProtocol.h"
+
+@protocol APRiskConfigServiceProtocol <NSObject>
+
+@required
+- (NSString *)stringValueForKey:(NSString *)key;
+
+- (void)addConfigChangeListener:(id<APRiskSyncHandlerProtocol>)handler forKey:(NSString *)key;
+
+- (void)refreshConfig:(NSDictionary *)tConfigMap from:(NSString *)sourceType;
+
+@end
+

+ 14 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskFileUploadProtocol.h

@@ -0,0 +1,14 @@
+//
+//  APRiskFileUploadProtocol.h
+//  APPSecuritySDKAdapter
+//
+//  Created by hongren on 2020/9/7.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+@protocol APRiskFileUploadProtocol <NSObject>
+
+@required
+- (NSString *)uploadCustomFile:(NSString *)path;
+
+@end

+ 21 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskLoggerProtocol.h

@@ -0,0 +1,21 @@
+//
+//  APRiskLoggerProtocol.h
+//  APPSecuritySDK-Common
+//
+//  Created by eric on 2021/6/25.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol APRiskLoggerProtocol <NSObject>
+
+@required
+
+-(void)print:(NSString *)format, ...NS_REQUIRES_NIL_TERMINATION;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 30 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRPCProtocol.h

@@ -0,0 +1,30 @@
+//
+//  APRiskRPCProtocol.h
+//  APPSecuritySDKAdapter
+//
+//  Created by hongren on 2020/9/7.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+#import "APRiskReportRequest.h"
+#import "APRiskReportResponse.h"
+#import "APRiskRpcConfiguration.h"
+#import "APRiskConfigReportRequest.h"
+#import "APRiskConfigReportResponse.h"
+
+@protocol APRiskRPCProtocol <NSObject>
+//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

+ 29 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRemoteLoggerProtocol.h

@@ -0,0 +1,29 @@
+//
+//  APRiskRemoteLoggerProtocol.h
+//  APPSecuritySDKAdapter
+//
+//  Created by hongren on 2020/9/7.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+@protocol APRiskRemoteLoggerProtocol <NSObject>
+
+@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

+ 68 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportRequest.h

@@ -0,0 +1,68 @@
+//
+//  APRiskReportRequest.h
+//  APPSecuritySDK
+//
+//  Created by hongren on 2020/9/7.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@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

+ 65 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskReportResponse.h

@@ -0,0 +1,65 @@
+//
+//  APRiskReportResponse.h
+//  APPSecuritySDK
+//
+//  Created by hongren on 2020/9/7.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@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

+ 20 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskRpcConfiguration.h

@@ -0,0 +1,20 @@
+//
+//  APRiskRpcConfiguration.h
+//  APPSecuritySDKAdapter
+//
+//  Created by hongren on 2020/9/8.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+#import <Foundation/Foundation.h>
+
+@interface APRiskRpcConfiguration : NSObject
+// 超时时间
+@property(nonatomic, assign) int timeout;
+
+// 网关地址
+@property(nonatomic, strong) NSString* gatewayURL;
+
+// workspaceid和appid
+@property(nonatomic, strong) NSDictionary *headers;
+
+@end

+ 21 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncHandlerProtocol.h

@@ -0,0 +1,21 @@
+//
+//  APRiskSyncHandlerProtocol.h
+//  APPSecuritySDK
+//
+//  Created by eric on 2020/10/15.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol APRiskSyncHandlerProtocol <NSObject>
+
+@required
+
+-(void) handleWithBizType: (NSString *) bizType andData: (NSString *) data;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 28 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APRiskSyncServiceProtocol.h

@@ -0,0 +1,28 @@
+//
+//  APRiskSyncServiceProtocol.h
+//  APPSecuritySDK
+//
+//  Created by eric on 2020/10/15.
+//  Copyright © 2020 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#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 <NSObject>
+
+@required
+
+-(void) registerHandler:(id<APRiskSyncHandlerProtocol>)handler;
+-(void) registerSyncBiz;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 41 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecRDS.h

@@ -0,0 +1,41 @@
+//
+//  APSecRDS.h
+//  APSecRDS
+//
+//  Created by xingchen on 15/4/8.
+//  Copyright (c) 2015年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+@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

+ 48 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSecStore.h

@@ -0,0 +1,48 @@
+//
+//  APSecStore.h
+//  APPSecuritySDK
+//
+//  Created by eric on 2021/3/10.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+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

+ 113 - 0
nativePlugins/AP-FaceDetectModule/ios/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 <Foundation/Foundation.h>
+
+//初始化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

+ 44 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/APSign.h

@@ -0,0 +1,44 @@
+//
+//  APSign.h
+//  APPSecuritySDK-Sign
+//
+//  Created by eric on 2021/2/25.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@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;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 234 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSCommon.h

@@ -0,0 +1,234 @@
+//
+//  ASSCommon.h
+//  ae-security-sdk
+//
+//  Created by xingchen on 14/12/30.
+//  Copyright (c) 2014年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#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)ipQW983<ll>uitx,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

+ 37 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSDynamicManager.h

@@ -0,0 +1,37 @@
+//
+//  ASSDynamicManager.h
+//  APSecSecuritySDK
+//
+//  Created by msq on 2019/1/5.
+//  Copyright © 2019 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "APDynamicProtocol.h"
+
+@interface ASSDynamicManager : NSObject<APDynamicProtocol>
+
++ (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

+ 39 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSLogger.h

@@ -0,0 +1,39 @@
+//
+//  ASSLogger.h
+//  ae-security-sdk
+//
+//  Created by xingchen on 14/12/22.
+//  Copyright (c) 2014年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#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

+ 28 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureInfo.h

@@ -0,0 +1,28 @@
+//
+//  ASSSecureInfo.h
+//  APPSecuritySDK
+//
+//  Created by msq on 2018/7/9.
+//  Copyright © 2018年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#define  ASSSecureInfo      ASSSecureInfoCore
+
+@interface ASSSecureInfo : NSObject
+/**
+ *  重打包检测
+ *  返回值:YES表示个人签名;NO表示企业签名
+ *
+ */
++ (BOOL)hasPersonSign;
+
+/**
+ *  越狱检测
+ *  返回值:0表示非越狱;大于0其他值表示越狱
+ *
+ */
++ (uint32_t)checkJB;
+
+@end

+ 77 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSecureOpenSdk.h

@@ -0,0 +1,77 @@
+//
+//  ASSSecureOpenSdk.h
+//  APPSecuritySDK
+//
+//  Created by msq on 16/6/1.
+//  Copyright © 2016年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#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

+ 29 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSSgomInfoOpen.h

@@ -0,0 +1,29 @@
+//
+//  ASSSgomInfoOpen.h
+//  APPSecuritySDK
+//
+//  Created by hongren on 2021/8/16.
+//  Copyright © 2021 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+/**
+* 感知结果类。
+*/
+@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

+ 40 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/ASSTokenResult.h

@@ -0,0 +1,40 @@
+//
+//  ASSTokenResult.h
+//  APPSecuritySDK
+//
+//  Created by xingchen on 15/7/31.
+//  Copyright (c) 2015年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#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

+ 101 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Headers/AntSecurityManager.h

@@ -0,0 +1,101 @@
+//
+//  AntSecurityManager.h
+//  APPSecuritySDK
+//
+//  Created by msq on 2018/8/20.
+//  Copyright © 2018年 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+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

BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/Info.plist


BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeDirectory


BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements


BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeRequirements-1


+ 559 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeResources

@@ -0,0 +1,559 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>APPSecuritySDK-Info.plist</key>
+		<data>
+		Po//BA5tM1BE58borc33LNpqXyw=
+		</data>
+		<key>Headers/APDID.h</key>
+		<data>
+		YaNffM20hdQMiNpnIoEPIHF8o+A=
+		</data>
+		<key>Headers/APDeviceColor.h</key>
+		<data>
+		sqZwHJLZ8j2L+9pkCmTqWHaRPoo=
+		</data>
+		<key>Headers/APDynamic.h</key>
+		<data>
+		TBp9H7ZpcLh5hWGFJbObSnR3sSQ=
+		</data>
+		<key>Headers/APRiskConfigReportRequest.h</key>
+		<data>
+		5vPyFFL4v0DrNrSc35DrU0204M4=
+		</data>
+		<key>Headers/APRiskConfigReportResponse.h</key>
+		<data>
+		WODwFqptygg++OMfRxg5nJhV1tM=
+		</data>
+		<key>Headers/APRiskConfigServiceProtocol.h</key>
+		<data>
+		SJJczKTD81Beaeutnk5eh5yYk6s=
+		</data>
+		<key>Headers/APRiskFileUploadProtocol.h</key>
+		<data>
+		LLqKfgEm/gVHeBO+chBoA32ce6w=
+		</data>
+		<key>Headers/APRiskLoggerProtocol.h</key>
+		<data>
+		KaoFaIX0tcWToF7p3GQSPdm1fNI=
+		</data>
+		<key>Headers/APRiskRPCProtocol.h</key>
+		<data>
+		/OdHTVHBuEGxpO5dJbde5mXoV3Q=
+		</data>
+		<key>Headers/APRiskRemoteLoggerProtocol.h</key>
+		<data>
+		L9Ca3T+cAEzjRZxJTwHTaKytgQs=
+		</data>
+		<key>Headers/APRiskReportRequest.h</key>
+		<data>
+		p0bXoJMwS+46ZRrgLqdvbEFjAmI=
+		</data>
+		<key>Headers/APRiskReportResponse.h</key>
+		<data>
+		3pzJU3RgAQBnPg/R2tEjuGJLfvc=
+		</data>
+		<key>Headers/APRiskRpcConfiguration.h</key>
+		<data>
+		ypma2woz2iRq5pghoIkfFTGVm+8=
+		</data>
+		<key>Headers/APRiskSyncHandlerProtocol.h</key>
+		<data>
+		Vum7s9ObS3JRBHwQBG4BUdk6SN8=
+		</data>
+		<key>Headers/APRiskSyncServiceProtocol.h</key>
+		<data>
+		V0kCGcKZFd1gG+a2uuDzVkzj218=
+		</data>
+		<key>Headers/APSecRDS.h</key>
+		<data>
+		ZKM/B2Jcl/et+wyK8FepeewKCi8=
+		</data>
+		<key>Headers/APSecStore.h</key>
+		<data>
+		rEuJJetfP9Aj7GLQd5R3IgSZw/c=
+		</data>
+		<key>Headers/APSecureSdk.h</key>
+		<data>
+		ywtAfrae7i2g9jT6cXJt775tdng=
+		</data>
+		<key>Headers/APSign.h</key>
+		<data>
+		CT91fWy1ujcURx5MCI+z5gE/k4g=
+		</data>
+		<key>Headers/ASSCommon.h</key>
+		<data>
+		lrrlG7ZqNaz4ciXX/i5kj/NnG3A=
+		</data>
+		<key>Headers/ASSDynamicManager.h</key>
+		<data>
+		4Vk+CxCMPtR9isbOl7FqtE5jZuo=
+		</data>
+		<key>Headers/ASSLogger.h</key>
+		<data>
+		WvM9Fp3B5ZaI8D+rnHiUcBTxsdk=
+		</data>
+		<key>Headers/ASSSecureInfo.h</key>
+		<data>
+		C7uQ4VE5uwtF5ws1blMIKLKpfmI=
+		</data>
+		<key>Headers/ASSSecureOpenSdk.h</key>
+		<data>
+		KmdnMxfQN0cqG23Vuu092URfYCs=
+		</data>
+		<key>Headers/ASSSgomInfoOpen.h</key>
+		<data>
+		/AhECuNKFdWPVi1Q6oH8rMN66XM=
+		</data>
+		<key>Headers/ASSTokenResult.h</key>
+		<data>
+		X5xdpK/2lE52tWoVFEg/ZivE9UQ=
+		</data>
+		<key>Headers/AntSecurityManager.h</key>
+		<data>
+		w5tB5gEPNoVoucc6rkAlUnUhzV4=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		EQuDOuJUlBTAYEU14HIXVQ9I0Ig=
+		</data>
+		<key>en.lproj/InfoPlist.strings</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			zmV6UqBSo6r1NOz798vd5O4zTBA=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>module.map</key>
+		<data>
+		nJxa72k41Z2wyhSJqqJgUyYvSgA=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>APPSecuritySDK-Info.plist</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			Po//BA5tM1BE58borc33LNpqXyw=
+			</data>
+			<key>hash2</key>
+			<data>
+			B2XyqSNoreUIQ8uDojzpys2o9qi8XuLbypPrkCR+l8w=
+			</data>
+		</dict>
+		<key>Headers/APDID.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			YaNffM20hdQMiNpnIoEPIHF8o+A=
+			</data>
+			<key>hash2</key>
+			<data>
+			0nNHe4UB7qz6XFIk/QzRt79MyXYVEOukTfqa3YBJYbY=
+			</data>
+		</dict>
+		<key>Headers/APDeviceColor.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			sqZwHJLZ8j2L+9pkCmTqWHaRPoo=
+			</data>
+			<key>hash2</key>
+			<data>
+			c/mo/+N/KECjwx+fLMepqE+OqRtyfnn2hHshYhmO9IU=
+			</data>
+		</dict>
+		<key>Headers/APDynamic.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			TBp9H7ZpcLh5hWGFJbObSnR3sSQ=
+			</data>
+			<key>hash2</key>
+			<data>
+			tUrg2Z43qGA67I0mIGCqRWU6Gc2I9Yx9mn5e2mu9XQU=
+			</data>
+		</dict>
+		<key>Headers/APRiskConfigReportRequest.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			5vPyFFL4v0DrNrSc35DrU0204M4=
+			</data>
+			<key>hash2</key>
+			<data>
+			OMGRtuphIpujn+dr+tCsCMIUw+KV8WQ2zE+bsdDUVCw=
+			</data>
+		</dict>
+		<key>Headers/APRiskConfigReportResponse.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			WODwFqptygg++OMfRxg5nJhV1tM=
+			</data>
+			<key>hash2</key>
+			<data>
+			NvTd6RhL7dbwHKHDPiqBqkIc9aWUQLV5SwFFsEorcqg=
+			</data>
+		</dict>
+		<key>Headers/APRiskConfigServiceProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			SJJczKTD81Beaeutnk5eh5yYk6s=
+			</data>
+			<key>hash2</key>
+			<data>
+			RyMjAfHvdfRW5n+MDPHVlPZ6VM0Kr/T2A133j9ytwDQ=
+			</data>
+		</dict>
+		<key>Headers/APRiskFileUploadProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			LLqKfgEm/gVHeBO+chBoA32ce6w=
+			</data>
+			<key>hash2</key>
+			<data>
+			b2wnReDRJkaR7JxbLjLQXdNsfQbd29tkXtSh/5sjuGo=
+			</data>
+		</dict>
+		<key>Headers/APRiskLoggerProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			KaoFaIX0tcWToF7p3GQSPdm1fNI=
+			</data>
+			<key>hash2</key>
+			<data>
+			k2gnCevVtGYZ1cgzxh9FrAlnVnnDzD/3l8lIuDPVuDc=
+			</data>
+		</dict>
+		<key>Headers/APRiskRPCProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			/OdHTVHBuEGxpO5dJbde5mXoV3Q=
+			</data>
+			<key>hash2</key>
+			<data>
+			1v7HTHTTRf+k61+lf5L1URwSh/MFv72gdnHxTodGrJA=
+			</data>
+		</dict>
+		<key>Headers/APRiskRemoteLoggerProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			L9Ca3T+cAEzjRZxJTwHTaKytgQs=
+			</data>
+			<key>hash2</key>
+			<data>
+			BmYD66C5squNiQNaLya1JrWDDCJ9V8w6C+AVGpr8QF4=
+			</data>
+		</dict>
+		<key>Headers/APRiskReportRequest.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			p0bXoJMwS+46ZRrgLqdvbEFjAmI=
+			</data>
+			<key>hash2</key>
+			<data>
+			XH1Y2gtlfBaBoOANsxALY7w6fBn81SMhxHKHNVbEFcQ=
+			</data>
+		</dict>
+		<key>Headers/APRiskReportResponse.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			3pzJU3RgAQBnPg/R2tEjuGJLfvc=
+			</data>
+			<key>hash2</key>
+			<data>
+			PAxPqKwwsKVZNGSWI01WquBx9DZcg0tTsnYe8/UwlAM=
+			</data>
+		</dict>
+		<key>Headers/APRiskRpcConfiguration.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			ypma2woz2iRq5pghoIkfFTGVm+8=
+			</data>
+			<key>hash2</key>
+			<data>
+			xucoo82E5P13oVpu65VVAqbLK11kcVmtbwRCVlEQI5E=
+			</data>
+		</dict>
+		<key>Headers/APRiskSyncHandlerProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			Vum7s9ObS3JRBHwQBG4BUdk6SN8=
+			</data>
+			<key>hash2</key>
+			<data>
+			4wA6oLvZ4U8u4Ff5SSuprJISDBd1X+Zx5MqlV0aGoik=
+			</data>
+		</dict>
+		<key>Headers/APRiskSyncServiceProtocol.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			V0kCGcKZFd1gG+a2uuDzVkzj218=
+			</data>
+			<key>hash2</key>
+			<data>
+			oSMsgkxXfg8rdX0ZWmUqRmlTF1fgLfINWgGqYcBeMfI=
+			</data>
+		</dict>
+		<key>Headers/APSecRDS.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			ZKM/B2Jcl/et+wyK8FepeewKCi8=
+			</data>
+			<key>hash2</key>
+			<data>
+			N3/Ych+ScRXiaFWFlsCWXqyGbWdqHhBCHpyp0sQFYPc=
+			</data>
+		</dict>
+		<key>Headers/APSecStore.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			rEuJJetfP9Aj7GLQd5R3IgSZw/c=
+			</data>
+			<key>hash2</key>
+			<data>
+			R7UHcZTpvTV6HWYJm1bEji6L2ry1wSoCprSTRHEqP0M=
+			</data>
+		</dict>
+		<key>Headers/APSecureSdk.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			ywtAfrae7i2g9jT6cXJt775tdng=
+			</data>
+			<key>hash2</key>
+			<data>
+			S8aripi9OWRTxz5CBuWeYoSqMhcgLX2GUUT5Ihnwd8o=
+			</data>
+		</dict>
+		<key>Headers/APSign.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			CT91fWy1ujcURx5MCI+z5gE/k4g=
+			</data>
+			<key>hash2</key>
+			<data>
+			v0KnicXX1RLwYDqviLauQeFM06EfCDH9Apx4SpVPbW8=
+			</data>
+		</dict>
+		<key>Headers/ASSCommon.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			lrrlG7ZqNaz4ciXX/i5kj/NnG3A=
+			</data>
+			<key>hash2</key>
+			<data>
+			adc/BhjRDcEbnGdNnfGBsTu2jTNZbT2Csi+oHGqx2oY=
+			</data>
+		</dict>
+		<key>Headers/ASSDynamicManager.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			4Vk+CxCMPtR9isbOl7FqtE5jZuo=
+			</data>
+			<key>hash2</key>
+			<data>
+			lMtcIcfdivy04/miLJ4swfqpcY6/+5XYbnQMhMiToRw=
+			</data>
+		</dict>
+		<key>Headers/ASSLogger.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			WvM9Fp3B5ZaI8D+rnHiUcBTxsdk=
+			</data>
+			<key>hash2</key>
+			<data>
+			JNJIdG9385MDYXjB+F1Mj1NXHTx8faIKEft1KjkceeI=
+			</data>
+		</dict>
+		<key>Headers/ASSSecureInfo.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			C7uQ4VE5uwtF5ws1blMIKLKpfmI=
+			</data>
+			<key>hash2</key>
+			<data>
+			VS1+TQV7GpG7Z2dfhSkfmGi3KjE6cGBUxof1/s+bLPo=
+			</data>
+		</dict>
+		<key>Headers/ASSSecureOpenSdk.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			KmdnMxfQN0cqG23Vuu092URfYCs=
+			</data>
+			<key>hash2</key>
+			<data>
+			Xq/bbsjzFy4rMCr4osH17Nif1NZQqxmWKvgRHq4THr0=
+			</data>
+		</dict>
+		<key>Headers/ASSSgomInfoOpen.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			/AhECuNKFdWPVi1Q6oH8rMN66XM=
+			</data>
+			<key>hash2</key>
+			<data>
+			j8Lnl+QqgD+rwdHhl7yEh7Op76XuicUYflL4/LNrFXE=
+			</data>
+		</dict>
+		<key>Headers/ASSTokenResult.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			X5xdpK/2lE52tWoVFEg/ZivE9UQ=
+			</data>
+			<key>hash2</key>
+			<data>
+			7O9oGJk95fMdxJyn2mOlI1Iqe1vPcmPRvP5Rgj8J9zk=
+			</data>
+		</dict>
+		<key>Headers/AntSecurityManager.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			w5tB5gEPNoVoucc6rkAlUnUhzV4=
+			</data>
+			<key>hash2</key>
+			<data>
+			5QS2NUN5NsRJ5dYsLrHlgLY/GLXNwZDSsR5gN4lin6k=
+			</data>
+		</dict>
+		<key>en.lproj/InfoPlist.strings</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			zmV6UqBSo6r1NOz798vd5O4zTBA=
+			</data>
+			<key>hash2</key>
+			<data>
+			kmHsztpgjvF0JW5f3HdMHm49z1M0CcG8OT1JDQHHE/E=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>module.map</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			nJxa72k41Z2wyhSJqqJgUyYvSgA=
+			</data>
+			<key>hash2</key>
+			<data>
+			XRW9liRaYf8O2c1bSPVShfimQ3Yfcd1SbIKvIE+sv7c=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 0 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/_CodeSignature/CodeSignature


BIN
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/en.lproj/InfoPlist.strings


+ 9 - 0
nativePlugins/AP-FaceDetectModule/ios/APPSecuritySDK.framework/module.map

@@ -0,0 +1,9 @@
+module APPSecuritySDK {
+    header "Headers/APSecureSdk.h"
+    header "Headers/APDID.h"
+    header "Headers/APDeviceColor.h"
+    header "Headers/APSign.h"
+    header "Headers/APDynamic.h"
+    header "Headers/ASSTokenResult.h"
+    export *
+}

BIN
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/.DS_Store


BIN
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/AliyunIdentityManager


+ 102 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/AliyunIdentityManager.h

@@ -0,0 +1,102 @@
+//
+//  ZIMIdentityManager.h
+//  AliyunIdentityManager
+//
+//  Created by richard on 31/10/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+//version 1.5.1
+
+//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 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;
+@class ZIMResponse;
+
+
+
+typedef void (^ZIMCallback)(ZIMResponse *response);
+typedef void (^ZIMQuitCallback)(BOOL succes, NSDictionary * reason);
+typedef void(^ZIMMsgProxyHandler)(NSDictionary *params);
+
+//msg字典中{@"requestData",""}的字符串是ZimValidateRequest对象
+//PB格式下:是ZimValidateRequest对象bytes内容做base64生成的字符串。
+//JSON格式下,将ZimValidateRequest对象序列化成json字符串,然后base64生成的字符串
+
+@protocol ZIMMsgProxyDelegate <NSObject>
+- (void)didReceivedMsg:(NSDictionary *)msg withHandler:(ZIMMsgProxyHandler)handler;
+@end
+
+
+@interface AliyunIdentityManager : NSObject
+
+
+@property(nonatomic, weak)id<ZIMMsgProxyDelegate> delegate;
+
+
++ (AliyunIdentityManager *)sharedInstance;
+
+- (void)verifyWith:(NSString *)zimId
+         extParams:(NSDictionary *)params
+      onCompletion:(ZIMCallback)callback;
+
+- (NSArray *)getlogArray;
+
+
+- (void)quit:(NSDictionary *) params
+onCompletion:(ZIMQuitCallback)callback;
+
++ (NSDictionary *)getMetaInfo;
+
++ (NSString *)version;
+
++ (NSString *)sdkVersion;
+
++ (NSString *)protocolVersion;
+
+#ifdef FEATURE_LOCAL_MATCH
++ (void)processValidateResult:(BOOL) result forUser:(NSString *) userid andzimID:(NSString *) zimID;
+
++ (void)processValidateResult:(BOOL) result forUser:(NSString *) userid;
+#endif
+
+-(void) sendlog:(NSDictionary*)paramDic withSeedID:(NSString*)seedId;
+
+@end
+
+
+#import <AliyunIdentityManager/PoPGatewayNetwork.h>
+#import <AliyunIdentityManager/OATechGatewayNetwork.h>
+#import <AliyunIdentityManager/AliyunIdentityPublicApi.h>
+#import <AliyunIdentityManager/ZimRpcManager.h>
+#import <AliyunIdentityManager/ZimJSApiHandler.h>
+#import <AliyunIdentityManager/AliyunSdk.h>
+#import <AliyunIdentityManager/ZimInitRequest.h>
+#import <AliyunIdentityManager/ZimValidateRequest.h>
+#import <AliyunIdentityManager/ZimValidateResponse.h>
+#import <AliyunIdentityManager/ZIMResponse.h>
+#import <UIKit/UIKit.h>
+
+//! Project version number for AliyunIdentityManager.
+FOUNDATION_EXPORT double AliyunIdentityManagerVersionNumber;
+
+//! Project version string for AliyunIdentityManager.
+FOUNDATION_EXPORT const unsigned char AliyunIdentityManagerVersionString[];

+ 16 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/AliyunIdentityPublicApi.h

@@ -0,0 +1,16 @@
+//
+//  AliyunIdentityPublicApi.h
+//  ZolozIdentityManager
+//
+//  Created by richard on 22/11/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#ifndef ZolozIdentityPublicApi_h
+#define ZolozIdentityPublicApi_h
+
+#import <AliyunIdentityManager/AliyunIdentityManager.h>
+#import <AliyunIdentityManager/ZIMResponse.h>
+#import <AliyunIdentityManager/AliyunSdk.h>
+
+#endif /* ZolozIdentityPublicApi_h */

+ 42 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/AliyunSdk.h

@@ -0,0 +1,42 @@
+//
+//  ZolozSdk.h
+//  ZolozIdentityManager
+//
+//  Created by richard on 22/11/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#define NETWORKFORPOP
+
+@interface AliyunSdk : NSObject
+
+/*初始化接口,尽可能早调用
+ */
++ (void)init;
+
+/* IPV6的初始化接口 只有你的网络环境强制要求是IPV6的时候,才调用initIPv6。
+ */
++ (void)initIPv6;
+
+/*同步获取设备指纹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

+ 23 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/OATechGatewayNetwork.h

@@ -0,0 +1,23 @@
+//
+//  PoPGatewayNetwork.h
+//  ZimDemo
+//
+//  Created by sanyuan.he on 2020/1/20.
+//  Copyright © 2020 com.alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface OATechGatewayNetwork : NSObject
+
+
+-(void)bizSendContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock;
+
+-(void)verifySendContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock;
+
+-(void)sendInitFaceVerifyContent:(NSDictionary*)serviceParameters keyName:(NSString*)name initKey:(NSString *)initKey initSimpleValue:(NSString *)initSimpleValue completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock withEndPoint:(NSString*)point;
+@end
+
+NS_ASSUME_NONNULL_END

+ 26 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/PoPGatewayNetwork.h

@@ -0,0 +1,26 @@
+//
+//  PoPGatewayNetwork.h
+//  ZimDemo
+//
+//  Created by sanyuan.he on 2020/1/20.
+//  Copyright © 2020 com.alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface PoPGatewayNetwork : NSObject
+
+-(void)bizSendContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock;
+
+-(void)verifySendContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock;
+
+
+-(void)sendInitFaceVerifyContent:(NSDictionary*)serviceParameters keyName:(NSString*)name initKey:(NSString *)initKey initSimpleValue:(NSString *)initSimpleValue completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock;
+
+-(void)sendOCRContent:(NSDictionary*)serviceParameters completionBlock:(void (^) (BOOL success,NSURLResponse *response, NSData *data))completionBlock;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 46 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZIMResponse.h

@@ -0,0 +1,46 @@
+//
+//  ZIMResponse.h
+//  ZolozIdentityManager
+//
+//  Created by yukun.tyk on 28/06/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+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

+ 47 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimInitRequest.h

@@ -0,0 +1,47 @@
+//
+//  ZimInitRequest.h
+//  ZolozIdentityManager
+//
+//  Created by richard on 27/08/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#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 ;
+@end
+
+
+#else
+#import <APProtocolBuffers/ProtocolBuffers.h>
+
+@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

+ 46 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimInitResponse.h

@@ -0,0 +1,46 @@
+//
+//  ZimInitResponse.h
+//  ZolozIdentityManager
+//
+//  Created by richard on 27/08/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@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 ;
++ (Class)extParamsElementClass;
+@end
+
+#else
+#import <APProtocolBuffers/ProtocolBuffers.h>
+
+@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

+ 14 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimJSApiHandler.h

@@ -0,0 +1,14 @@
+//
+//  ZimJSApiAdapter.h
+//  ZolozIdentityManager
+//
+//  Created by 晗羽 on 25/07/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+typedef void (^ZIMJSApilCallbackBlock)(id responseData);
+
+@interface ZimJSApiHandler: NSObject
+- (void)handler:(NSDictionary *)data contextInfo:(NSDictionary *)context callback:(ZIMJSApilCallbackBlock)callbac;
+@end

+ 68 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimRpcManager.h

@@ -0,0 +1,68 @@
+//
+//  ZIMRpcManager.h
+//  ZolozIdentityManager
+//
+//  Created by richard on 26/02/2018.
+//  Copyright © 2018 com.alipay.iphoneclient.zoloz. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <AliyunIdentityManager/ZimInitRequest.h>
+#import <AliyunIdentityManager/ZimValidateRequest.h>
+#import <BioAuthEngine/APBGatewayFacade.h>
+/**
+ *  rpc结果回调
+ *
+ *  @param success 网络交互是否成功(不代表服务端返回的结果)
+ *  @param result  服务端返回的结果
+ */
+typedef void (^rpcCompletionBlock)(BOOL success, NSObject *result);
+
+
+
+@interface ZimRpcManager : NSObject
+
+@property(nonatomic, strong) APBGatewayFacade * gatewayFacade;
+
+/**
+ /为了兼容旧版本,这是过度时期的产物,后面会删除该函数
+ */
+
+- (void)doInitRequest:(ZimInitRequest * )request withcompletionBlock:(rpcCompletionBlock)blk;
+
+/**
+ /为了兼容旧版本,这是过度时期的产物,后面会删除该函数
+ */
+
+- (void)doValidateRequest:(ZimValidateRequest *)request withcompletionBlock:(rpcCompletionBlock)blk;
+
+//代理模式
+- (void)doValidateRequetViaDelegate:(ZimValidateRequest * )request withcompletionBlock:(rpcCompletionBlock)blk;
+
+
+/**
+ *  zim init request
+ *
+ *  @param request 初始化请求
+ *  @param blk     网络请求结果回调处理,result为ZimInitResponse
+ */
+- (void)doFastUploadInitRequest:(ZimInitRequest * )request withcompletionBlock:(rpcCompletionBlock)blk;
+/**
+ *  zim validate request
+ *
+ *  @param request validate请求
+ *  @param blk     网络请求结果回调处理,result为ZimValidateResponse
+ */
+- (void)doFastUploadValidateRequest:(ZimValidateRequest * )request withcompletionBlock:(rpcCompletionBlock)blk;
+
+
+//OCR接口
+- (void) doSendOCRContent:(NSString*)certifyId idSide:(NSString*)side withImage:(NSData*)imageData withcompletionBlock:(rpcCompletionBlock)blk;
+
+// SMS 请求接口
+- (void)getSMSCode:(NSDictionary*)serviceParameters completionBlock:(rpcCompletionBlock)blk;
+
+// SMS 验证接口
+- (void)verifySMSCode:(NSDictionary*)serviceParameters completionBlock:(rpcCompletionBlock)blk;
+
+@end

+ 40 - 0
nativePlugins/AP-FaceDetectModule/ios/AliyunIdentityManager.framework/Headers/ZimValidateRequest.h

@@ -0,0 +1,40 @@
+//
+//  ZimValidateRequest.h
+//  AliyunIdentityManager
+//
+//  Created by richard on 27/08/2017.
+//  Copyright © 2017 Alipay. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@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;
+
++ (Class)bizDataElementClass;
+@end
+
+#else
+
+#import <APProtocolBuffers/ProtocolBuffers.h>
+
+@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

Some files were not shown because too many files changed in this diff