From b47c967ee227340e314760a37c4972752efb548f Mon Sep 17 00:00:00 2001 From: BinaryWang Date: Fri, 15 Apr 2016 13:59:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E6=8D=A2=E5=8F=96?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=9B=BE=E7=89=87url=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/chanjar/weixin/mp/api/WxMpService.java | 11 +++++++++++ .../me/chanjar/weixin/mp/api/WxMpServiceImpl.java | 15 +++++++++++++++ 2 files changed, 26 insertions(+) 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 af574c1b..50fb8dc8 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 7c109be5..b59d56fb 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();