微信小程序怎么读取身份*? 第一步:介绍一下微信小程序开发步骤: 熟悉开发工具:首先,你需要了解微信小程序开发工具有哪些相关的知识。微信小程序开发工具提供了图形化开发环境,使得开发者能够更容易地进行小程序的开发工作。这是基础的一步。编写小程序代码:微信小程序采用类似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做一下读取身份*的体验²海飞思微信读卡小程序试用方式:微信界面,下拉通知框,搜索“海飞思”即可。
|