Java生成微信微信小程序太阳码,解决图片错误问题
二维码生成链接
如需依赖也是在上边这个链接里
1.GetTokenUtil类
获取Token
import com.alibaba.fastjson.JSONObject;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;public class GetTokenUtil {/*** 向指定 URL 发送POST方法的请求** @param url 发送请求的 URL* @return 所代表远程资源的响应结果*/public static String sendPost(String url, Map<String, ?> paramMap) {PrintWriter out = null;BufferedReader in = null;String result = "";String param = "";Iterator<String> it = paramMap.keySet().iterator();while (it.hasNext()) {String key = it.next();param += key + "=" + paramMap.get(key) + "&";}try {URL realUrl = new URL(url);// 打开和URL之间的连接URLConnection conn = realUrl.openConnection();// 设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("Accept-Charset", "utf-8");conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 发送POST请求必须设置如下两行 作者qq:1023732997conn.setDoOutput(true);conn.setDoInput(true);// 获取URLConnection对象对应的输出流out = new PrintWriter(conn.getOutputStream());// 发送请求参数out.print(param);// flush输出流的缓冲out.flush();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println(e);}// 使用finally块来关闭输出流、输入流finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (IOException ex) {ex.printStackTrace();}}return result;}public static String getToken() {try {Map<String, String> map = new LinkedHashMap<String, String>();map.put("grant_type", "client_credential");map.put("appid", MiniProgram.APP_ID);// 这里我是写在配置类里,需要改成自己的appidmap.put("secret", MiniProgram.APP_secret); //这里我是写在配置类里,需要改成自己的secretString rt = GetTokenUtil.sendPost("https://api.weixin.qq.com/cgi-bin/token", map);JSONObject json = JSONObject.parseObject(rt);if (json.getString("access_token") != null || json.getString("access_token") != "") {// System.out.println("token:" + json.getString("access_token"));return json.getString("access_token");} else {return null;}} catch (Exception e) {e.printStackTrace();return null;}}}
2.测试类
paramJson.put(“page”, “pages/index”);这里在小程序未发布前需要注释,否则找不到对应的页面,就会生成错误
import org.json.JSONObject;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;public class QR {public static void main(String[] args) {try {URL url = new URL("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + GetTokenUtil.getToken());System.out.println(url);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();paramJson.put("scene", "1234567890");//参数//paramJson.put("page", "pages/index");//小程序未发布前注释,否则找不到对应的页面,就会生成错误的图片paramJson.put("width", 430);
// paramJson.put("auto_color", true);
// paramJson.put("auto_color", false);JSONObject lineColor = new JSONObject();lineColor.put("r", 0);lineColor.put("g", 0);lineColor.put("b", 0);paramJson.put("line_color", lineColor);printWriter.write(paramJson.toString());// flush输出流的缓冲printWriter.flush();//开始获取数据BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());OutputStream os = new FileOutputStream(new File("D:\\云上\\tym.png"));BufferedImage read = ImageIO.read(httpURLConnection.getInputStream());if (read == null) {System.out.println("null");} else {ImageIO.write(read, "png", new File("D:\\云上\\tym1.png"));}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();}}}
3.效果图
带参数的比如pages/index?id=‘12345’
扫码后需要前端解析scene
搜索 闲益小区 小程序了解更多或者扫描太阳码
Java生成微信微信小程序太阳码,解决图片错误问题相关推荐
- 微信壁纸小程序源码修复图片无法下载-完美运营版本
源码介绍: 这套微信小程序完美修复市面上流传出来的同款壁纸小程序源码所有的Bug上线可以完美运营,最典型的就是在你们在网上下载的是不能够下载图片的,会一直显示加载中 搭建教程: https://blo ...
- java微信小程序太阳码中间logo变成成想要的图片
微信小程序太阳码中间logo变成成想要的图片 ImageMergeUtil 类 imageGenerateUtil 类,getUrlByBufferedImage()方法 ImageMergeUtil ...
- 最新JAVA智能微信停车场小程序源码+文档/兼容性很高
正文: JAVA开发的智能微信停车场小程序源码+前端+部署文档 兼容市面上主流的多家摄像机,本停车场系统兼容市面上主流的多家相机,理论上兼容所有硬件,可灵活扩展. 相机识别后数据自动上传到云端并记录 ...
- 2021最新微信影视小程序源码无限代开+搭建详细教程
源码简介: 小程序可开通流量主,达到开通条件可以选择开通流量主 即可躺着赚钱(流量主可以刷上去,但不推荐,有被封风险) 该程序后端为苹果CMS,绝非网传泛滥源码! 花钱买的某团队自运营版本,百分百的完 ...
- 微信小程序:升级版手机检测微信工具小程序源码
这是一款升级版检测工具 自动检测手机真伪,序列号等等 另外还可以给手机检测各项功能是否正常 由于能检测的项目太多,所以大家到时候自行研究吧 小编就不多做介绍 另外支持多做流量主模式,比如激励视频,ba ...
- 无BUG微信去水印小程序源码(可运营美化版+送免费接口)
无BUG微信去水印小程序源码这款是比较好看美化的去水印小程序,我在这里保证这款是百分百无Bug的,可以完美可运营的. 注意,此源码存在被骗风险,接口有加密,需要买接口需要联系作者才能解析,谨防被骗. ...
- WordPress微信壁纸小程序源码 高清壁纸下载小程序
源码介绍 WordPress微信壁纸小程序源码 高清壁纸下载小程序 [功能特点] 精美的壁纸展示页面,搜索喜欢的壁纸,下载壁纸需观看激励视频广告,看一次,可免费下一天,热门壁纸榜单,壁纸收藏.分享功能 ...
- 开源微信商城小程序源码和商城小程序开发
近年来,越来越多的人选择在移动端购物,这使得移动端购物系统的功能需求和性能复杂度越来越高.传统的购物APP不足以应对购物系统的频繁变化.因此,迫切需要一种灵活.高效.快捷的移动购物系统.开源微信商城小 ...
- 小程序源码:强大的多功能图片处理器微信小程序源码下载图片画框合成-多玩法安装简单
大家好这是以开以图片为主题的一款小程序 里面拥有了多种的图片处理功能,也算是比较强大的一款 另外小编最喜欢的就是里面的图片画框合成这个功能 该功能里面有N种画框模板,然后画框的尺寸根据您的图片自适应处 ...
- Thinkphp全新UI黑白模式微信影视小程序源码(支持多开)
源码介绍 Thinkphp全新UI黑白模式微信影视小程序源码 支持多开 授权已去除 源码截图 小程序源码下载地址: Thinkphp全新UI黑白模式微信影视小程序源码(支持多开)-小程序文档类资源-C ...
最新文章
- R语言伪相关性分析(Spurious Correlation)、相关关系不是因果关系:以哺乳动物数据集msleep为例
- python形参实参
- 折纸机器人的步骤图解_儿童节特辑丨为你精选二十款超好玩的折纸玩具,这么多总有你的菜!...
- RTX3090深度学习环境配置(PyTorch1.8)
- 推荐几款提升效率的神器
- 苹果自研5G调制解调器将在2023年量产 采用台积电4nm工艺
- 音乐陶冶情操,怎样让孩子喜欢音乐?
- CUDA——Ubuntu系统上CUDA和cuDNN的安装教程
- 在中國古代是沒有這種現象的
- 数据预处理之抽取文本信息
- android 多次点击事件,Android按钮onclick事件在多次单击后激发
- Java教程(一)---JDK和Maven安装配置
- Ubuntu 20.04美化及QQ、微信、ssh客户端安装
- m序列产生原理及其性质
- Python进阶-正则表达式
- 注意力机制——Spatial Transformer Networks(STN)
- java 线程安全和不安全
- EFT4 生成实体类
- 肝完这篇 TCP/IP ,我就去面试去。
- 软件测试课程体系应该是什么样的,软件测试是什么?怎样做一名优秀的软件测试工程师?...
热门文章
- redis info 命令查看redis使用情况
- 【命令汇总】nmap 使用教程
- Linux程序之触摸,linux触摸屏touch screen调用测试程序
- python模拟10086查询功能
- 棋逢对手 — XPS 15 2020 横评 MacBook Pro 16
- 计算机高级培训美好的一天,美好的一天愉快说说
- css使两个盒子并列_你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)...
- 关于javaSSM框架优点介绍
- 基于51单片机的火灾报警系统温度烟雾浓度阈值报警proteus仿真原理图PCB
- 40岁遭遇中年危机:好不容易熬到公司中层,月薪一万五,却突然被辞退,怎么办?...