uniapp 身份证拍照插件「PhotoIDCard」3.0.0 来了

343 阅读5分钟

PhotoIDCard

最便宜、最简单的 uniapp 身份证拍照插件「PhotoIDCard」奉上!~(功能版本持续更新中)

插件市场链接:ext.dcloud.net.cn/plugin?id=1…

作者QQ: 549701355

VERSION: 3.0.0

插件内共 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无效  

  coverCornerRadius : Double  
    默认 12.0 拍照边框圆角,传入 0.0 ,可去除边框圆角  
    注意:必须传入Double数值,传入Int无效,可取值范围为:[0, 3]

  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)
              }
            });