H5 页面如何正确的接入微信开放 JSSDK(WX-JSSDK)

H5 页面如何正确的接入微信开放 JSSDK(WX-JSSDK)

最近开发了一个 H5 项目,需要开发一个二维码扫码功能,有以下几种方案: 已有的二维码扫码组件:html5-qrcode 、vue-qrcode-reader 等等; 利用微信开发JSSDK实现; 经过调研,方案一虽然可以实现,但是识别效率不高,受限于扫码环境(如光线、角度等等,识别错误率较高);方案二比较高效,且微信开发sdk比较稳定,扫码识别率很高,但是需要强关联微信浏览器。 经过讨论,最终确认用第二种方案开发,这里需要特别说明一下,一旦引入微信开放JSSDK,你的H5网页只能通过微信浏览器打开才能使用这些SDK,因为微信JSSDK只能在微信浏览器中运行,如何检测是否是微信浏览器: const checkWxBrowser = _ => { const userAgent = navigator.userAgent.toLowerCase(); return userAgent.indexOf("micromessenger") !== -1; } 那么问题就到了如何接入微信开放JSSDK上来,微信官网说的很简单: 一看就会,一做就废,官方说的都是基于生产环境下的场景,又要申请注册公众号、又要域名,那么测试环境怎么调试呢?不能都挪到生产环境上去测试吧,那样也太麻烦了。有没微信公众测试账号?有没有免费的测试域名?有没有在线签名生成接口? 还真有,记住以下几个网址。 本地调试关键网址 微信测试号管理平台:提供测试的appID和appsecret,还可以进行一些配置,比如:JS接口安全域名等 微信公众平台接口调试工具:根据appID和appsecret生成access_token https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={你刚刚获取的token}&type=jsapi:这个是一个接口,可以在浏览器直接访问,会返回ticket 微信 JS 接口签名校验工具:用于生成signature 生成时间戳网址...

02 Jan 2024