Java获取微信小程序二维码
tip:通过该接口,仅能生成已发布的小程序的二维码。tip:可以在开发者工具预览时生成开发版的带参二维码。tip:接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用。tip: POST 参数需要转成 json 字符串,不支持 form 表单提交。tip: auto_color line_color 参数仅对小程序码生效。
/*
* 获取二维码
* 这里的 post 方法 为 json post【重点】
*/
@RequestMapping("/getCode")
public ResponseMsg getCodeM(HttpServletRequest request) throws Exception { String imei ="867186032552993";
String page="page/msg_waist/msg_waist";
String token = getToken(); // 得到token Map<String, Object> params = new HashMap<>();
params.put("scene", imei); //参数
params.put("page", "page/msg_waist/msg_waist"); //位置
params.put("width", 430); CloseableHttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+token); // 接口
httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json");
String body = JSON.toJSONString(params); //必须是json模式的 post
StringEntity entity;
entity = new StringEntity(body);
entity.setContentType("image/png"); httpPost.setEntity(entity);
HttpResponse response; response = httpClient.execute(httpPost);
InputStream inputStream = response.getEntity().getContent();
String name = imei+".png";
saveToImgByInputStream(inputStream,"D:\\",name); //保存图片
return null;
} /*
* 获取 token
* 普通的 get 可获 token
*/
public String getToken() {
try { Map<String, String> map = new LinkedHashMap<String, String>();
map.put("grant_type", grant_type);
map.put("appid", appid);
map.put("secret", secret); String rt = HttpUtils.sendGet(TOKEN_URL, map); System.out.println(rt);
JSONObject json = JSONObject.parseObject(rt); if (json.getString("access_token") != null || json.getString("access_token") != "") {
return json.getString("access_token");
} else {
return null;
}
} catch (Exception e) {
log.error("# 获取 token 出错... e:" + e);
e.printStackTrace();
return null;
} } /**
* 将二进制转换成文件保存
* @param instreams 二进制流
* @param imgPath 图片的保存路径
* @param imgName 图片的名称
* @return
* 1:保存正常
* 0:保存失败
*/
public static int saveToImgByInputStream(InputStream instreams,String imgPath,String imgName){
int stateInt = 1;
if(instreams != null){
try {
File file=new File(imgPath,imgName);//可以是任何图片格式.jpg,.png等
FileOutputStream fos=new FileOutputStream(file);
byte[] b = new byte[1024];
int nRead = 0;
while ((nRead = instreams.read(b)) != -1) {
fos.write(b, 0, nRead);
}
fos.flush();
fos.close();
} catch (Exception e) {
stateInt = 0;
e.printStackTrace();
} finally {
}
}
return stateInt;
}
Java获取微信小程序二维码的更多相关文章
- Java 获取微信小程序二维码(可以指定小程序页面 与 动态参数)
一.准备工作 微信公众平台接口调试工具 小程序的唯一标识(appid) 小程序的密钥(secret) 二.获取access_token 打开微信公众平台接口调试工具,在参数列表中输入小程序的appid ...
- 图片的URL上传至阿里云OSS操作(微信小程序二维码返回的二进制上传到OSS)
当我们从网络中获取一个URL的图片我们要存储到本地或者是私有的云时,我们可以这样操作 把url中的图片文件下载到本地(或者上传到私有云中) public String uploadUrlToOss ...
- 微信小程序-二维码汇总
小程序二维码在生活中的应用场景很多,比如营销类一物一码,扫码开门,扫码付款等...小程序二维码分两种? 1.普通链接二维码 即跟普通的网站链接生成的二维码是一个意思,这种二维码的局限性如下: 对于普通 ...
- php生成微信小程序二维码源码
目前有3个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口.第一步:获取 access_token public function getWxAccessToken(){ $appid ...
- 微信小程序二维码推广统计
微信小程序可以通过生成带参数的二维码,那么这个参数是可以通过APP的页面进行监控的 这样就可以统计每个二维码的推广效果. 今天由好推二维码推出的小程序统计工具HotApp小程序统计也推出了带参数二维码 ...
- 微信小程序二维码是无法识别二维码跳转到小程序
今天测试了一下,微信小程序圆形二维码是不能直接识别跳转到小程序: 但h5页面的那种微信公众号二维码是可以直接识别
- 微信小程序二维码识别
目前市场上二维码识别的软件或者网站越来越多,可是真正方便,无广告的却少之很少. 于是,自己突发奇想做了一个微信二维码识别的小程序. 包含功能: 1.识别二维码 ①普通二维码 ②条形码 ③只是复制解析出 ...
- 微信小程序参数二维码6问6答
微信小程序参数二维码[基础知识篇],从6个常见问题了解小程序参数二维码的入门知识. 1.什么是小程序参数码? 微信小程序参数二维码:针对小程序特定页面,设定相应参数值,用户扫描后进入相应的页面. 2. ...
- node 无脑生成小程序二维码图
RT 新建createwxaqrcode.js: const request = require('request') const fs = require('fs') // eg:生成购物车列表圆形 ...
随机推荐
- day24(JAVAWEB上传与下载)
javaWeb上传与下载 上传: 上传方式: jspSmartUpload :应用在jsp上的文件上传与下载组件. FileUpload :用用在jaava环境上的上传的功能 ...
- (最优m个候选人 和他们的编号)Jury Compromise (POJ 1015) 难
http://poj.org/problem?id=1015 Description In Frobnia, a far-away country, the verdicts in court t ...
- centos常用命令--备份
端口打开 命令如下:/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #8080为指定端口 /etc/rc.d/init.d/iptables ...
- mysql_触发器
mysql触发器 触发器:trigger,事先为某张表绑定好一段代码,当表中某些内容发生改变的时候(增删改),系统会自动触发代码,执行 触发器:事件类型,触发时间,触发对象 事件类型:增删改,三种类型 ...
- redis解决保存快照失败后redis无法写入的问题
通过关闭配置项stop-writes-on-bgsave-error解决该问题. redis 127.0.0.1:6379> config set stop-writes-on-bgsave-e ...
- hive的 order by & distribute by & cluter by
我们应该都清楚order by 的含义: 根据某个字段对输出的数据排序,因为只有一个reducer,所以查询效率较慢. 那么hive中,另外两个排序,distribute by和cluster by的 ...
- WebApi使用JWT认证
https://www.cnblogs.com/wangyulong/p/8727683.html https://blog.csdn.net/kebi007/article/details/7286 ...
- ASP.NET MVC高亮显示当前页面菜单
1.创建MvcHtmlExtension扩展类 public static class MvcHtmlExtension { public static MvcHtmlString MenuLink( ...
- 在Windows7系统上能正常使用的程序,Windows10运行后部分状态不能及时变更
这是最近在开发一个通信项目时遇到的问题,一开始以为是窗体样式的原因,把窗体换成系统窗体之后还是在Win10上不能正常使用,后面突然想到会不会是匹配原因,试了一下,结果真的就正常了. 问题:例如一个通信 ...
- C#导出HTML到PDF组件 Pechkin
C#导出PDF功能是开发中经常遇到的功能,我们采用第三方的组件,比如 iTextSharp, aspose等,还能搜到一些开源的类库, 但是对于一些内容复杂样式丰富的PDF,我们希望通过传入一个URL ...