更新记录

1.0.1(2023-06-08)

e签宝刷脸 uni-app插件发布


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 9.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:11 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


e签宝刷脸 uniapp插件使用介绍

引入方式

  • 本地插件
  • 云插件

配置

  • Scheme 配置

mainifest.json > App常用其它设置 > iOS设置 > UrlSchemes 输入自己的的shceme

  • 应用白名单配置(用于打开支付宝)

mainifest.json > App常用其它设置 > iOS设置 > 应用访问白名单 请输入alipays,alipay 保证可以正常跳转支付宝

  • iOS 资源文件配置
  1. 请下载好插件,并在ios目录中拿到 EsignSDK.bundle
  2. 在uniapp中创建 nativeResources 目录,在其下创建ios目录,在ios下边继续创建Resources目录,把EsignSDK.bundle放到该目录下
  • 权限相关配置

请参考最下边的权限列表

uniapp工程中使用

1. 引入插件

const esignFaceIdPlugin = uni.requireNativePlugin('esign-faceId'); 

2. 初始化

esignFaceIdPlugin.initConfig({
    schemes: [
        'esign://demo/realBack',   // 需要拦截的scheme链接(注意换成自己的scheme)
        'esign://demo/signBack', 
    ],
    closeColor: '#E63740',            // 非必传
})
  1. 说明: 初始化方法
  2. schemes: 用于支付宝刷脸成功后唤起App并做拦截处理
  3. closeColor 原生navigationBar 关闭按钮文字颜色

3. 打开原生webview

esignFaceIdPlugin.router( { 'path':'toH5', 'params':{ url } }, (res) => {
    console.log('res', res);
})
  1. 说明:刷脸SDK处理e签宝h5入口
  2. 参数:path string类型、必填、固定为toH5
  3. 参数:url string类型、必填、h5页面链接

4. 接收关键节点事件通知

var globalEvent = uni.requireNativePlugin('globalEvent');
globalEvent.addEventListener('notification', function(e) {
    console.log('myEvent' + JSON.stringify(e));
});
  1. 说明:业务节点回调(签署成功、实名成功、意愿成功)
  2. res 实名成功 { key: realName, res: success }
  3. res 意愿完成 { key: will, res: success }
  4. res 签署完成 { key: sign, res: success }

配置介绍

1. EsignSDK.bundle

EsignSDK.bundle 在iOS中包含图片资源要放到nativeResources供插件访问

2. iOS上使用到的系统权限

<!-- 相机 --> 
<key>NSCameraUsageDescription</key> 
<string>需要您的同意,APP才能访问相机</string> 
<!-- 麦克风 --> 
<key>NSMicrophoneUsageDescription</key> 
<string>需要您的同意,APP才能访问麦克风</string> 
<!-- 相册 --> 
<key>NSPhotoLibraryUsageDescription</key> 
<string>需要您的同意,APP才能访问相册</string> 
<!-- 网络服务 模拟环境中允许http -->  
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

3. android上权限

 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.CAMERA" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-feature android:name="android.hardware.camera" />
 <uses-feature android:name="android.hardware.camera.autofocus" />
 <uses-permission android:name="android.permission.VIBRATE" />
 <uses-permission android:name="android.permission.FLASHLIGHT" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <!-- 允许访问Wi-Fi网络状态信息 -->
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <!-- 允许获取Wi-Fi网络状态改变信息 -->
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 <!-- 访问网络 -->
 <uses-permission android:name="android.permission.INTERNET" />
 <!-- 读取手机状态 -->
 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 <!-- SD 卡读写权限 -->
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 <!-- 相机权限 -->
  <uses-permission android:name="android.permission.CAMERA"/>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

iOS: <!-- 相机 --> <key>NSCameraUsageDescription</key> <string>需要您的同意,APP才能访问相机</string> <!-- 麦克风 --> <key>NSMicrophoneUsageDescription</key> <string>需要您的同意,APP才能访问麦克风</string> <!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>需要您的同意,APP才能访问相册</string> <!-- 网络服务 模拟环境中允许http --> <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> android: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 允许访问Wi-Fi网络状态信息 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许获取Wi-Fi网络状态改变信息 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 访问网络 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 读取手机状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- SD 卡读写权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 相机权限 --> <uses-permission android:name="android.permission.CAMERA"/>

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问