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 {