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 f5efb5708..d822fc334 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 ef3975ded..339368f31 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 {