您好,我是一名后端开发人员。
现有一个业务需求:微信APP扫描普通URL的二维码后,需要跳转到对应小程序的页面,页面地址【pages/index/index】,并且还要传递参数。
我现有如下疑问:
1.这个普通的URL的样式如下【http://pagoda.com.cn/scan?参数1=值1&参数2=值2】,那么我们在小程序开发设置中该如何写这个URL?
2.小程序的URL,可以如何书写,比如我的appid=wx1fxxxxxxxxx,页面地址=pages/index/index,还需要传递参数,这个URL该如何组装?
3.扫描普通URL的二维码后,我们获取到了小程序的URL,这个时候需要如何书写跳转到对应的小程序页面?
谢谢,盼回复。
扫普通链接二维码打开小程序
二维码规则填 pagoda.com.cn/scan+'你们自己定义的规则{role}'
功能页面填 pages/index/index
后端传参: path='http://pagoda.com.cn/{role}?a=1&b=2' //这里确定参数为两个可以传path='http://pagoda.com.cn/{role}?1-2',前端少做一次split 前端处理: onLoad(query) { const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容 //q为'http://pagoda.com.cn/role?a=1&b=2' const scancode_time = parseInt(query.scancode_time) // 获取用户扫码时间 UNIX 时间戳 }
普通二维码链接内配置你的h5地址,对应的小程序地址你拼接参数就行了。
比如你配置的h5地址为https://www.baidu.com
配置打开的小程序地址 pages/index/index?id=1122
这个时候将https://www.baidu.com生成二维码,扫码后就会打开小程序内的pages/index/index?id=1122,并且携带参数。
单独写个H5,地址栏上获取要拼接的参数。打开h5后 h5直接location.href = "weixin://dl/business/?appId=xxx&query=id%3D1122"
这样就可以了
const url = new URL(window.location.href)
const params = new URLSearchParams(url.search)
const id = params.get('id')
const code = params.get('code')
window.location.href = `weixin://dl/business/?appId=你的小程序appId&path=pages/index/index&query=id%3D${id}&code=${code}`
http://pagoda.com.cn/scan?参数1=值1&参数2=值2,参数放这里就行。配置好规则后,自动跳转
小程序正常跳转传参就行pages/index/index?参数1=值1&参数2=值2,在目标页面onLoad(options){console.log(options) // 这里面就是传的值},小程序扫码也是同样的道理