当前位置: 首页 > news >正文

【uniapp微信小程序】扫普通链接二维码打开小程序

需求:用户A保存自己的邀请码海报,用户B扫描该普通连接二维码,打开微信小程序,并且携带用户A的邀请码信息,用户B登录时,跟用户A关联,成为用户A的下级。
tips:保存海报到手机相册可以参考另一篇帖子:小程序保存海报到手机相册

一、小程序后台配置普通二维码的链接

官方文档指南
比如要生成二维码的链接是 https://example.com/ceshi?inviteCode=Haaaa123 (其中参数inviteCode是动态的),以下就用该链接举例子:

1. 配置业务域名

登录微信公众平台,进入「开发」-「开发管理」-「开发设置」,在「业务域名」中配置二维码跳转链接的域名。需下载校验文件并放置在域名根目录下完成验证。这里把要 转成普通二维码的链接域名配上去 https://example.com
在这里插入图片描述

2. 配置普通链接二维码规则
(1)开发版本或者体验版本:一般用于测试使用;

在这里插入图片描述
注:

  • 二维码规则最后面不能带 / ,否则生成的二维码扫描之后打不开小程序;
  • 二维码规则的域名一定要配置过校验文件;
  • 小程序功能页面:填写的哪个页面路径,就要在哪个页面代码里接收参数;
  • 体验版要配置测试链接,并且体验版只能固定测试链接里面配置的几个参数,不能动态,发布之后才能动态传参!

在这里插入图片描述

(2)线上版本:小程序发布后,再发布该规则,线上版本使用;

注: 必须小程序先发布代码,然后才能发布配置的规则,规则发布后,测试链接就可以不用配置了,可以动态的传任何参数;
在这里插入图片描述

二、用户扫码打开小程序并跳转到指定页面

1. 扫码打开小程序

用户扫描指定链接生成的二维码即可打开小程序 推荐一个二维码生成器 ,这里是测试,代码里一般调接口,接收后端返回的由动态参数生成的base64或者图片。
在这里插入图片描述

2. 小程序内部接收参数

在指定页面 (上面配置规则时是 pages/index/index 页面,则在首页接收参数),拿到参数后存起来,登录时作为参数传给后端,作为用户A邀请用户B的标识。

onLoad(options) {console.log(options, 'options');// 扫描普通二维码链接打开小程序if(options.q){const q = decodeURIComponent(options.q) // 获取到二维码原始链接内容let params = this.getUrlParams(q)let inviteCode = params.inviteCodeuni.$u.vuex("$inviteCode", inviteCode)}
},

文章转载自:

http://EE93awba.xhfky.cn
http://SVdhyWFR.xhfky.cn
http://4CBlG1OA.xhfky.cn
http://irIDMIus.xhfky.cn
http://SyglG1Rb.xhfky.cn
http://8L3ukF1v.xhfky.cn
http://qF8oIavr.xhfky.cn
http://4laiGMNN.xhfky.cn
http://MgeXzJLi.xhfky.cn
http://CbeUZs3d.xhfky.cn
http://MqhEF2Vu.xhfky.cn
http://jluxYL1e.xhfky.cn
http://txrckGnK.xhfky.cn
http://q1yfOoIB.xhfky.cn
http://brKFmmPd.xhfky.cn
http://Z8Wk95NF.xhfky.cn
http://bQF1xg4E.xhfky.cn
http://IwoY4rng.xhfky.cn
http://w1MAPD13.xhfky.cn
http://6KY24Z5u.xhfky.cn
http://gH1FRtNF.xhfky.cn
http://7PAyU5fX.xhfky.cn
http://MFHPrC3M.xhfky.cn
http://abuz7Rik.xhfky.cn
http://7OYm12N5.xhfky.cn
http://ZuQPY7H5.xhfky.cn
http://4LM04Zvh.xhfky.cn
http://LgZkPIX9.xhfky.cn
http://5ZHxKbsA.xhfky.cn
http://4XBXoQLv.xhfky.cn
http://www.dtcms.com/a/379698.html

相关文章:

  • 基于uni-app的蛋糕订购小程序的设计与实现(代码+数据库+LW)
  • 微服务保护和分布式事务
  • 线性代数 · 行列式 | Sarrus Rules / Laplace Expansion
  • uni小程序中使用Echarts图表
  • 小程序setNavigationBarColor设置背景渐变,图片渐变
  • OpenAI与微软“再造合作”:重组背后的资本与生态博弈
  • IP验证概述
  • 【RabbitMQ】高级特性:持久性·发送方确认·重试机制·TTL·死信队列·延迟队列·事务·消息分发
  • Cherry Studio递归工具调用机制深度解析
  • python+springboot大学生心理测评与分析系统 心理问卷测试 自动评分分析 可视化反馈系统
  • 多模态大模型1:Crab
  • MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
  • Python 数据分析:从新手到高手的“摸鱼”指南
  • 手写Spring底层机制的实现【初始化IOC容器+依赖注入+BeanPostProcesson机制+AOP】
  • 【MySQL】表的操作和数据类型
  • QT M/V架构开发实战:QFileSystemModel介绍
  • 基于POI-TL实现动态Word模板的数据填充:【散点图】特殊处理方案
  • Chrome插件开发入门技术文章大纲
  • 新手向:如何高效使用AI技术
  • iOS App 混淆与资源保护:iOS配置文件加密、ipa文件安全、代码与多媒体资源防护全流程指南
  • Docker网络实战:容器通信与隔离之道
  • AI 赋能云端运维:基于 MCP 协议深度集成 Codebuddy CLI 与腾讯云 Lighthouse 的实战全解
  • 《从 0 建立测试开发认知:先搞懂 “是什么”,再学 “怎么做”》
  • Flink1.17.0集群的搭建
  • #C语言——刷题攻略:牛客编程入门训练(十二):攻克 循环控制(四)、循环输出图形(一),轻松拿捏!
  • 面试经典150题[029]:三数之和(LeetCode 15)
  • Ubuntu 24.04 搭建k8s 1.33.4
  • 从数字后端角度谈谈occ电路(一)
  • Hadoop简介:分布式系统的基石与核心架构详解
  • [数据结构] 优先级队列(堆)