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();