小程序 生成二维码

小程序 生成二维码由后端去请求 然后返回图片 Buffer 接口调用凭证 ACCESS TOKEN 通过如下接口获取 GEThttps api weixin com cgi bin token grant type client credential amp appid APPID amp secret APPSECRET1 接口 A 适用于需要的码数量较少的业务场景 通过该接口生成的小程序码 永久有效 有数量限制 POSThttps api weixin com wxa getwxacode ac

由后端去请求,然后返回图片Buffer

接口调用凭证ACCESS_TOKEN通过如下接口获取
	GET https://api.weixin..com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

1、接口A:适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制
	POST https://api.weixin..com/wxa/getwxacode?access_token=ACCESS_TOKEN
	请求参数
		access_token|cloudbase_access_token			接口调用凭证
		path			扫码进入的小程序页面路径,最大长度128字节,不能为空;
		width			二维码的宽度,单位px。最小280px,最大1280px
		auto_color		自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
		line_color		auto_color为false时生效,使用rgb设置颜色例如{"r":"xxx","g":"xxx","b":"xxx"}十进制表示
		is_hyaline		是否需要透明底色,为true时,生成透明底色的小程序码
	
	POST参数需要转成JSON字符串,不支持form表单提交
	
	云函数方式
		const cloud = require('wx-server-sdk')
		cloud.init({
		  env: cloud.DYNAMIC_CURRENT_ENV,
		})
		exports.main = async (event, context) => {
		  try {
		    const result = await cloud.openapi.wxacode.get({
				path			扫码进入的小程序页面路径,最大长度128字节,不能为空;
				width			二维码的宽度,单位px。最小280px,最大1280px
				auto_color		自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
				line_color		auto_color为false时生效,使用rgb设置颜色例如{"r":"xxx","g":"xxx","b":"xxx"}十进制表示
				is_hyaline		是否需要透明底色,为true时,生成透明底色的小程序码
		      })
		    return result
		  } catch (err) {
		    return err
		  }
		}

2、接口B:适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制
	POST https://api.weixin..com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
	请求参数
		access_token|cloudbase_access_token		接口调用凭证
		scene			最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用urlencode处理,请使用其他编码方式)
			Page({
			  onLoad (query) {
			    scene需要使用decodeURIComponent才能获取到生成二维码时传入的 scene
			    const scene = decodeURIComponent(query.scene)
			  }
			})
		page			页面page,例如pages/index/index,根路径前不要填加/,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
		check_path		检查page是否存在,为true时page必须是已经发布的小程序存在的页面(否则报错);为false时允许小程序未发布或者page不存在,但page有数量上限(60000个)请勿滥用
		env_version		要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop"
		width			二维码的宽度,单位px,最小280px,最大1280px
		auto_color		自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认false
		line_color		auto_color为false时生效,使用rgb设置颜色例如{"r":"xxx","g":"xxx","b":"xxx"}十进制表示
		is_hyaline 		是否需要透明底色,为true时,生成透明底色的小程序
	
	POST参数需要转成JSON字符串,不支持form表单提交
	
	云函数方式:
		const cloud = require('wx-server-sdk')
		cloud.init({
		  env: cloud.DYNAMIC_CURRENT_ENV,
		})
		exports.main = async (event, context) => {
		  try {
		    const result = await cloud.openapi.wxacode.getUnlimited({
		        "page": 'pages/index/index',
		        "scene": 'a=1',
		        "checkPath": true,
		        "envVersion": 'release',
		        ...
		      })
		    return result
		  } catch (err) {
		    return err
		  }
		}

3、接口C:适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制
	POST https://api.weixin..com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
	请求参数:
		access_token|cloudbase_access_token		接口调用凭证
		path	扫码进入的小程序页面路径,最大长度128字节,不能为空
		width	二维码的宽度,单位px。最小280px,最大1280px
	
	POST参数需要转成JSON字符串,不支持form表单提交
	
	云函数方式:
		const cloud = require('wx-server-sdk')
		cloud.init({
		  env: cloud.DYNAMIC_CURRENT_ENV,
		})
		exports.main = async (event, context) => {
		  try {
		    const result = await cloud.openapi.wxacode.createQRCode({
		        "path": 'page/index/index',
		        "width": 430
		      })
		    return result
		  } catch (err) {
		    return err
		  }
		}

4、接口D:一物一码,微信通过“一物一码”接口发放的二维码相比较普通链接二维码更安全、支持更小的印刷面积,支持跳转到指定小程序页面,且无数量限制
	详见:https://developers.weixin..com/doc/offiaccount/Unique_Item_Code/Unique_Item_Code_Op_Guide.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198240.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:30
下一篇 2026年3月26日 下午3:30


相关推荐

  • 深入浅出-阿里内部Spring Boot学习笔记在GitHub爆火,标星过百万

    深入浅出-阿里内部Spring Boot学习笔记在GitHub爆火,标星过百万过去经常会有这样的一种场景 一个初学者花了半个月时间 看了几本 Spring 编程书 掌握了最基本的理论知识 但在实际着手开发时 往往被拦截在初始环境配置上 可能花上几天时间也配置不好环境 而使用 SpringBoot 的体验则完全不一样 基本是 开箱即用

    2026年3月18日
    2
  • java女人_Java是一个事业成功的女人

    java女人_Java是一个事业成功的女人原标题:Java是一个事业成功的女人文/北京达内教育(微信号:bjtedu01)关注后免费可获得达内5天训练营,都是干货哦~Java是一个事业成功的女人。很多在她手下干过的人都感觉她的能力跟她的地位并不般配,她更多的是通过技巧打动了中层管理人员。你也许会认为她是很有智慧的人,你愿意跟随她。但你要准备好在数年里不断的听到“你用错了接口,你遗漏了一个分号”这样的责备。C++是Java的表姐。她在…

    2022年7月7日
    27
  • C语言——折半查找法

    C语言——折半查找法C 语言 折半查找法折半查找法 顾名思义就是一种查找的方法 优点是其比较次数少 查找速度快 平均性能好 缺点是其要求的待查表必须是有序表 且插入删除比较困难 因此 折半查找法适用于不经常变动并且查找次数比较频繁的有序列表 例如 我买了一件衣服 告诉你在 300 元以内 让你用次数最少猜出这件衣服的价格 答 每次猜中间数代码展示 用最少次数猜 10 个数字中有没有 7intmain intarr 1 2 3 4 5 6 7 8 9 10 要求数组必须是有序的 intl

    2026年3月16日
    2
  • python缩进报错_python缩进报错

    python缩进报错_python缩进报错广告关闭腾讯云 11 11 云上盛惠 精选热门产品助力上云 云服务器首年 88 元起 买的越多返的越多 最高返 5000 元 学习 python 与其他语言最大的区别就是 python 的代码块不使用大括号 来控制类 函数以及其他逻辑判断 python 最具特色的就是用缩进来写模块 缩进 有时候 你觉得两行代码的缩进是一样的 但编译器仍然报错 这可能是因为一个地方使用空格来缩进 而另一个地方

    2026年3月19日
    1
  • 【毕业项目】基于VUE开发的电商后台管理系统

    【毕业项目】基于VUE开发的电商后台管理系统摘要随着我国互联网普及率的提高,电子商务发展插上了腾飞的翅膀,一路高歌猛进。本后台系统旨在借助先进的计算机、快捷的网络以及庞大的云数据存储来帮助电商更加方便的统计电商数据。本系统以html、css、javascript作为开发语言。采用前后端分离思想,PC端使用Vue.js框架,服务端采用node.js作为开发平台,Webpack为静态模块打包器,Element-ui为UI组件,less为CSS预处理语言,ES6作为规范。PC端包含用户管理模块、权限管理模块、角色管理模块、商品管理模块、分类参数管理

    2022年6月13日
    41
  • Linux 中的 renice 命令详解及C/C++代码实现

    Linux 中的 renice 命令详解及C/C++代码实现Linux 中的 nice 命令有助于执行具有修改的调度优先级的程序 进程 它启动具有用户定义的调度优先级的进程 如果我们给一个进程更高的优先级 那么内核会为这个进程分配更多的 CPU 时间 而 renice 命令允许您更改和修改已运行进程的调度优先级 什么是进程简而言之 进程是 Linux 用来承担运行程序角色的命名约定 进程是规则的集合 任何特定程序通过这些规则使用分配的处理器时间 内存和 I O 资源 Linux 系统上运行的每个进程都有自己的进程 ID PID 通过它可以对其进行监视和管

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号