您所在的位置首页>纯软件授权 > 安卓手机 >
安卓手机
安卓手机

Uniapp原生插件调用文档

发布日期:2024-01-03 12:36:38 来源:zrgk 浏览次数
 

目前uniapp原生插件仅支持Android端的离线打包

测试使用的 appid 不可以用于商用(否则后果自负)。
商用的 appid 请务必联系我司商务进行分配。

uniapp使用原生插件示例

// 获取 读证件的 插件
var readCardModule = uni.requireNativePlugin("csht_readcard");

// 配置参数
var config = {
                    'openSound': true, // 蜂鸣器开关
                    'openLog': true, // 日志保存开关
                    'readType': 2, // 1: USB 2: NFC 3:串口读卡 5:Sam离线读卡 9:NFC电子护照  
                    'nativePageUrl': '', //如果原生界面UI不满足时,可自定义传入web网页地址,进行自定义界面。如 https://***.com/read.html
                    'appId': "test", // 测试APPID,商用的 appid 请务必联系我司商务进行分配
                    'ipAndPort': [{ // 解码服务器地址,可配置多个服务器节点。第一个为主节点,其余为备用节点。
                        'ip': 'yfs3.sfzydq.com',
                        'port': 9999
                    }, {
                        'ip': 'yjm2.sfzydq.com',
                        'port': 9999
                    }]
                };
// readType设置成 3,串口读卡时,必须设置 串口文件地址、波特率 两个参数。(不需要时,可删除)
config.deviceFilePath = "/dev/ttyS0";
config.baudrate = 115200;
// readType设置成 9,读取护照时,必须添加 护照号、生日、有效期 三个参数。 (不需要时,可删除)
config.documentNumberStr = "E90342672"; // 9位护照号码
config.dateOfBirthStr = "940521"; // 出生日期,格式为 YYMMDD
config.dateOfExpiryStr = "261113"; // 有效日期,格式为 YYMMDD

// 跳转原生NFC界面,开始读卡
readCardModule.gotoNativeNFCPage(config, (ret) => {
    switch (ret.type) {
        case "InitState": // 初始化状态信息回调
            var code = ret.code; // 状态码  参照文档状态码说明
            var msg = ret.msg; // 状态信息
            var status = 'code: ' + code + '  msg: ' + msg;
            break;
        case "ReadCardState": // 读卡状态信息回调
            var code = ret.code; // 状态码  参照文档状态码说明
            var msg = ret.msg; // 状态信息
            var status = 'code: ' + code + '  msg: ' + msg;
            break;
        case "ReadICCardSuccess": // 读其他卡成功
            var dataJson = 'cardType: ' + ret.cardType + '\nicNumber' + ret.icNumber;
            break;
        case "ReadIDCardSuccess": // 读身份证成功
            var headImage = ret.base64Image;
            var data = ret.idCardData;
        if (data.type == 1081) { // 外国人永居证
            var dataJson =
                    '中文姓名: ' + data.nameChinese +
                    '\n英文姓名: ' + data.nameEnglish +
                    '\n性别: ' + data.sex +
                    '\n生日: ' + data.birthday +
                    '\n国籍: ' + data.nationlity +
                    '\n证件号码: ' + data.id +
                    '\n有效期限: ' + data.startDate + '-' + data.endDate;
            } else if (data.type == 1082) { // 港澳台居住证

            } else {
                // 中国居民身份证
                var dataJson =
                    '姓名: ' + data.name +
                    '\n民族: ' + data.nation +
                    '\n性别: ' + data.sex +
                    '\n生日: ' + data.birthday +
                    '\n住址: ' + data.address +
                    '\n证件号码: ' + data.id +
                    '\n签发机关: ' + data.issue +
                    '\n有效期限: ' + data.startDate + '-' + data.endDate;
            }
            break;
         case "ReadPassportSuccess": // 读护照成功
            var headImage = ret.base64Image;
            var data = ret.idCardData;
             var dataJson =
                '姓名: ' + data.nameOfHolder + '/' + data.primaryIdentifier + data.secondaryIdentifier +
                '\n性别: ' + data.gender +
                '\n生日: ' + data.dateOfBirth +
                '\n国家码: ' + data.nationality +
                '\n护照号码: ' + data.documentNumber +
                '\n有效期: ' + data.dateOfExpiry;
            break;
         default:
            break;
    }
});

官方APP离线打包文档

APP离线打包文档

Android原生工程配置修改

添加读卡插件远程仓库

在Android原生工程根目录的build.gradle文件,新增如下配置:


buildscript {
    ext.kotlin_version = "1.3.72"
    repositories {
        google()
        jcenter()
        mavenCentral()
        // 中软高科读卡SDK仓库
        maven {
            url 'https://gitee.com/cshtzrgk/read-card-sdk/raw/master/Repositorys'
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:3.6.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        // 中软高科读卡SDK仓库
        maven {
            url 'https://gitee.com/cshtzrgk/read-card-sdk/raw/master/Repositorys'
        }
    }
}

添加原生插件依赖

在Android原生工程app目录的build.gradle文件,配置参考如下:

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
   defaultConfig {
      multiDexEnabled = true
      ndk {
            abiFilters 'arm64-v8a','armeabi-v7a'
      }
   }
}

dependencies {

    // 中软高科 uniapp 读卡插件,必须添加
    implementation "io.github.CshtZrgk:CshtReadCard_UniPlugin:1.0.0"

    implementation fileTree(include: ['*.aar', '*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    /*uniapp所需库-----------------------开始*/
    implementation 'androidx.core:core-ktx:1.2.0'
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
    implementation 'androidx.annotation:annotation:1.1.0'
    implementation 'androidx.multidex:multidex:2.0.1'

    implementation 'androidx.recyclerview:recyclerview:1.1.0'
    implementation 'com.facebook.fresco:fresco:1.13.0'
    implementation "com.facebook.fresco:animated-gif:1.13.0"

    /*uniapp所需库-----------------------结束*/
    // 基座需要,必须添加
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'com.alibaba:fastjson:1.2.83'
    implementation 'androidx.webkit:webkit:1.3.0'
    implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
    implementation 'androidx.core:core:1.1.0'
    implementation "androidx.fragment:fragment:1.1.0"
    implementation 'androidx.appcompat:appcompat:1.1.0'
}

身份证详细信息

字段 类型 注释
type int 1080:中国居民身份证
address string 家庭住址
birthday string 出生日期
dn string dn码
endDate string 身份证结束时间
startDate string 身份证生效时间
id string 身份证号码
issue string 签发机关
name string 姓名
nation string 民族
sex string 性别
uuid string uuid
base64Image String base64照片

外国人永久居住证

字段 类型 注释
type int 1081:外国人永久居住证
birthday string 出生日期
dn string dn码
endDate string 身份证结束时间
startDate string 身份证生效时间
id string 身份证号码
issue string 签发机关
sex string 性别
uuid string uuid
base64Image String base64照片
nameChinese string 中文姓名
nameEnglish string 英文姓名
nameEnglishAdd string 英文附加姓名
nationlity string 国籍
cardVersion string 卡版本号
cardType string 卡类型
historicalNumber string 历史号码
renewalNumber string 续签数

电子护照详细信息

字段 类型 注释
nameOfHolder string 中文姓名
primaryIdentifier string
secondaryIdentifier string
gender string 性别 M男 F女
dateOfBirth string 生日
nationality string 国家码
dateOfExpiry string 有效期
documentNumber string 护照号码
duration long 解码时长
base64Image String base64照片

状态码对应表

复制    READCARD_SUCCESS(1000, "解码成功"),

    ININ_OK(1001, "初始化成功"),
    ININ_FAILE(1002, "初始化失败"),

    USB_NODEVICE_CODE(1003, "未发现读卡设备,请检查usb连接"),
    USB_NOREADCARD_CODE(1004, "没有检测到读卡设备"),
    USB_SYSYTEMREEOE_CODE(1005, "系统usb异常,请检查usb连接"),
    USB_NOINTERFACE_CODE(1006, "usb没有建立连接"),
    USB_NOCHANNLE_CODE(1007, "usb通道打开失败"),
    USB_NOSERVICE_CODE(1008, "没有usb服务"),

    SOCKET_SYS_CODE(1010, "网络通讯异常"),
    LOCAL_DATA_ERROR(1018, "本地通信失败"),

    UNKONW_ERROR(1020, "未知异常"),
    READCARD_START(1021, "解码开始"),
    READCARD_FAILE(1022, "解码失败"),
    READCARD_READING(1023, "解码中"),

    FIND_CARD_START(1024, "开始寻卡"),
    FIND_CARD_FAIL(1025, "寻卡失败"),
    FIND_CARD_SUCCESS(1026, "寻卡成功"),

    READ_UID_FAILE(1031, "UID异常"),
    SERIALPORT_NOINTERFACE_CODE(1036, "串口异常,请检查设备"),
    SERIALPORT_DATA_ERROR(1038, "串口异常"),

卡类型

    CARD_IC(
					

上一篇 第一页

下一篇 身份证读卡SDK调用文档V3