uni-app(微信小程序) 特定页面生成小程序码或小程序二维码(带参数)


三种生成方式基本雷同,都需要获取access_token,获取小程序码或二维码只需要更换不同的接口即可,还需要注意的是传递参数的形式!!!

需求:在每一个企业信息详情页中自动生成该页面的小程序分享码,用户扫码时自动跳到指定的企业信息详情页;因为有很多企业,所以这里我们需要使用: 获取不限制的小程序码 来实现

1、获取不限制的小程序码

实现代码

// 获取 access_token
	getAccessToken() {
		let appid = '',
			secret = '';
		uni.request({
			method: "GET",
			url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,
			success: (result) => {
				let access_token = result.data.access_token
				// 获取到 access_token 后 获取二维码
				this.getQrCode(access_token)
			}
		})
	},
	// 获取二维码
	getQrCode(token) {
		 // 注意 access_token 参数是必须放在url后面 其余参数 要在data里面
		uni.request({
			method: "POST",
			responseType: 'arraybuffer', // 注意一定要加 不然返回的Buffer流会乱码 导致无法转base64
			url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${token}`,
			data: {
				page: '', // 需要打开的页面路径
				scene: '' // 这个是需要传递的参数
			},
			success: (result) => {
				// 拿到buffer流 通过wx.arrayBufferToBase64 转成base64 在页面展示
				// 如果请求时不加 responseType: 'arraybuffer' 拿到的buffer流转码会失败
				this.bufferImg = "data:image/png;base64," + wx.arrayBufferToBase64(result.data);
			},
		})
	},

获取小程序码中的参数

扫描二维码在onLoad生命周期中获取传递的参数(scene&#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值