关于微信小程序 “扫普通链接二维码打开小程序”动态传递多个参数开发过程记录与总结

前言:项目中需要线下 扫描二维码 进入到小程序指定的页面,二维码中 要动态传递多个参数,接下来看看具体怎么实现,整个过程还比较顺利,特把整个过程中遇到的坑点做以总结。

快速跳转官网文档介绍:扫码打开小程序接入指南

开发前相关配置

首先按照官方文档我们先做好配置工作,配置流程如下:

小程序后台配置-开发管理-开发设置-扫普通链接二维码打开小程序

开发过程中配置,举个例子:假如我们二维码的地址是:

https://dev.xxx.com/goodsClassify?brandId=64

brandId 就是我们要动态传递的参数

这里注意  下载效验文件,效验文件要放到 https://www.xxx.com/QUIGNQWuhh.txt下,并确保可以访问,可以访问了才能生成规则,开发版我一直接收不到动态参数,这里我选的体验版,体验版在小程序后台成员管理中要维护相应的 体验成员账号。测试账号可以先传几个 固定的brandId码进行测试。

体验版中一定要注意:没有在测试链接维护的账号生成的二维码是扫不出来的。也就是如下图配置的测试链接中brandId配置了52和64,只有这两个扫出来才能进入小程序,brandId如果没在这里配置,扫码就会去对应dev.xxx.com的主页去了,体验版就是这样的,等小程序发布到线上,brandId是任意值就都可以进小程序了

开发调试

 生成好规则,上传完代码,这个时候 用测试链接中的地址生成二维码已经可以跳转到小程序了。这里已经成功了一半。接下来就是拿参数了,因为我们的小程序使用uni-app开发的,这里我主要讲在uni-app中接收参数,扫码进来后在跳转的页面 通过option接收参数,

如下:

async onLoad(option) {console.log("[goodsClassify -> option]", option);// 扫码发布if( option.q && option.q != "undefined" ){const qrUrl = decodeURIComponent(option.q) //此处就是我们要获取的参数 json,通过方法解析let jsonUrl = this.GetwxUrlParam(qrUrl);this.brandId = jsonUrl.brandId;return;}// 本地模拟调试if (option && Object.getOwnPropertyNames(option).length) {this.brandId = option.brandId;}},//解析链接地址GetwxUrlParam(url) {let theRequest = {};if(url.indexOf("#") != -1){const str=url.split("#")[1];const strs=str.split("&");for (let i = 0; i < strs.length; i++) {theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);}}else if(url.indexOf("?") != -1){const str=url.split("?")[1];const strs=str.split("&");for (let i = 0; i < strs.length; i++) {theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);}}return theRequest;},

解释:需要解码一下  通过 decodeURIComponent 进行解码后为:

https://dev.xxxxx.com/goodsClassify?brandId=xx 就是二维码的链接,然后我们只需要通过字符串解析拿到参数就行了jsonUrl.brandId

备注提醒(再提醒一遍)


最后也是很重要一点,我提交代码到体验版,发现只有 测试链接中的配置地址才能跳转到小程序,只要改变brandId的值,就跳转不进去了。最后发现,只有在线上正式版才会生效。也就是说,这块不用管,调试完成后,代码审核发布,审核发布后记得:把规则修改为线上版,然后发布规则就可以了。这个时候我们发现brandId可以随意传值,都能跳转小程序了。切记,只有代码和规则发布后才能生效。

所以总结下:体验版-只有测试链接中的地址会生效,线上版-规则才会全部生效。

添加好友备注【进阶学习】拉你进技术交流群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/412440.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的实例分割的Web应用

基于深度学习的实例分割的Web应用 1. 项目简介1.1 模型部署1.2 Web应用 2. Web前端开发3. Web后端开发4. 总结 1. 项目简介 这是一个基于深度学习的实例分割Web应用的项目介绍。该项目使用PaddlePaddle框架&#xff0c;并以PaddleSeg训练的图像分割模型为例。 1.1 模型部署 …

shopee选品案例分析:如何在Shopee平台上进行选品并取得成功

在Shopee平台上进行选品是卖家们开设店铺的重要步骤之一。通过分析成功案例&#xff0c;卖家们可以获取灵感和策略&#xff0c;从而更好地进行选品。本文将以一个女装店铺为例&#xff0c;介绍如何在Shopee平台上进行选品并取得成功。 先给大家推荐一款shopee知虾数据运营工具…

Oracle21C + PLSQL Developer 15 + Oracle客户端21安装配置完整图文版

一、Oracle21C PLSQL Developer 15 Oracle客户端文件下载 1、Oracl21C下载地址&#xff1a;Database Software Downloads | Oracle 中国 2、 PLSQL Developer 15下载地址&#xff1a;Registered download PL/SQL Developer - Allround Automations 3、 Oracle 客户端下载地址…

使用composer生成的DMG和PKG格式软件包有何区别

在使用Composer从包源构建软件包时候&#xff0c;有两种不同类型的包&#xff1a;PKG和DMG。你知道两者之间的区别吗? 以及如何选取吗&#xff1f; 每种格式都有各自的优势具体取决于软件包的预期用途以及用于部署软件包的工具。下面我们来了解一下PKG和DMG格式的区别和用途。…

vscode连接远程服务器(傻瓜式教学)

**如何在远程服务器上进行编码呢&#xff1f;vscode&#xff01;&#xff01;&#xff01;**当然&#xff0c;还有很多其他选择&#xff0c;例如sublime、ultraedit等等&#xff0c;这里我们用非常流行的vscode来连接ubuntu服务器做讲解&#xff01;1、下载vscode 百度搜索vsc…

怎样实现安全便捷的网间数据安全交换?

数据安全交换是指在数据传输过程中采取一系列措施来保护数据的完整性、机密性和可用性。网间数据安全交换&#xff0c;则是需要进行跨网络、跨网段甚至跨组织地进行数据交互&#xff0c;对于数据的传输要求会更高。 大部分企业都是通过网闸、DMZ区、VLAN、双网云桌面等方式实现…

Oracle 实战手册 工作实战经验总结

目录 一、基本的数据库管理 1、数据库的启动和关闭 ​编辑2、如何确定Oracle的版本&#xff1f; 3、如何修改数据库的内存参数 4、修改用户名密码 5、如何查看最大会话数 6、如何修改oracle数据库的用户连接数 7、解锁用户 8、如何获取被锁定的数据库对象 9、如何确定…

如何使用Synology Drive作为文件同步服务器实现云同步Obsidian笔记

文章目录 一、简介软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步1 安装并设置Synology Drive套件2 局域网内同步文件测试 三、内网穿透群晖Synology Drive&#xff0c;实现异地多端同步Windows 安装 Cpolar步骤&#…

项目经理进阶之路:如何应对不同阶段的挑战?

最近看到一个帖子&#xff0c;有网友提问&#xff0c;“项目经理的职业发展会经历哪几个阶段&#xff1f;不同阶段需要关注什么&#xff1f;又分别会遇到哪些挑战&#xff1f;“这个帖子引发了广大项目经理们的热议&#xff0c;大家纷纷吐槽&#xff0c;自己遇到了职业瓶颈、询…

redis之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程&#xff1f; 3、主线程和Io线程是怎么协作完成请求处理的&#xff1f; 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程&#xff0c;4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

常见无人机吊舱形态-摄像头吊舱

无人机吊舱有几种常见的形式&#xff0c;这些形式根据无人机的用途和设计有所不同。常见的几种无人机吊舱包括&#xff1a; 摄像头吊舱&#xff1a;这是最常见的一种&#xff0c;用于航拍、监视和侦察。这些吊舱通常装备有高分辨率的摄像头&#xff0c;有时还包括热成像和夜视功…

【运维】硬盘两个windows系统,如何删除其中一个

标题&#xff1a; 如何删除双系统中的一个&#xff1f; 如果你的电脑上装了两个系统&#xff0c;但现在只想保留一个&#xff0c;别着急&#xff0c;我来告诉你如何轻松搞定。 步骤一&#xff1a;找到“运行” 首先&#xff0c;在Win7系统中&#xff0c;点击左下角的“开始”…