微信小程序生成二维码踩坑

微信小程序生成二维码踩坑

1、写在前头的话,编写时间为2019年09月24日,在此时有效

  1. 由于从微信开放社区的说法来看,如今(201909)小程序菊花码是没有体验版的,因此经过生成小程序码生成的菊花码是线上环境的,因此测试时手机识别这个二维码进入的是线上的小程序,不方便测试; 现知道的婉转的测试方法,最终仍是须要直接到线上环境测试:
  • 开发工具,编译模式选择经过二维码编译来测试这个生成的菊花码
  • 开发工具,添加编译模式,添加参数来调试,注意有的接口参数须要encodeURIComponent
  • 开发工具,添加编译模式后,经过预览或者真机调试生成带时限的二维码,扫这个二维码进行测试
  1. 在微信公众平台后台管理页面,右上方,工具>生成小程序码能够生成指定路径的小程序码,不过如今的版本携带参数彷佛有坑,参考小程序后台的"生成小程序码"如何带参数javascript

  2. 经过草料二维码、芝麻二维码等生成带指定参数的二维码,不过这些第三方应用须要受权或者小程序秘钥等;html

  3. 小程序二维码后端和前端都能生成,我这里是前端生成的方法生成小程序码,下边的内容是采用第一种方法生成二维码的一些介绍;前端

2、 使用生成小程序码接口前准备

  1. 按照文档而言,有三种接口生成二维码,不复制文档了,每一个接口均可以经过HTTPS调用云调用来获取小程序码,我介绍的是经过HTTPS调用java

  2. 以上的三种方法,都是须要access_token参数来进行后台请求的,好比:小程序

请求地址

POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN后端

  1. 生成access_token
  • access_token是变化的,因此须要经过接口调用凭证接口来获取,这个接口请求是须要2个关键参数AppIdAppSecret
  1. 获取AppIdAppSecret
  • AppId在小程序的管理后台能够看到,而AppSecret是隐藏的,并且不能轻易重置,重置会致使原前后台使用这个AppSecret的全部地方都须要更改,而AppSecret通常后台代码会有写的,因此能够找后台的同事要;
  1. 获取AppIdAppSecret参数后,经过前端代码内编写http请求或者postMan等工具,请求如下地址,来获取带时效AppSecret

请求地址

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET微信小程序

3、对获取小程序码的接口调用注意事项

  1. 由于生成的二维码都是永久有效的,主要差异是请求接口生成二维码数量是否限制,可是若是只须要生成少许二维码,用在其余场景扫描识别二维码进入小程序的话,三种接口均可以;
  2. 不一样的接口调用不少坑的--.;
  3. 第二种方法建议参考js生成小程序某页面二维码(生成小程序二维码),亲测可用(就这样贴文章,之后有时间再整理==。);
  4. 第二种方法是将参数放在scene内,因此获取这个参数,是在onload时识别options.scene;
  5. 用上述连接方法生成后,在小程序的network内的preview可用看到二维码,或者经过将图片信息转成base64格式后,在img标签内添加引用;
success(res) {
        console.log(res)
        let src = wx.arrayBufferToBase64(res.data);  //对数据进行转换操做
    }
复制代码
<img src="data:image/png;base64,{{src}}"/>
复制代码

经过上述方式,在网页或者小程序上生成可用下载复制的二维码图片;api

相关文章
相关标签/搜索