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 af574c1bc..50fb8dc87 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 @@ -508,6 +508,17 @@ public interface WxMpService { */ public File qrCodePicture(WxMpQrCodeTicket ticket) throws WxErrorException; + /** + *
+   * 换取二维码图片url地址
+   * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=生成带参数的二维码
+   * 
+ * @param ticket 二维码ticket + * @return + * @throws WxErrorException + */ + public String qrCodePictureUrl(String ticket) throws WxErrorException; + /** *
    * 长链接转短链接接口
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 7c109be57..b59d56fb7 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
@@ -46,6 +46,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.security.NoSuchAlgorithmException;
 import java.util.*;
 import java.util.Map.Entry;
@@ -472,6 +474,19 @@ public class WxMpServiceImpl implements WxMpService {
     return execute(new QrCodeRequestExecutor(), url, ticket);
   }
 
+  @Override
+  public String qrCodePictureUrl(String ticket) throws WxErrorException {
+    String url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s";
+    try {
+      return String.format(url, URLEncoder.encode(ticket, "utf-8"));
+    } catch (UnsupportedEncodingException e) {
+      WxError error = new WxError();
+      error.setErrorCode(-1);
+      error.setErrorMsg(e.getMessage());
+      throw new WxErrorException(error);
+    }
+  }
+
   public String shortUrl(String long_url) throws WxErrorException {
     String url = "https://api.weixin.qq.com/cgi-bin/shorturl";
     JsonObject o = new JsonObject();