更新记录

1.0.3(2022-04-22)

解决地址选择没有显示附近地址列表。

1.0.2(2022-03-31)

更新文档


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.1 - 11.0 armeabi-v7a:支持,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 15

原生插件通用使用流程:

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



    <view class="container">
        <u-button @click="startRecognize('IDCardFront')">身份证正面</u-button>
        <u-button @click="startRecognize('IDCardBack')">身份证背面</u-button>
        <u-button @click="startRecognize('BankCard')">银行卡</u-button>
        <u-button @click="startRecognize('LicensePlate')">车牌</u-button>
        <u-button @click="startRecognize('BusinessLicense')">营业执照</u-button>
        <u-button @click="startRecognize('DrivingLicense')">行驶证</u-button>
        <u-button @click="startRecognize('VehicleLicense')">驾驶证</u-button>
        <u-button @click="update">升级</u-button>
        <u-button @click="openMap">地图</u-button>
        <u-button @click="searchLocation">地址</u-button>
        <u-button @click="openChooseCity">地区</u-button>
        <u-button @click="showModal('')">无标题弹框</u-button>
        <u-button @click="showModal('提示')">有标题弹框</u-button>
    </view>

            const extPlugin = uni.requireNativePlugin("qnx-extPlugin")

            startRecognize(maskType){
                // #ifdef APP-PLUS
                extPlugin.startRecognize({maskType: maskType}, res => {
                    console.log('结果', JSON.stringify(res));
                    this.$utils.toast(JSON.stringify(res))
                });
                // #endif

                const IDCardFront = {
                    code: '0000', //执行状态码,0000:正常,0001:本地执行异常,0002:服务器端返回异常,0003:用户取消了操作,0004:未授予权限
                    msg: '执行结果描述',
                    data: {
                        name:"李...", //姓名
                        gender:"男",  //性别
                        nationality:"汉", //民族
                        birthDay:"19930504", //生日
                        idNumber:"6000000000000000", //身份证号码
                        address:"广东省广州市......", //住址
                    },
                    imageBase64: '' //拍摄/选择的照片(B64编码的字符串)
                }
                const IDCardBack = {
                    code: '0000', //执行状态码,0000:正常,0001:本地执行异常,0002:服务器端返回异常,0003:用户取消了操作,0004:未授予权限
                    msg: '执行结果描述',
                    data: {
                        issuedBy:"北京海淀公安局", //签发机构
                        validDateStart:"2017.09.26", //开始有效日期
                        validDateEnd:"2037.09.26", //失效日期
                        completeness: 0 //身份证完整性: 0: 完整 1: 不完整,但关键信息内容区域都在图片内 2: 不完整,且有部分内容在区域外
                    },
                    imageBase64: '' //拍摄/选择的照片(B64编码的字符串)
                }
                const BankCard = {
                    code: '0000', //执行状态码,0000:正常,0001:本地执行异常,0002:服务器端返回异常,0003:用户取消了操作,0004:未授予权限
                    msg: '执行结果描述',
                    data: {
                        number:"623058 ************", //银行卡号
                        bankName:"平安银行", //银行名称
                        type: 0 //银行卡类型,0:不能识别; 1:借记卡; 2:贷记卡(原信用卡大部分为贷记卡); 3:准贷记卡; 4:预付费卡 
                    },
                    imageBase64: '' //拍摄/选择的照片(B64编码的字符串)
                }
                const LicensePlate = {
                    code: '0000', //执行状态码,0000:正常,0001:本地执行异常,0002:服务器端返回异常,0003:用户取消了操作,0004:未授予权限
                    msg: '执行结果描述',
                    data: {
                        number:"黑AF6655", //车牌
                        color: "blue", //颜色
                    },
                    imageBase64: '' //拍摄/选择的照片(B64编码的字符串)
                }
                const BusinessLicense = {
                    code: '0000', //执行状态码,0000:正常,0001:本地执行异常,0002:服务器端返回异常,0003:用户取消了操作,0004:未授予权限
                    msg: '执行结果描述',
                    data: {
                        taxRegistrationNumber:"无", //税务登记号
                        idNumber: "无", //证件编号
                        validityPeriod: "长期", //有效期
                        socialCreditCode: "1000000000000001", //社会信用代码
                        paidUpCapital: "无", //实收资本
                        legalPerson: "法人",
                        address: "地址",
                        type: "有限责任公司(自然人投资或控股)",//类型
                        companyName: "XXX有限公司",//单位名称
                        businessScope: "经营范围",//经营范围
                        registrationAuthority: "无",//登记机关
                        dateEstablishment: "2020年01月21日",//成立日期
                        registeredCapital: "1200万元",//注册资本
                        formation: "无",//组成形式
                    },
                    imageBase64: '' //拍摄/选择的照片(B64编码的字符串)
                }
                const DrivingLicense = {

                }
                const VehicleLicense = {

                }
            },
            openMap(){
                // #ifdef APP-PLUS
                extPlugin.openMap({}, res => {
                    console.log('结果', JSON.stringify(res));
                    this.$utils.toast(JSON.stringify(res))
                });
                // #endif
            },
            searchLocation(){
                // #ifdef APP-PLUS
                extPlugin.searchLocation({city: '西安'}, res => {
                    console.log('结果', JSON.stringify(res));
                    this.$utils.toast(JSON.stringify(res))
                });
                // #endif
            },
            openChooseCity(){
                // #ifdef APP-PLUS
                extPlugin.openChooseCity({city: '西安'}, res => {
                    console.log('结果', JSON.stringify(res));
                    this.$utils.toast(JSON.stringify(res))
                });
                // #endif
            },
            openPicture(){
                // #ifdef APP-PLUS
                extPlugin.openPicture(res => {
                    console.log('结果', JSON.stringify(res));
                    this.$utils.toast(JSON.stringify(res))
                });
                // #endif
            },
            showModal(title){               
                // #ifdef APP-PLUS
                let options = {
                    title:  title,//标题 (可选)
                    content: '是否隐藏取消按钮是否隐藏',
                    textAlign: "center", //对齐方式 //left居左,center居中  ,right 居右 默认居中
                    confirmTitle: "确定",
                    confirmColor: '#252525',

                    showCancel: true,
                    cancelTitle: "关闭",
                    cancelColor: "#F81E4D",
                    borderRadius: 8
                }
                extPlugin.showModal(options, (res)=>{
                    console.log(res);
                })
                // #endif
            },
            update(){
                // #ifdef APP-PLUS
                let options = {
                    version: "V10.01",
                    content: '1、是否隐藏取消按钮是否隐藏取消按\n2、钮是否隐藏取消按钮是否隐藏取消按钮',
                    downUrl: 'https://apps.apple.com/cn/app/%E5%81%A5%E5%BA%B7%E9%95%BF%E8%80%81/id1538375326', //必填
                    hidCancelbtn: false, //是否隐藏取消按钮;
                    btnColor: "#FE6012", //设置按钮背景色颜色
                    topImgBg: '' //非必填,用于自定义;
                }
                extPlugin.startUpdate(options);
                // #endif
            }

隐私、权限声明

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

* Android端需要申请的权限列表 - android.permission.READ_EXTERNAL_STORAGE 读取 SD 卡中的内容 - android.permission.WRITE_EXTERNAL_STORAGE 修改或删除 SD 卡中的内容 - android.permission.INTERNET 访问网络连接 * Android端:插件ocr功能使用百度开放平台文字识别ocrsdk,参考其官方网站 https://ai.baidu.com/sdk#ocr - ocrsdk需要申请的权限列表 - android.permission.CAMERA 拍摄照片和视频 位置权限

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

插件不采集任何数据

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

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