换取微信公众号二维码第一步需要去设置ip白名单 本机电脑的ip地址(既百度输入ip所得到的地址)
不多说直接上代码
package com.kosn.base.controller;
import com.alibaba.fastjson.JSON;
import com.kosn.base.kit.PropKit;
import com.kosn.base.model.WechatQRCode;
import com.kosn.base.utils.HttpClientUtil;
import com.kosn.base.utils.WeixinUtill;
import com.wxpay.config.WXPayConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import net.sf.json.JSONObject;
import org.springframework.web.bind.annotation.ResponseBody;
import java.net.URLEncoder;
import java.util.Map;
@Controller
public class QrCodeController {
private static final String APPID = "自己的APPID";
private static final String SECRET = "自己的SECRET";
@RequestMapping("/token")
@ResponseBody
public static String getQR() {
String getTokenUrl1 = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+APPID+"&secret="+SECRET; // 微信公众号token
String tokenResult = HttpClientUtil.doGet(getTokenUrl1);
Map<String, String> tokenResultMap = JSON.parseObject(tokenResult, Map.class);
String access_token = tokenResultMap.get("access_token");
return access_token;
}
// 临时二维码
// sceneid 自定义参数
@RequestMapping("/qrcode")
@ResponseBody
public static String qr(int sceneid) {
//获得token不再说明
String assesstoken = getQR();
WechatQRCode wechatQRCode = createTemporaryTicket(assesstoken, 900, sceneid);
return getRQcode(wechatQRCode.getTicket());