服务端调用微信的接口动态生成小程序二维码,文档地址:小程序二维码生成文档
微信扫描小程序二维码后,在页面的onLoad函数的参数options内可以拿到跳转参数scene值,但是需要对scene进行decodeURIComponent操作。
以下是具体的代码:
Page({ onLoad (options) { // scene需要使用decodeURIComponent才能获取到生成二维码时传入的scene const scene = decodeURIComponent(options.scene); } });
参数情况:
跳转参数可分为单参数和多参数的情况。
单参数:
页面地址:pages/home/home?123456
scene值:123456
多参数:
页面地址:pages/home/home?courseId=1&lessonId=1
scene值:courseId=1&lessonId=1
所以多参数的情况下,需要对scene值进行解析操作:
function getQueryValue(query, queryName) { const reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i"); const r = query.match(reg); if (r !== null){ return r[2]; } else { return null; } } Page({ onLoad (options) { // scene需要使用decodeURIComponent才能获取到生成二维码时传入的scene const decodeScene = decodeURIComponent(options.scene); const courseId = getQueryValue(decodeScene, \'courseId\'); const lessonId = getQueryValue(decodeScene, \'lessonId); } });
微信开发者工具调试:
下载服务端生成的小程序二维码到本地,然后通过微信开发者工具的编译模式(通过二维码编译)读取本地的二维码进行调试。