微信小程序码用于分享使用
java生成微信小程序码并上传到阿里云返回路径:
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class WxQrCodeUtil {
public static String GET_MINICODE_URL="https://api.weixin.qq.com/wxa/getwxacodeunlimit";
//微信小程序appid
public static String APPID="";
//微信小程序秘钥
public static String APPSECRET="";
public static String getAccessTokenAsUrl(){
String tokenStr=HttpUtil.get("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+APPID+"&secret="+APPSECRET+"");
JSonObject jsonObject = JSONObject.parseObject(tokenStr);
return "?access_token="+jsonObject.getString("access_token");
}
public static String downloadMiniCode(String fileName, String certNumber){
Map paramMap = new HashMap<>();
paramMap.put("scene",certNumber);
paramMap.put("is_hyaline",true);
String imgFilePath="";
try
{
URL url = new URL(GET_MINICODE_URL+getAccessTokenAsUrl());
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");// 提交模式
httpURLConnection.setConnectTimeout(10000);//连接超时 单位毫秒
httpURLConnection.setReadTimeout(10000);//读取超时 单位毫秒
// 发送POST请求必须设置如下两行
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
// 获取URLConnection对象对应的输出流
PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
printWriter.write(JSON.toJSonString(paramMap));
// flush输出流的缓冲
printWriter.flush();
//开始获取数据
BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());
OSSClientUtil ossClientUtil=new OSSClientUtil();
imgFilePath= ossClientUtil.uploadFile(fileName, "qrcode",bis );
}
catch (Exception e)
{
e.printStackTrace();
}
return imgFilePath;
}
}
此方法可用于分享



