项目中遇到一个生成小程序二维码的需求,经过调研采用官方提供的wxacode.getUnlimited 方法来生成,
官方文档地址: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html

思路:

  1. 首先请求接口,获取到二进制内容
  2. 然后将二进制转为图片,保存到本地/服务器
package org.jsola.hr.common.wechat;import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;/*** 小程序二维码处理类*/
@Slf4j
@Component
public class QRCodeUtils {public void getQRCode() {Map<String, Object> parameters = new HashMap<>();// 小程序appidString appid = "xxx";// 小程序秘钥String secret = "xxx";log.info("appid:{},secret:{}", appid, secret);String accessToken = MessageHandlerUtil.getAccessToken(appid, secret).getAccessToken();parameters.put("scene", "");parameters.put("width", 430);String url= "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;// 请求生成二维码接口,返回图片二进制内容byte[] bytes = HttpUtils.httpPostByte(url, parameters);try {ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);BufferedImage bi1 = ImageIO.read(byteArrayInputStream);//可以是jpg,png,gif格式   File file = new File("C:\\Users\\Administrator\\Desktop\\123.png");// TODO: 将本地文件上传到服务器,返回图片存储地址// 不管输出什么格式图片,此处不需改动ImageIO.write(bi1, "jpg", file);} catch (IOException e) {log.error("生成小程序二维码失败:{}", e.getMessage());}}}

请求接口获取二进制流

package org.jsola.hr.common.wechat;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import kong.unirest.Unirest;
import lombok.extern.slf4j.Slf4j;import java.util.Map;/*** @Author* @Description:* @Date in 16:57* @Modify By:*/
@Slf4j
public class HttpUtils {private static ObjectMapper objectMapper = new ObjectMapper();/*** 获取二进制流** @param url    url* @param params 参数值*/public static byte[] httpPostByte(String url, Map<String, Object> params) {String jsonParams = "";try {jsonParams = objectMapper.writeValueAsString(params);} catch (JsonProcessingException e) {e.printStackTrace();}kong.unirest.HttpResponse<byte[]> httpResponse = Unirest.post(url).body(jsonParams).asBytes();byte[] body = httpResponse.getBody();log.info("body:{}", body);return body;}}

获取小程序二维码并保存为图片相关推荐

  1. 微信小程序获取二维码接口整理,.Net Core后台获取小程序二维码

    2019独角兽企业重金招聘Python工程师标准>>> 一.关于二维码接口说明 参考:https://my.oschina.net/tianma3798/blog/1811307 获 ...

  2. 获取小程序二维码携带的参数

    小程序获取二维码参数 生成二维码的时候使用的是 wxacode.getUnlimited,接口 B(数量不受限制,参数较短) 文档的截图如下: 可以看到生成的二维码的参数需要放在 scene 中 假设 ...

  3. 微信小程序——服务端获取小程序二维码 永久有效 数量无限制

    因为现在做的小程序,想要分享小程序中的页面给微信好友,那就可以使用二维码,很方便. 而且通过后台接口可以获取小程序任意页面的小程序码 扫描该小程序码可以直接进入小程序对应的页面,所有生成的小程序码永久 ...

  4. 小程序+二维码(带logo图片,可直接运行)

    前言: 因为业务需要,再小程序上也得实现带logo的二维码效果,这里整理带logo二维码和不带logo二维码两种效果 效果图: 不带logo二维码效果图: 带logo二维码效果图: 一. 不带logo ...

  5. php生成小程序二维码出现40001的情况

    php生成小程序二维码出现40001的情况 获取二维码时,小程序的access_token莫名奇妙失效了? 生成小程序二维码时遇到的坑,明明刚获取到的access_token,生成二维码时总是提示说 ...

  6. java获取微信小程序二维码图片并保存到本地

    java获取微信小程序二维码保存到本地并返回图片,下次如果检查到本地有图片,那么就返回本地的图片,不再发起请求,否则重新发起请求并保存到本地,直接看代码吧. 获取access_token的方法可以参考 ...

  7. 小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈

    小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈 一.概述 需要用到的生成二维码组件(可自行下载添加到小程序根目录utils里):https://github.com/demi52 ...

  8. 手把手教你Nodejs获取微信小程序二维码

    [小程序二维码和普通二维码] 下图左为小程序码,右为普通二维码, 普通二维码的生成比较简单,只用jquery就可以生成,详见:https://blog.csdn.net/uikoo9/article/ ...

  9. 获取url地址后面参数的2种方法(小程序二维码跳转参数解析)

    微信扫描小程序二维码后,在页面的onLoad函数的参数options内可以拿到跳转参数scene值,但是需要对scene进行decodeURIComponent操作,方法如下: 方法一: 扫码二维码地 ...

最新文章

  1. 如何高效读论文?剑桥CS教授亲授“三遍论”
  2. centos 安装php5.6
  3. python爬虫教程网-python爬虫入门10分钟爬取一个网站
  4. oracle 10046详解
  5. ASP.NET2.0数据库入门之SQL Server
  6. ceph中查看一个rbd的image的真实存储位置
  7. 物联网避坑 3 大指南!
  8. JAMA子刊:20来岁就要控制体重!分析超8万中国人数据发现,成年到中年体重每多增加10斤,老了之后死亡风险增加10%...
  9. 大数据之-Hadoop3.x_MapReduce_区内排序案例---大数据之hadoop3.x工作笔记0117
  10. 合并table中某一列相邻的相同的行
  11. DevExpress WinForm 控件汉化方法 代码(一)
  12. Mybatis学习教程②
  13. 应有尽有,Python 程序员需要掌握的机器学习“四大名著”发布啦
  14. html表格(网页里制作表格)
  15. 社保到底是多交好,还是少交好?
  16. JAVA视频资料百度网盘分享
  17. 后缀自动机(模板+例题)
  18. [前端框架]-VUE(下篇)
  19. Java之Builder模式使用
  20. iQQ 学习笔记3 :编写代码打包Ant脚本

热门文章

  1. 特32 中国制造第一艘万吨远洋货轮
  2. 学习JavaDay05
  3. python抽样_python数据预处理 :数据抽样解析
  4. python检索用人名查电话_利用Python电话本小程序!这波操作你给几分?
  5. bim综合软件如何操作局部三维?
  6. 博科光纤交换机的级联
  7. 鱼鹰M2--可垂直起降的双发固定翼无人机
  8. 从张帅进入澳网女子八强来谈我的苦恼
  9. 一步步教你如何简单自定义 ADB 指令
  10. ceph 版本升级_Ceph V10.2.0 Jewel正式版本发布