diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java index f5efb570..d822fc33 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java @@ -511,6 +511,17 @@ public interface WxMpService { */ public File qrCodePicture(WxMpQrCodeTicket ticket) throws WxErrorException; + /** + *
+ * 换取二维码图片url地址(可以选择是否生成压缩的网址) + * 详情请见: 生成带参数的二维码 + *+ * @param ticket 二维码ticket + * @param needShortUrl 是否需要压缩的二维码地址 + * @return + * @throws WxErrorException + */ + public String qrCodePictureUrl(String ticket, boolean needShortUrl) throws WxErrorException; /** *
* 换取二维码图片url地址 diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java index ef3975de..339368f3 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java @@ -519,17 +519,27 @@ public class WxMpServiceImpl implements WxMpService { } @Override - public String qrCodePictureUrl(String ticket) throws WxErrorException { + public String qrCodePictureUrl(String ticket, boolean needShortUrl) throws WxErrorException { String url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s"; try { - return this.shortUrl(String.format(url, - URLEncoder.encode(ticket, Charsets.UTF_8.name()))); + String resultUrl = String.format(url, + URLEncoder.encode(ticket, Charsets.UTF_8.name())); + if(needShortUrl){ + return this.shortUrl(resultUrl); + } + + return resultUrl; } catch (UnsupportedEncodingException e) { WxError error = WxError.newBuilder().setErrorCode(-1) .setErrorMsg(e.getMessage()).build(); throw new WxErrorException(error); } } + + @Override + public String qrCodePictureUrl(String ticket) throws WxErrorException { + return qrCodePictureUrl(ticket, false); + } @Override public String shortUrl(String long_url) throws WxErrorException {