网站首页 > java教程 正文
最近业务给咱们开发同事提了一个很简单的需求-生成小程序码,同事可能是平时写CRUD写多了,听到是不熟悉的领域的东西就觉得有些头大,便来问我如何实现,我说:“这个得看官方说明文档了,然后调接口实现。如果觉得麻烦就找开源组件直接引用即可,比如WxJava”。可能是我表述得不够清楚,同事依然一脸懵逼,感觉甚是复杂。
接下来,我们就整合开源组件WxJava的miniapp版本来快速实现小程序码生成功能。
引入wx-java-miniapp-spring-boot-starter
|
|
配置小程序信息
|
|
如果只是生成小程序码或者获取小程序连接,那便只配置appId和secret即可。
调用API
小程序官方有三种小程序码的生成方式,WxJava封装了官方的API接口为我们提供三个API的方法:
- createQrcode 对应官方的获取小程序二维码接口,生成的小程序码,永久有效,有数量限制,参数带在URL后面
- createWxaCode 对应官方的 获取小程序码接口,生成的小程序码,永久有效,有数量限制,参数带在URL后面
- createWxaCodeUnlimit 对应官方的获取不限制的小程序码接口,生成的小程序码,永久有效,数量暂无限制,参数需要传到scene中,小程序端需要从query.scene中获取
@Resource
WxMaService wxMaService;
@GetMapping(value = "/generateQrcode/{id}", produces = {MediaType.IMAGE_JPEG_VALUE, MediaType.IMAGE_PNG_VALUE})
public byte[] generateQrcode(HttpServletRequest request,@PathVariable("id")String id) throws WxErrorException {
return wxMaService.getQrcodeService().createWxaCodeBytes("路径?id="+id,"",640,true,null,false);
}
这里我只是简单的模拟API的调用方式,如果使用有数量限制的API接口,我们需要将生成好的图片上传到文件服务器,或者是保存下来。因为资源有限,我们得节约一点。
|
|
默认图片大小为430像素,颜色自动调整,可以通过WxMaCodeLineColor对象来设置生成的颜色,
|
|
这里需要注意的是,要生成的小程序必须是已发版,如果是调用的createWxaCodeUnlimit方法,路径也必须在正式存在,否则会提示异常
|
|
如今,开源的组件越来越多,其可帮助我们提升开发效率,但是我们也不能过渡依赖于这些组件,完成工作交差之后就停滞不前,在使用它们的同时也需要多去学习、思考。
猜你喜欢
- 2024-09-27 运维干货来啦:Jenkins+gradlew自动构建android项目提供下载链接和二维码下载
- 2024-09-27 基于 Spring Boot 和 WxJava 实现网站接入微信扫码登录
- 2024-09-27 基于token的多平台身份认证架构设计
- 2024-09-27 在线二维码生成器有哪些?微信二维码转换成链接如何实现?
- 2024-09-27 扫二维码提货系统自己建,系统搭建与操作指南分享
- 2024-09-27 PDF文件添加二维码水印(pdf二维码怎么弄出来扫码)
- 2024-09-27 掏出手机,扫一扫,即刻登录——SpringBoot实现二维码扫码登录
- 2024-09-27 短连接生成器有哪些?制作二维码生成器有哪些?
- 2024-09-27 慕课网Java相关课程学习项目源码,以及源码地址
- 2024-09-27 二维码扫描优化(微信二维码优化)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)