前言
公司需求要微信小程序对接国家网络身份认证,在此留个痕,用于分享给大家参考。
一、wx.ncidas是什么?
微信小程序平台提供给接入机构的微信小程序拉起国家网络身份认证App的接口
微信小程序接入国家网络身份认证公共服务指引 | 微信开放文档
二、使用步骤
generateUniqueId() { const timestamp = Date.now().toString() const randomStr = Math.random() .toString(36) .substring(2, 15) const str = timestamp + randomStr return CryptoJS.MD5(str).toString() // 32 位十六进制字符串 }, const android = 'https://cdnrefresh.ctdidcii.cn/w1/WHClient_H5/Install/InstallGuide.html' const ios = 'https://cdnrefresh.ctdidcii.cn/w1/WHClient_H5/Install/UL.html' const deviceInfo = Taro.getSystemInfoSync() const bizSeq = this.generateUniqueId() wx.ncidas({ orgID: '0000000', // 机构ID,业务接入申请时,分配给机构的唯一标识 businessID: '0000', // 应用ID,业务接入申请时,分配给小程序的唯一标识 bizSeq, // 由接入机构生成用于标识每笔业务的唯一性的业务序列号 type: 1, // 业务类型,0: 网络身份认证凭证;1: 网络身份认证凭证+口令 mode: 'R02', appID: '', //小程序的appId miniProgramID: '',小程序的appId expectData: 'SLZJLX,ZJHM,XM', //期望返回数据项 async success(res) { console.log('res', res) if (res.resultCode === 'C0000000') { } else { showToast(result.msg) } } else if (res.resultCode === 'C0412002') { // 国家网络身份认证App尚未安装 if (deviceInfo.system.includes('iOS')) { navigateTo({ url: `/subPackages/show-page/index?url=${encodeURIComponent( deviceInfo.system.includes('iOS') ? ios : android )}` }) } else { showToast('您未安装"国家网络身份认证"APP,请前往应用商店下载安装') } } else { console.error(res) showToast(res.resultDesc) } }, fail(err) { console.log('wx.ncidas - fail:', err) } })三、总结
我只分享开发部分,