热门搜索:

人证核验终端、身份证读卡器,以及相应的集成性系统项目

    核心产品分类
    供应信息分类

    Uniapp二代证读取插件 CSYJM-4手持机NFC读取SDK 手机

    更新时间:2025-02-21 14:30:54   浏览数:149
    所属行业:数码电脑>办公设备>扫描仪
    发货地址:河南省-郑州市-中原区  
    产品型号:-4
    供应数量:1000台
    包装说明:有包装
    单 价:180.00元/台

    1、引入插件
    在小程序的app.json中,加入插件。

    "plugins": {
    "readcard-plugin": {
    "version": "2.3.7",
    "provider": "wxa2583ebacdb87a6a"
    }
    }
    2、基础库
    调试基础库 2.20.3 及以上
    微信版本:
    iOS 暂不支持NFC(微信未支持),可使用蓝牙外设读卡器
    Android 8.0.6及以上版本,同时支持NFC、蓝牙外设读卡器


    读取护照、通行证信息功能
    // 设置读卡护照、通行证参数
    readSetting(){
    // 设置APPID (开始读卡之前,必须设置)
    plugin.setAppId("appid联系我司商务获取", "", "");
    // 日志保存目录
    // 默认在 Android/data/com.tencent.mm/MicroMsg/wxanewfiles目录下 搜索 zrgk_mini_log
    // 不需要日志时,可以不设置
    plugin.setShowLog(wx.getFileSystemManager(), wx.env.USER_DATA_PATH);

    // 读卡参数设置,
    var _Setting = {
    decodeImageType: "dn1", // dn0: 无照片 dn1: 平台解码照片
    readCardType: 9, // 9: NFC读护照/通行证
    saveLog: true, // 是否保存日志文件。设置true时,必须调用以上的 plugin.setShowLog(); 设置日志保存的目录
    openLocalCache: true, // 是否开启本地缓存
    // 解码配置。
    ipPortArray: [{
    address: passport.sfzydq.com,
    port: 18180,
    canUse: true
    }]
    };
    // 将参数设置给插件
    plugin.readSetting(_Setting);
    },

    // OCR 识别机读码
    ocr(){
    // 打开相机拍照
    this.chooseImageBase64().then((img) => {
    wx.showLoading({
    title: OCR识别中...,
    })
    // 识别类型
    let type = 1; // 1:护照 2:来往港澳台通行证 3:港澳台居民来往内地通行证 4:头像面 5:国徽面
    let url = "https://epassport.sfzydq.com/ocr/uploadImageBase64"; // OCR识别地址
    return plugin.ocrMRZ(img, type, url);
    }).then((res) => {
    // 识别的结果
    //{"code":200,"msg":"识别完成","data":{"dateOfExpiry":"261113","MRZLine1":"","documentNumber":"E90342672","MRZLine2":"E903426725CHN9405217M2611136MC0NMMNKPCNEA932","dateOfBirth":"940521"}}
    }).catch((err) => {
    wx.hideLoading();
    wx.showToast({
    title: err,
    })
    })
    },

    // 选择图片,返回base64
    chooseImageBase64() {
    // 使用前,申请相机相关权限
    return new Promise(function (resolve, reject) {
    wx.chooseMedia({
    count: 1,
    mediaType: [image],
    sourceType: [album, camera],
    sizeType: [compressed], // 使用 压缩照片,否则识别速度慢
    success(res) {
    let size = res.tempFiles[0].size / 1024;
    console.log("选择的图片大小:" + size + "Kb")
    if (size > 2048) { // 照片不要超过2M,否则识别速度很慢
    wx.showModal({
    content: 文件大小不能超过2Mb,
    showCancel: false,
    confirmText: 好的,
    confirmColor: #F74459,
    success: function (res) {}
    })
    return
    }
    // tempFilePath可以作为 img 标签的 src 属性显示图片
    const tempFilePath = res.tempFiles[0].tempFilePath //tempFilePaths[0]
    // 获取全局的文件管理器
    const fileManager = wx.getFileSystemManager();
    // fileManager.readFileSync(获取文件路径,转码格式) data:image/jpg;base64, +
    let base64 = fileManager.readFileSync(tempFilePath, base64);
    // 返回base64图片
    resolve(base64);
    },
    fail: function (err) {
    reject(err);
    }
    })
    });
    },

    // 初始化 读卡示例代码
    initRead() {
    if (initSuccess == true) {
    wx.showToast({
    title: 已经初始化过了,
    icon: none
    });
    return;
    }
    let startReadData = {
    documentNumberStr: , // 9位护照号码 如 E14403340
    dateOfBirthStr: , // 6位出生如期 如 761123(年份不要前两位)
    dateOfExpiryStr: , // 6位有效日期 如 230408(年份不要前两位)
    isPassportPhoto: true // 是否需要护照的头像照片
    }
    // 初始化并开始读卡
    plugin.startReadEpassport(startReadData, function (code, msg, value, cardType) {
    let code_msg = "code:" + code + " " + "msg:" + msg;
    that.setData({
    msg: code_msg,
    });
    switch (code) {
    case StatusCode.ININ_ING.code: // 初始化中
    wx.showLoading({
    title: 初始化中...,
    mask: true
    });
    break;
    case StatusCode.ININ_OK.code: // 初始化成功
    initSuccess = true;
    wx.hideLoading();
    wx.showToast({
    title: 初始化成功,
    icon: success
    })
    break;
    case StatusCode.ININ_FAILE.code: // 初始化失败
    initSuccess = false;
    wx.hideLoading();
    if (msg.indexOf("13000") != -1) {
    wx.showModal({
    title: 温馨提示,
    content: 设备不支持NFC,
    complete: (res) => {}
    });
    } else if (msg.indexOf("13001") != -1) {
    wx.showModal({
    title: 温馨提示,
    content: 系统NFC开关未打开,
    complete: (res) => {}
    });
    } else {
    wx.showToast({
    title: msg,
    icon: error
    })
    }
    break;
    case StatusCode.FIND_CARD_START.code: // 开始寻卡
    wx.showToast({
    title: 开始寻卡,
    icon: success
    })
    break;
    case StatusCode.FIND_CARD_SUCCESS.code: // 寻卡成功
    allCount += 1;
    wx.showToast({
    title: 寻卡成功,
    icon: success
    })
    break;
    case StatusCode.READCARD_START.code: // 开始解码
    wx.showLoading({
    title: 请勿移动卡片,
    mask: true
    })
    break;
    case StatusCode.READCARD_SUCCESS.code: // 解码成功
    wx.hideLoading();
    wx.showToast({
    title: 解码成功,
    icon: success
    })
    switch (cardType) {
    case StatusCode.CARD_EPASSPORT.code: // 护照/通行证
    // 读取到的护照/通行证信息
    // 详细字段说明,详见文档下发的附录
    var cardInfo = JSON.parse(value);
    console.log("信息:" , cardInfo);
    // cardInfo.image字段,为base64编码的照片字符串,可直接用于显示
    break;
    }
    break;
    case StatusCode.READCARD_FAILE.code: // 解码失败
    wx.hideLoading();
    wx.showToast({
    title: 解码失败 + msg,
    icon: error
    })
    break;
    }
    });
    }


    4、获取 deviceId
    由于openid是由微信生成,网络获取可能存在延时。需在插件初始化成功后再获取。
    成功获取到ID,都是以 “wxMini_” 开头。


    返回微信绑定ID。更换微信号或小程序宿主 ID会变。
    需要将 https://epassport.sfzydq.com 配置合法域名
    /
    plugin.getDeviceId();
    5、配置TCP合法域名
    必须将参数配置时,配置的 ipPortArray 参数中的所有地址,加入到合法的TCP域名,
    否则无法访问到。
    如配置:

    tcp://yfs4.sfzydq.com
    tcp://yfs3.sfzydq.com
    tcp://yjm2.sfzydq.com
    tcp://yfs3.sfzydq.com
    tcp://passport.sfzydq.com
    tcp://test.sfzydq.com
    6、附录
    详细信息IdCardData
    字段 类型 注释
    type int 1080:中国居民
    address string 家庭住址
    birthday string 出生日期
    dn string dn码
    endDate string 结束时间
    startDate string 生效时间
    id string 号码
    image String base64照片
    issue string 签发
    name string 姓名
    nation string 民族
    sex string 性别
    uuid string uuid
    外国人居住证IdCardData:
    字段 类型 注释
    type int 1081:新版外国人居住证 1083:旧版外国人居住证
    birthday string 出生日期
    dn string dn码
    endDate string 结束时间
    startDate string 生效时间
    id string 号码
    issue string 签发
    sex string 性别
    uuid string uuid
    image String base64照片
    nameChinese string 中文姓名
    nameEnglish string 英文姓名
    nameEnglishAdd string 英文姓名备用
    nationlity string 国籍
    cardVersion string 卡版本号
    cardType string 卡类型
    historicalNumber string 既往版本号码关联项
    renewalNumber string 换证次数
    港澳台居住证详细信息IdCardData
    字段 类型 注释
    type int 1082:港澳台居住证
    address string 家庭住址
    birthday string 出生日期
    dn string dn码
    endDate string 结束时间
    startDate string 生效时间
    id string 号码
    image String base64照片
    issue string 签发
    name string 姓名
    nation string 民族
    sex string 性别
    uuid string uuid
    passCheckId string 通行证号码
    issuesNumber string 签发次数
    护照通行证详细信息
    字段 类型 注释
    nameOfHolder string 中文姓名
    primaryIdentifier string 姓
    secondaryIdentifier string 名
    gender string 性别 M男 F女
    dateOfBirth string 生日
    nationality string 码
    dateOfExpiry string 有效期
    documentNumber string 护照号码
    duration long 解码时长
    mrz string 机读码
    personNumber string 个人号码
    idNumber string 号码
    image String base64照片


    zrgk2024.enuob2b.com