微信公众平台开发(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. 小结

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

相关文章
|
8月前
|
安全 前端开发 Java
基于springboot的微信公众号管理系统(支持多公众号接入)
基于springboot的微信公众号管理系统(支持多公众号接入)
151 2
|
2月前
|
API
如何在公众号里制作微信报名表
微信万能表单不仅可以制作各种报名单,也可以用作问卷调查,商品发布,登记汇总等,可以根据自己需求,来添加组件,比如姓名、手机号、性别、报名的时间、报名的图片等,因为微信报名表涉及的用途比较广泛,所以很多商家在做微信公众号报名表的时候,针对性不会太强,没有什么局限性,应用还是起来比较方便的
80 12
|
3月前
|
应用服务中间件 网络安全 Apache
Discuz! X3.5 开启ssl证书加密后微信、公众号无消息、支付宝通讯中断等
Discuz! X3.5 开启ssl证书加密后微信、公众号无消息、支付宝通讯中断等、支付宝支付实际支付成功,显示未支付等,都属于通讯中断,需要联系DZ官方付费修改程序,屏蔽防CC!
72 4
|
3月前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
96 0
微信小程序:自定义关注公众号组件样式
|
3月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
66 0
|
6月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
437 0
|
8月前
|
PHP
PHP公众号开发给用户发微信消息提醒功能
该内容是一个关于如何在时间紧迫的情况下,通过微信客服消息接口实现用户资金到账或成员变动时发送微信通知的项目总结。
66 2
|
7月前
|
Java API
java进行微信公众号开发
java进行微信公众号开发
171 0
|
8月前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
144 0
|
8月前
|
XML 安全 Java
如何开发微信公众号后台
如何开发微信公众号后台
196 0