头图

首选区分通过什么途径获取小程序码
这里选为后端生成
先通过小程序secretappid生成access_token,获取access_token凭证用于生成小程序码。
image.png
然后通过小程序接口,传入刚才生成的access_token,另外带上其它参数,用于生成小程序码。
通常在生成小程序码后需要携带参数,所以在生成小程序码时,需要设置scene字段,该字段用于携带参数。
image.png
根据上述的流程,微信接口会返回二进制小程序码通过该码可以直接生成图片,你也可以将二进制数据转为file存到oss服务器,然后oss返回url链接返回给前端渲染。
image.png
前端通过url链接渲染图片或下载图片。

扫码进入小程序,在小程序的App生命周期onLoad中,调用decodeURIComponent获取小程序码参数。
image.png
在原生微信开发中在onLoad中获取

Page({
  onLoad (query) {
    // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
    const scene = decodeURIComponent(query.scene)
  }
})

uniapp则是在onLaunch中获取,并且uniappquery参数会多套一层

onLaunch: function(query) {
    // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
    const scene = decodeURIComponent(query.query.scene)
    console.log('小程序码', scene);
    console.log('进入小程序', query);
},

image.png
如果不是通过扫码进入,那么获取sceneundefined
image.png


参考文档:
获取小程序码
获取不限制的小程序码
获取接口调用凭据
微信小程序分享小程序码的生成(带参数)以及参数的获取


兔子先森
465 声望343 粉丝

致力于新技术的推广与优秀技术的普及。