java创建微信小程序二维码
创建微信小程序二维码有两个接口需要
一个是获取tocken的接口
一个是生成二维码的接口
获取tocken接口
//**********填写你的小程序appid 和 secret
public static String getAccessToken() throws IOException {//获取tokcen接口String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=*********&secret=*********";url.trim();//创建http请求CloseableHttpClient aDefault = HttpClients.createDefault();HttpGet httpGet=new HttpGet(url);CloseableHttpResponse execute = aDefault.execute(httpGet);String toString = EntityUtils.toString(execute.getEntity());System.out.println(toString);Map map = JSONObject.parseObject(toString, Map.class);System.out.println(map);//只获取tocken返回return map.get("access_token").toString();}
接下来就是获取二维码接口
微信小程序提供了三种
其余两种是数量或时间有限制我们使用第三种数量和时间没有限制的接口
//这里使用HttpServletResponse response吧接收到的二维码发送给前端@GetMapping("/WXEwm")@ResponseBodypublic String WXEwm(HttpServletRequest request , HttpServletResponse response) {try{//获取tockenString accessToken = GetOpenIdUtil.getAccessToken();//生成二维码接口:吧tocken添加在地址后URL url = new URL("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+accessToken);//创建http请求HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();httpURLConnection.setRequestMethod("POST");// 提交模式// conn.setConnectTimeout(10000);//连接超时 单位毫秒// conn.setReadTimeout(2000);//读取超时 单位毫秒// 发送POST请求必须设置如下两行httpURLConnection.setDoOutput(true);httpURLConnection.setDoInput(true);// 获取URLConnection对象对应的输出流PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());// 发送请求参数JSONObject paramJson = new JSONObject();//将所有要添加的数据放到scene参数中并做URLDecoder(前端接收数据要从scene中获取)String decode = URLDecoder.decode("a=132;b=132;", "UTF-8");paramJson.put("scene", decode);//转发地址扫描二维码要跳转到那里只获取路径前面去掉/后面不加参数也去掉/paramJson.put("page", "packtwo/pages/details/index");paramJson.put("width", 430);paramJson.put("auto_color", true);printWriter.write(paramJson.toString());// flush输出流的缓冲printWriter.flush();//开始获取数据将数据放到流中BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());Date date = new Date();Timestamp timestamp = new Timestamp(System.currentTimeMillis());long time = timestamp.getTime();response.addHeader("Content-Disposition", "inline;filename=\"" + new String("aaa".getBytes("gb2312"), "ISO8859-1")+"\"");//将获取到的流返回到response中//如果要保存到本地 BufferedOutputStream os = new BufferedOutputStream("D:加上你的路径");BufferedOutputStream os = new BufferedOutputStream(response.getOutputStream());int len;byte[] arr = new byte[1024];while ((len = bis.read(arr)) != -1){os.write(arr, 0, len);os.flush();}os.close();}catch (Exception e){e.printStackTrace();}return "ok";}
测试postman
swagger
java创建微信小程序二维码相关推荐
- java获取微信小程序二维码
java获取微信小程序二维码 近期正好遇到了,随手记录下 首先获取微信小程序二维码需要小程序的appid 以及secret 然后根据appid和secret去获取小程序的token 即 access_ ...
- Java生成微信小程序二维码
Java生成微信小程序二维码 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.Byt ...
- java获取微信小程序二维码图片并保存到本地
java获取微信小程序二维码保存到本地并返回图片,下次如果检查到本地有图片,那么就返回本地的图片,不再发起请求,否则重新发起请求并保存到本地,直接看代码吧. 获取access_token的方法可以参考 ...
- Java生成微信小程序二维码,5种实现方式,一个比一个简单
文章目录 前言 先看官网 一.JDK自带的URLConnection方式 二.Apache的HttpClient方式 三.okhttp3方式 四.Unirest方式 五.RestTemplate方式 ...
- 【java】Java生成微信小程序二维码
文章目录 前言 应用场景 微信小程序官网 1.RestTemplate方式 核心代码 getAccessToken 2. Unirest方式 Maven依赖 核心代码 3. okhttp3方式 Mav ...
- Java生成微信小程序二维码、上传至阿里云OSS
依赖 <!-- 阿里云oss依赖 --><dependency><groupId>com.aliyun.oss</groupId><artifac ...
- java开发微信小程序——二维码生成
https://blog.csdn.net/persistencegoing/article/details/84376427 工具类: public class TwoCode { ...
- java生成微信小程序二维码(自定义带参)
准备工作: 1:获取微信小程序apiKey 2:获取微信小程序密钥 3:获取微信小程序页面链接 pom依赖: <dependency><groupId>com.alibaba& ...
- 小程序如何关联微信小程序二维码,实现二码聚合
相信大家在停车场遇到过这样的场景,在停车场入场和出场时,不管我们是用微信还是支付宝,只需台扫同一个二维码,自动识别打开各端小程序,并带入参数停车场id和通道id. 这种方式一般统称为二维码聚合或者说是 ...
最新文章
- ORACLE REPLACE函数
- [luogu 2324][SCOI 2005] 骑士精神 (A*算法)
- 这样的奇技淫巧不可取,切记切记
- 机器学习(九)——EM算法
- Apache设置文件缓存时间
- 《HTML5移动应用开发入门经典》—— 1.6 编写移动网站
- Selenium API-WebDriver 方法
- 网络映射连接不上_Mac连接不上无线网络的解决方法
- 使用 Sublime 比较文档差异
- L1-049 天梯赛座位分配 (20分) (C++)
- mysql 5.5 slow log_mysql5.5开启慢日志slowlog的方法(log_slow_queries)_MySQL
- 小南迎宾机器人使用说明
- 把数学学好才能画好图形
- mysql 查看slow query_MySQL慢查询日志(slow log)
- 黄淮学院计算机重点学科,黄淮学院专业排名 最好的专业有哪些
- SQL Server高级子查询
- NUIST第三届程序设计团体赛试题
- 基于stm32物联网开发板(1)
- windows共享文件夹报错:登录失败: 禁用当前的账户 解决办法
- 我的世界服务器武器修改器,我的世界武器修改器
热门文章
- 解决:“Unity打包非全屏游戏,运行时仍然全屏” 的问题
- 【人工智能】—Admissible Heuristics可容许启发式函数
- C#关于64位双精度浮点数Double(DReal)一步步按位Bit进行解析
- Android 知识点
- 标签打印软件如何制作保修标志
- 高精度焊接机械臂定位
- ideal 首次使用无法导入jar包问题
- php设置浏览次数,【php】集思广益,关于有效浏览次数的计算,大家都是如何来做呢?...
- 从 0 到 1 用 Vue 封装一个日历组件
- 一个人和一家企业的半山腰:在京东完成技术转身之际