Skip to content

Commit b47c967

Browse files
committed
增加 换取二维码图片url地址的方法
1 parent bb905f6 commit b47c967

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,17 @@ public interface WxMpService {
508508
*/
509509
public File qrCodePicture(WxMpQrCodeTicket ticket) throws WxErrorException;
510510

511+
/**
512+
* <pre>
513+
* 换取二维码图片url地址
514+
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=生成带参数的二维码
515+
* </pre>
516+
* @param ticket 二维码ticket
517+
* @return
518+
* @throws WxErrorException
519+
*/
520+
public String qrCodePictureUrl(String ticket) throws WxErrorException;
521+
511522
/**
512523
* <pre>
513524
* 长链接转短链接接口

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
import java.io.IOException;
4747
import java.io.InputStream;
4848
import java.io.StringReader;
49+
import java.io.UnsupportedEncodingException;
50+
import java.net.URLEncoder;
4951
import java.security.NoSuchAlgorithmException;
5052
import java.util.*;
5153
import java.util.Map.Entry;
@@ -472,6 +474,19 @@ public File qrCodePicture(WxMpQrCodeTicket ticket) throws WxErrorException {
472474
return execute(new QrCodeRequestExecutor(), url, ticket);
473475
}
474476

477+
@Override
478+
public String qrCodePictureUrl(String ticket) throws WxErrorException {
479+
String url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s";
480+
try {
481+
return String.format(url, URLEncoder.encode(ticket, "utf-8"));
482+
} catch (UnsupportedEncodingException e) {
483+
WxError error = new WxError();
484+
error.setErrorCode(-1);
485+
error.setErrorMsg(e.getMessage());
486+
throw new WxErrorException(error);
487+
}
488+
}
489+
475490
public String shortUrl(String long_url) throws WxErrorException {
476491
String url = "https://api.weixin.qq.com/cgi-bin/shorturl";
477492
JsonObject o = new JsonObject();

0 commit comments

Comments
 (0)