更新记录

3.0.3(2024-02-02)

1、修复IOS提交到App Store时的相关问题; 2、注意:插件采用 OC & Swift 混编,Uniapp 要求必须静态编译Swift库,否则会云打包失败。但静态编译Swift库会造成插件大小较大。如有介意,请勿使用。

3.0.2(2024-01-24)

1、更新部分问题。

3.0.0(2023-12-04)

Version 3.0.0

1、新增大量配置项,详见使用说明 2、Android端修改为沉浸式状态栏,效果同IOS一致 3、通过配置项,支持拍照后,无需确认,直接返回

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:12 - 17

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


PhotoIDCard

插件内共 2 个方法

ios 12.0

- (void)takePortrait:(NSDictionary *)options callback:(UniModuleKeepAliveCallback)callback { …… }

异步方法,调用该方法打开原生页面,接入后置摄像头输入流,在原生页面中操作点击「完成」按钮后,保存按照取景框截取的 身份证人像面图片到沙盒 并返回图片本地地址

options 配置项

  showLoading : Bool  
    默认 false ,传入 true 可在拍照的时候展示Loading界面  

  foregroundColor : String  
    默认 #ffffffff ,传入 argb hex color 格式的字符串,可实现更改控件前景颜色(包括 页面标题文字颜色、页面标题栏返回按钮颜色、拍照框颜色、拍照提示文字颜色、重拍、拍照、完成按钮颜色)  

  maskColor : String  
    默认 #af000000 ,传入 argb hex color 格式的字符串,可实现更改页面整体覆盖面颜色  

  title : String  
    默认 身份证人像面拍照 ,传入字符串可更改页面标题 

  coverImage : String  
    默认 身份证人像图片 ,传入图片路径 如:static/certHead.png 即可。不传该参数,则展示默认图片,该参数传 空字符串,可去除默认图片  

  leftTop : String  
    默认 nil ,传入图片路径 如:static/leftTop.png 可在拍照框左上角显示对应图片  

  leftBottom : String  
    默认 nil ,传入图片路径 如:static/leftBottom.png 可在拍照框左下角显示对应图片  

  rightTop : String  
    默认 nil ,传入图片路径 如:static/rightTop.png 可在拍照框右上角显示对应图片  

  rightBottom : String  
    默认 nil ,传入图片路径 如:static/rightBottom.png 可在拍照框右下角显示对应图片  

  coverBorderWidth : Double  
    默认 1.0 拍照框边框宽度,传入 0.0 ,可去除边框,传入 其他数值,可设置拍照边框宽度  
    注意:必须传入Double数值,传入Int无效,可取值范围为:[0, 3]  

  coverCornerRadius : Double  
    默认 12.0 拍照边框圆角,传入 0.0 ,可去除边框圆角  
    注意:必须传入Double数值,传入Int无效

  tip : String  
    默认 对齐身份证人像面并点击拍照 ,传入字符串可更改拍照提示,限制展示2行,文字过长会在尾部展示省略号 ……   

  retry : String  
    默认 重拍 ,传入字符串可更改按钮文字,限制2个字符  

  done : String  
    默认 完成 ,传入字符串可更改按钮文字,限制2个字符  

  returnImmediately : Bool  
    默认 false ,传入 true 可以在拍照完成,裁剪、保存结束后,立即返回,不再展示重拍 和 完成按钮  

  lightStatusBar : Bool
    默认 true ,传入 false 可以展示黑色文字状态栏,传入 true 可以展示白色文字状态栏

- (void)takeEmblem:(NSDictionary *)options callback:(UniModuleKeepAliveCallback)callback { …… }

异步方法,调用该方法打开原生页面,接入后置摄像头输入流,在原生页面中操作点击「完成」按钮后,保存按照取景框截取的 身份证国徽面图片到沙盒 并返回图片本地地址

options 配置项

  showLoading : Bool  
    默认 false ,传入 true 可在拍照的时候展示Loading界面  

  foregroundColor : String  
    默认 #ffffffff ,传入 argb hex color 格式的字符串,可实现更改控件前景颜色(包括 页面标题文字颜色、页面标题栏返回按钮颜色、拍照框颜色、拍照提示文字颜色、重拍、拍照、完成按钮颜色)  

  maskColor : String  
    默认 #af000000 ,传入 argb hex color 格式的字符串,可实现更改页面整体覆盖面颜色  

  title : String  
    默认 身份证国徽面拍照 ,传入字符串可更改页面标题 

  coverImage : String  
    默认 身份证国徽图片 ,传入图片路径 如:static/certHead.png 即可。不传该参数,则展示默认图片,该参数传 空字符串,可去除默认图片  

  leftTop : String  
    默认 nil ,传入图片路径 如:static/leftTop.png 可在拍照框左上角显示对应图片  

  leftBottom : String  
    默认 nil ,传入图片路径 如:static/leftBottom.png 可在拍照框左下角显示对应图片  

  rightTop : String  
    默认 nil ,传入图片路径 如:static/rightTop.png 可在拍照框右上角显示对应图片  

  rightBottom : String  
    默认 nil ,传入图片路径 如:static/rightBottom.png 可在拍照框右下角显示对应图片  

  coverBorderWidth : Double  
    默认 1.0 拍照框边框宽度,传入 0.0 ,可去除边框,传入 其他数值,可设置拍照边框宽度  
    注意:必须传入Double数值,传入Int无效,可取值范围为:[0, 3]  

  coverCornerRadius : Double  
    默认 12.0 拍照边框圆角,传入 0.0 ,可去除边框圆角  
    注意:必须传入Double数值,传入Int无效  

  tip : String  
    默认 对齐身份证国徽面并点击拍照 ,传入字符串可更改拍照提示,限制展示2行,文字过长会在尾部展示省略号 ……   

  retry : String  
    默认 重拍 ,传入字符串可更改按钮文字,限制2个字符  

  done : String  
    默认 完成 ,传入字符串可更改按钮文字,限制2个字符  

  returnImmediately : Bool  
    默认 false ,传入 true 可以在拍照完成,裁剪、保存结束后,立即返回,不再展示重拍 和 完成按钮  

  lightStatusBar : Bool
    默认 true ,传入 false 可以展示黑色文字的状态栏,传入 true 可以展示白色文字的状态栏

android 5.0

minSDK 21

fun takePortrait(options: JSONObject, callback: UniJSCallback?) { …… }

异步方法,调用该方法打开原生页面,接入后置摄像头输入流,在原生页面中操作点击「完成」按钮后,保存按照取景框截取的 身份证人像面图片到手机 并返回图片本地地址

options 配置项同IOS版本一致

注意:插件最低支持 Android 5.0,但在 Android 6.0 及以上版本,才支持配置 lightStatusBar

fun takeEmblem(options: JSONObject, callback: UniJSCallback?) { …… }

异步方法,调用该方法打开原生页面,接入后置摄像头输入流,在原生页面中操作点击「完成」按钮后,保存按照取景框截取的 身份证国徽面图片到手机 并返回图片本地地址

options 配置项同IOS版本一致

注意:插件最低支持 Android 5.0,但在 Android 6.0 及以上版本,才支持配置 lightStatusBar

调用示例

VUE 拍摄并截取 身份证人像面
const PhotoIDCard = uni.requireNativePlugin('GrsisFee-PhotoIDCard-MainModule');

PhotoIDCard.takePortrait({
              showLoading: true
            }, (res) => {
              if (res) {
                console.log('身份证人像面图片:',res)
              }
            });
VUE 拍摄并截取 身份证国徽面
const PhotoIDCard = uni.requireNativePlugin('GrsisFee-PhotoIDCard-MainModule');

PhotoIDCard.takeEmblem({}, (res) => {
              if (res) {
                console.log('身份证国徽面图片:',res)
              }
            });

隐私、权限声明

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

IOS Privacy - Camera Usage Description Android android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE android.permission.MANAGE_EXTERNAL_STORAGE android.permission.CAMERA

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

插件不采集任何数据

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

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