打印

支付宝、微信小程序怎么读取身份*?

[复制链接]
585|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
idcard2024|  楼主 | 2024-8-8 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
微信小程序怎么读取身份*?
第一步:介绍一下微信小程序开发步骤:
熟悉开发工具:首先,你需要了解微信小程序开发工具有哪些相关的知识。微信小程序开发工具提供了图形化开发环境,使得开发者能够更容易地进行小程序的开发工作。这是基础的一步。编写小程序代码:微信小程序采用类似HTML、CSS和JavaScript等Web前端技术进行开发。你需要掌握这些基础知识,并根据具体业务需求编写各种小程序功能。这是开发过程中最重要的一步,需要深入理解并运用这些技术。功能测试:在编写完小程序代码之后,你需要使用微信开发工具进行模拟器测试以验证功能是否正常。这是一个非常重要的步骤,可以帮助你及早发现并修复可能存在的问题。
上传并发布:完成功能测试后,你需要将小程序上传到微信小程序的开放平台,并通过一系列审核流程,最终发布小程序。这一步需要耐心等待,一旦通过审核,你的小程序就可以向公众展示。以上就是微信小程序开发的完整流程,每个步骤都至关重要,需要开发者认真对待。
第二步:进入微信小程序身份*读取插件官网地址:
https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wxa2583ebacdb87a6a
必备条件:运行小程序的设备或手机,必须开启NFC功能
第三步:根据插件集成说明集成
中软高科·小程序身份*云解码插件
1、引入插件
在小程序的app.json中,加入插件。
"plugins": {
   "readcard-plugin": {
     "version": "2.0.0",
     "provider": "wxa2583ebacdb87a6a"
   }
}
2、基础库
调试基础库  2.18.1及以上
微信版本:
iOS     暂不支持
Android 8.0.6及以上版本
3、使用插件
在需要使用身份*读卡的页面中,使用插件。
const plugin =requirePlugin('readcard-plugin');
var StatusCode = null;
var that = this;
var initSuccess = false;
Page({
data: {
   idCardInfo: null,
},
onLoad() {
   that = this;
   StatusCode = plugin.StatusCodeEnum();
   console.log("对照状态码:", StatusCode);
   // 设置APPID (开始读卡之前,必须设置)
   plugin.setAppId("appid联系我司商务获取");
   // 设置读卡SDK参数
   that.readSetting();
   // 初始化NFC读卡。
   // 初始化之前,请先自行判断设备是否支持NFC、系统NFC开关是否打开
   that.initRead();
},
// 设置读卡SDK参数
readSetting(){
   // 日志保存目录
   // 默认在 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: 平台解码照片
     saveLog: false, // 是否保存日志文件。设置true时,必须调用以上的 plugin.setShowLog(); 设置日志保存的目录
     openLocalCache: true, // 是否开启本地缓存
     // 解码服务器配置。
     // 默认第1个为主服务器,优先使用。
     // 其余皆为备用服务器,主服务器异常时自动切换启用
     ipPortArray: [{
       address: 'yfs3.sfzydq.com',
       port: 9999,
       canUse: true
     }, {
       address: "yjm2.sfzydq.com",
       port: 9999,
       canUse: true
   };
   // 将参数设置给插件
   plugin.readSetting(_Setting);
},
// 初始化 读卡示例代码
initRead() {
   if (initSuccess == true) {
     wx.showToast({
       title: '已经初始化过了',
       icon: 'none'
     });
     return;
   }
   // 初始化并开始读卡
   plugin.startReadCard(function (code, msg, value, cardType) {
     that.setData({
       msg: "code:" + code + "\n" + "msg:" + msg,
     });
     switch (code) {
       case StatusCode.ININ_OK.code: // 初始化成功
          initSuccess = true;
          wx.showToast({
            title: '初始化成功',
            icon: 'success'
          });
          break;
       case StatusCode.ININ_FAILE.code: // 初始化失败
          initSuccess = false;
          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.READ_NFC_TAG.code: // 识别到NFC标签
          wx.showLoading({
            title: '请勿移动卡片',
          });
          break;
       case StatusCode.READCARD_SUCCESS.code: // 解码成功
          wx.hideLoading();
          wx.showToast({
            title: '解码成功',
            icon: 'success'
          });
          switch (cardType) {
            case StatusCode.CARD_IC.code: // IC卡
              console.log("IC卡:", value);
              break;
            caseStatusCode.CARD_LCT_STUDENT.code: // 绿城通学生卡
              console.log("绿城通学生卡:" , value);
              break;
            caseStatusCode.CARD_LCT_NORMAL.code: // 绿城通普通卡
              console.log("绿城通普通卡:" , value);
              break;
            case StatusCode.CARD_LCT_OLD.code:// 绿城通老年卡
              console.log("绿城通老年卡:" , value);
              break;
            case StatusCode.CARD_IDCARD.code:// 身份*
              // 读取到的身份*信息
              var idCardInfo =JSON.parse(value);
              console.log("身份*信息:" , idCardInfo);
              // 当设置平台解码身份*照片时,
              // idCardInfo.image字段,为base64编码的照片字符串,可直接用于显示
              // idCardInfo.type=1080 中国居民身份*
              // idCardInfo.type=1081 外国永久居住证
              // idCardInfo.type=1082 港澳台居住证
              break;
          }
          break;
       case StatusCode.READCARD_FAILE.code: // 解码失败
          wx.hideLoading();
          wx.showToast({
            title: '解码失败'+ StatusCode.READCARD_FAILE.code,
            icon: 'error'
          });
          break;
     }
   });
},
/**
  * 生命周期
  */
onShow() {
   console.log("onShow", "界面显示");
},
onHide() {
   console.log("onHide", "界面隐藏");
},
onUnload() {
   console.log("onUnload", "界面销毁,需要停止读卡");
   plugin.stopReadCard();
}
})
4、配置TCP合法域名
必须将参数配置时,配置的 ipPortArray 参数中的所有服务器地址,加入到合法的TCP域名,
否则无法访问到服务器。
如配置:
tcp://yjm2.sfzydq.com
tcp://yfs3.sfzydq.com
温馨提示:
可以先试用默认DEMO做一下读取身份*的体验²海飞思微信读卡小程序试用方式:微信界面,下拉通知框,搜索“海飞思”即可。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝