【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的标识。

javascript 复制代码
onLoad(options) {
	console.log(options, 'options');
	// 扫描普通二维码链接打开小程序
	if(options.q){
		const q = decodeURIComponent(options.q) // 获取到二维码原始链接内容
		let params = this.getUrlParams(q)
		let inviteCode = params.inviteCode
		uni.$u.vuex("$inviteCode", inviteCode)
	}
},
相关推荐
WangHappy17 小时前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端1 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
Mr_li2 天前
给 Vue 开发者的 uni-app 快速指南
vue.js·uni-app
anyup2 天前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
icebreaker2 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker2 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
Mintopia3 天前
Vue3 项目如何迁移到 uni-app x:从纯 Web 到多端应用的系统指南
uni-app
Mintopia3 天前
uni-app x 发展前景技术分析:跨端统一的新阶段?
uni-app
不爱说话郭德纲4 天前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
大米饭消灭者5 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro