微信公众平台开发(16)--公众号二维码管理

简介: 本文目录1. 概念2. 代码3. 测试4. 小结

1. 概念

公众号二维码和普通二维码是不同的,普通二维码扫码后要么显示一个字符串内容,要么跳转到一个网页(当二维码的内容是一个网址时,微信扫码会跳转对应网页)。


公众号二维码使用微信扫码后,会跳转到生成该二维码的公众号(服务号),而且会立即触发扫码事件。这样对于我们使用程序定义扫码后的动作行为,提供一个很好的切入点。


也就是说,公众号二维码扫码,第一可以跳入对应公众号,第二我们可以从后台得知扫码的具体信息并针对处理。


2. 代码

调用接口可以生成一个二维码图片文件:


/**

* 二维码管理

*/

@Api(tags = "二维码管理API")

@RestController

public class TicketController {

@Autowired

private WxMpService wxMpService;


/**

 * 生成二维码文件,扫码后会自动跳转到公众号进行处理,并触发公众号事件

 */

@PostMapping("/ticketTest")

public File ticketTest() throws WxErrorException {

 WxMpQrCodeTicket ticket = wxMpService.getQrcodeService().qrCodeCreateLastTicket("12345678");

 // 获得在系统临时目录下的文件,需要自己保存使用,注意:临时文件夹下存放的文件不可靠,不要直接使用

 File file = wxMpService.getQrcodeService().qrCodePicture(ticket);

 return file;

}


}


3. 测试

调用ticketTest,返回结果如下(涉及隐私,使用###代替部分文件名):


"C:\\Users\\chen\\AppData\\Local\\Temp\\weixin-java-tools-temp4741306921049342803\\8b03f715-7c1d-40bd-8365-cb0530b2172c598882578242########.jpg"

1

我们使用浏览器打开该图片是一个二维码,扫码会跳到公众号。


且我们已经定义了消息处理器,消息处理器打印接收到的消息如下:


{"allFieldsMap":{"Ticket":"gQEc8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAybE9PTU5yd29lR0YxMDAwME0wNzUAAgTGvl9hAwQAAAAA","CreateTime":"1633664862","EventKey":"12345678","Event":"SCAN","ToUserName":"gh_025da3703370","FromUserName":"oINiq6UqTiKqfXN3H6RmeKvvRnmw","MsgType":"event"},"toUser":"gh_025da3703370","fromUser":"oINiq6UqTiKqfXN3H6RmeKvvRnmw","createTime":1633664862,"msgType":"event","event":"SCAN","eventKey":"12345678","ticket":"gQEc8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAybE9PTU5yd29lR0YxMDAwME0wNzUAAgTGvl9hAwQAAAAA","scanCodeInfo":{},"sendPicsInfo":{"picList":[]},"sendLocationInfo":{},"hardWare":{}}


1

2

可以发现,事件为SCAN表示扫码,发送的openid等信息也能拿到了。


4. 小结

公众号二维码是跟公众号紧密结合在一起的,所以它的功能可以全面依托公众号展开。

相关文章
|
28天前
|
安全 前端开发 Java
基于springboot的微信公众号管理系统(支持多公众号接入)
基于springboot的微信公众号管理系统(支持多公众号接入)
30 2
|
1月前
|
开发者
微信公众平台开发基本配置
微信公众平台开发基本配置
85 0
|
3月前
|
Go
【微信公众号】基于golang的公众号开发基本配置
【微信公众号】基于golang的公众号开发基本配置
35 0
|
1月前
|
移动开发 JavaScript
微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片
微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片
30 0
|
2月前
|
小程序 JavaScript
微信小程序显示二维码?
微信小程序显示二维码?
|
2月前
|
前端开发 NoSQL Java
springboot整合微信(公众号)实现扫码登录(两种方式,两种实现)
springboot整合微信(公众号)实现扫码登录(两种方式,两种实现)
131 0
|
3月前
|
XML Go 数据格式
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
125 0
|
4月前
|
小程序
微信小程序中长按识别二维码
微信小程序中长按识别二维码
82 0
|
4月前
|
小程序 开发者
微信小程序保存二维码的过程
微信小程序保存二维码的过程
60 0
|
9天前
|
JSON 缓存 小程序
.NET生成微信小程序推广二维码
.NET生成微信小程序推广二维码