uniapp生成微信小程序二维码

文章目录

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

获取不限制的小程序码一般情况下是由后端来提供接口的

官方文档地址:获取不限制的小程序码

请求事例:POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN

1、第一步:需要先获取ACCESS_TOKEN

官方文档地址:获取接口调用凭据

以下代码注意:需要补充自己的 appid 以及 微信小程序密钥

html 复制代码
<template>
	<view class="" @click="getAccessToken">获取Access_Token</view>
</template>
<script>
export default{
	data(){
		return{
			access_token: "",
		}
	},
	mounted(){},
	methods:{
		getAccessToken() {
			let that = this
			uni.request({
				// https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的APPID&secret=你的微信小程序密钥
				url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的APPID&secret=你的微信小程序密钥',
				method: "GET",
				success(res) {
					that.access_token = res.data.access_token
				},
				fail(err) {
					console.log(err)
				}
			})
		},
	}
</script>
2、第二步:获取微信小程序二维码

如果微信小程序没上线之前可以先把 check_path 改为 false 可以生成

注意 wx.arrayBufferToBase64 是微信小程序的方法 官方文档

html 复制代码
<template>
	<view class="" @click="getQRCode">获取二维码</view>
</template>
<script>
	export default {
		data() {
			return {
				image: ""
			}
		},
		mounted() {
			getQRCode() {
				let that = this
				uni.request({
					url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${this.access_token}`,
					responseType: "arraybuffer",
					method: "POST",
					data: {
						// 更多参数请看官方文档
						"page": "pages/homepage/index", // 默认是主页,页面 page
						"scene": "id=10", // 参数
						"check_path": false, // 默认是true,检查page 是否存在
						"env_version": "trial" // 要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。
					},
					success(res) {
						// 该接口返回的是 图片二进制 数据
						const arrayBuffer = new Uint8Array(res.data)
						const base64 = wx.arrayBufferToBase64(arrayBuffer)
						that.image = `data:image/jpeg;base64,${base64}`
					},
					fail(err) {
						console.log(err)
					}
				})
			},
		},
		methods: {

		}
	}
</script>
html 复制代码
<!-- 
errcode: 41030
errmsg: "invalid page rid: 667d1102-546f773b-0d82ff0b"
page路径不正确,需要先提交发布一版微信小程序并且存在page路径
-->

<!-- 
errcode: 40169
errmsg: "invalid length for scene, or the data is not json string rid: 667d11cf-3d9f72b6-5542f406"
scene 不合法
最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
注意:也不允许为空
-->

二、获取小程序码

该接口用于获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制

官方文档地址:获取小程序码

1、第一步:需要先获取ACCESS_TOKEN

与上面一致复制即可

2、第二步:获取微信小程序二维码
html 复制代码
<template>
	<view class="" @click="getQRCode">
		获取二维码
	</view>
	<img :src="image" alt="" style="width: 400rpx;height: 400rpx;" />
</template>

<script>
	export default {
		data() {
			return {
				image: ""
			}
		},
		mounted() {},
		methods: {
			getQRCode() {
				let that = this
				uni.request({
					url: `https://api.weixin.qq.com/wxa/getwxacode?access_token=${this.access_token}`,
					responseType: "arraybuffer",
					method: "POST",
					data: {
						"path": "pages/homepage/index",
						"env_version": "trial"
					},
					success(res) {
						const arrayBuffer = new Uint8Array(res.data)
						const base64 = wx.arrayBufferToBase64(arrayBuffer)
						that.image = `data:image/jpeg;base64,${base64}`
					},
					fail(err) {
						console.log(err)
					}
				})
			},
		}
	}
</script>

三、扫普通链接二维码打开小程序

不支持个人类型小程序开启此功能

微信公众平台

扫普通链接二维码打开小程序:说明文档

操作:开发管理 > 开发设置 > 扫普通链接二维码打开小程序 > 点击添加


1、协议以及大小写

按照自己的场景来选择吧

一般情况选 https小写

2、二维码规则

其实就是一个 地址链接 官方文档写的很清楚了

例如:原有二维码链接地址是:https://www.myproject.com?id=1 我们就可以填写 https://www.myproject.com

前缀占用规则选择 不占用

3、校验文件

注意:下载完的校验文件,需要上传到服务器指定位置的目录下

官方文档举例:二维码规则为:https://www.qq.com/weixin/miniprogran

下载完的校验文件放在:https://www.qq.com/weixin

4、小程序功能页面选择你扫码要打开的页面就可以了
5、测试范围根据场景自己选择:正式版、体验版、开发版
6、测试链接:填写一个完整的链接地址,包括参数。

最后:发布二维码规则之前需要先发布微信小程序。

相关推荐
游戏开发爱好者817 小时前
App Store 上传 IPA 自动化,.p8 密钥认证与 CI/CD 接入实战
android·运维·ci/cd·小程序·uni-app·自动化·iphone
Greg_Zhong18 小时前
微信小程序 + 腾讯云人体分析:从 0 到 1 实现 AI 抠图打卡合照(细节待更新~)
人工智能·微信小程序·腾讯云·ai抠图-ai打卡拍照
游戏开发爱好者819 小时前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
AI_AGENT_DEV_AI1 天前
原生 APP 开发的开发优点
uni-app
JackieDYH2 天前
uniapp-通知滚动组件+轮播图组件封装-案例
uni-app·轮播图·通知
2501_915921432 天前
appuploader-cli 命令行上传 IPA 到 App Store Connect upload CI 集成
android·ci/cd·小程序·https·uni-app·iphone·webview
结网的兔子3 天前
【前端开发】UniApp 项目地图选型与Web-APP跨端迁移方案
前端·uni-app
java1234_小锋3 天前
【免费】基于Python的微信小程序网约车(打车,在线叫车,移动出行)系统(FastAPI+Vue3) 锋哥原创出品,必属精品
微信小程序·小程序·fastapi·网约车系统·在线叫车系统
2501_916007473 天前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
PedroQue994 天前
uni-app路由插件化:解锁高效开发新姿势
前端·uni-app