小程序二维码动态传递参数配置指南:从开发设置到实战应用

2025-01-11
来源:网络整理

前言:由于项目需要离线扫描二维码进入小程序完成身份绑定,因此需要在二维码中动态传入多个参数。看了官网文档介绍和官方论坛,整个过程比较顺利,所以我就描述一下整个过程。总结了过程中遇到的坑。

快速跳转官网文档介绍:

开发前相关配置

首先我们按照官方文档进行配置工作。配置流程如下:小程序后台配置-开发管理-开发设置-扫描普通链接二维码打开小程序。

开发过程中的配置,例如:如果我们的二维码地址是:,code就是我们要动态传递的参数,那么如何动态传递呢?这里我们需要更改我们的二维码地址。我们来修改一下二维码地址:。这里很明显,我们将代码放入第二个参数中来接收它。第一个参数可以随便写,但必须是固定参数,不能修改。这里我们添加一条规则:

注意在这里下载验证文件。必须放置验证文件并确保可以访问它。只有可访问时才能生成规则。我在开发版本中一直无法接收动态参数。这里我选择的是试用版。试用版由会员在小程序后台管理。必须维护相应经验的会员帐户。测试账号可以先通过几个固定的代码进行测试。试用版一定要注意:非测试链接中维护的账户生成的二维码无法扫描。在这里挣扎了很久之后,我发现这并不重要。我们首先维护两个账户来完成开发和测试。另外,记得每次都将微信开发者工具中的代码上传到试用版,看看效果。 (个人感觉这里调试很麻烦,还没有找到方便的方法)

开发调试

图书扫码工作是什么样的_开发图书扫码微信小程序_图书码扫描

生成规则并上传代码后,您可以使用测试链接中的地址跳转到小程序,生成二维码。到这里,战斗就完成了一半。接下来就是获取参数了,因为我们的小程序是使用Taro开发的。这里主要讲一下Taro中的接收参数。扫码后即可在跳转页面收到参数。接受Taro路由参数可以参考我的另一篇文章。博客文章:在 Taro 中接收路由参数。 =()接收参数如下

{:{q: %3A%2F%2F%xxx%name%test%} }

这里我们需要对其进行解码。解码后是: 是二维码的链接。接下来我们只需要通过字符串解析得到&之后的参数即可。这里我封装了一个方法。

// 获取url参数 支持中文 export const GetRequest = (params) => { let url = params.substring(params.indexOf("?")); //获取url中"?"符后的字串 let theRequest = new Object(); if (url.indexOf("?") != -1) { let str = url.substr(1); let strs = str.split("&"); for (let i = 0; i < strs.length; i++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; }

=((..q)) 这里输出代码的值:完美获取参数。另外,我想提一下,在小程序原生框架中,我们应该在()方法中获取。 .q也可以获得相应的参数,处理方法相同。

注意事项提醒

最后,我将代码提交到试用版,发现只有测试链接中的配置地址才能跳转到小程序。只要改变code的值就不能跳转。我在这个问题上卡了很久,最后发现只有在线正式版才生效。换句话说,您无需担心这一点。调试完成后,进行代码审核并发布。审核发布后,切记:将规则修改为网络版,然后发布规则。这时候我们发现代码可以随意传值并跳转到小程序。请记住,准则和规则只有在发布后才会生效。

我也忐忑不安地发布了代码和规则。最后我焦急地扫描了每一个代码,发现规则是有效的。所以总结一下:试用版-只有测试链接中的地址才会生效,而在线版-规则才会生效。全部生效。

分享