From b1f3b71a091c6def2109853c579aff3190c2510e Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Mon, 9 Jan 2017 16:11:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=B8=A6=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E4=BA=8C=E7=BB=B4=E7=A0=81=E6=8E=A5=E5=8F=A3=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=AF=B9=E6=9C=89=E6=95=88=E6=9C=9F=E7=9A=84?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/mp/api/WxMpQrcodeService.java | 20 +++++++++---------- .../mp/api/impl/WxMpQrcodeServiceImpl.java | 12 ++++++++++- .../api/impl/WxMpQrCodeServiceImplTest.java | 2 +- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpQrcodeService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpQrcodeService.java index 893712081..ddfd02a57 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpQrcodeService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpQrcodeService.java @@ -7,7 +7,7 @@ import java.io.File; /** * 二维码相关操作接口 - * + * 文档地址:https://mp.weixin.qq.com/wiki?action=doc&id=mp1443433542&t=0.9274944716856435 * @author Binary Wang */ public interface WxMpQrcodeService { @@ -15,28 +15,28 @@ public interface WxMpQrcodeService { /** *
    * 换取临时二维码ticket
-   * 详情请见: 生成带参数的二维码
+   * 详情请见: 生成带参数的二维码
    * 
* - * @param sceneId 参数。 - * @param expireSeconds 过期秒数,默认60秒,最小60秒,最大1800秒 + * @param sceneId 场景值ID,临时二维码时为32位非0整型 + * @param expireSeconds 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。 */ WxMpQrCodeTicket qrCodeCreateTmpTicket(int sceneId, Integer expireSeconds) throws WxErrorException; /** *
    * 换取永久二维码ticket
-   * 详情请见: 生成带参数的二维码
+   * 详情请见: 生成带参数的二维码
    * 
* - * @param sceneId 参数。永久二维码时最大值为100000(目前参数只支持1--100000) + * @param sceneId 场景值ID,最大值为100000(目前参数只支持1--100000) */ WxMpQrCodeTicket qrCodeCreateLastTicket(int sceneId) throws WxErrorException; /** *
    * 换取永久字符串二维码ticket
-   * 详情请见: 生成带参数的二维码
+   * 详情请见: 生成带参数的二维码
    * 
* * @param sceneStr 参数。字符串类型长度现在为1到64 @@ -46,7 +46,7 @@ public interface WxMpQrcodeService { /** *
    * 换取二维码图片文件,jpg格式
-   * 详情请见: 生成带参数的二维码
+   * 详情请见: 生成带参数的二维码
    * 
* * @param ticket 二维码ticket @@ -56,7 +56,7 @@ public interface WxMpQrcodeService { /** *
    * 换取二维码图片url地址(可以选择是否生成压缩的网址)
-   * 详情请见: 生成带参数的二维码
+   * 详情请见: 生成带参数的二维码
    * 
* * @param ticket 二维码ticket @@ -67,7 +67,7 @@ public interface WxMpQrcodeService { /** *
    * 换取二维码图片url地址
-   * 详情请见: 生成带参数的二维码
+   * 详情请见: 生成带参数的二维码
    * 
* * @param ticket 二维码ticket diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpQrcodeServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpQrcodeServiceImpl.java index 9726b3738..5b00720a0 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpQrcodeServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpQrcodeServiceImpl.java @@ -28,7 +28,17 @@ public class WxMpQrcodeServiceImpl implements WxMpQrcodeService { @Override public WxMpQrCodeTicket qrCodeCreateTmpTicket(int sceneId, Integer expireSeconds) throws WxErrorException { if (sceneId == 0) { - throw new WxErrorException(WxError.newBuilder().setErrorCode(-1).setErrorMsg("临时二维码场景只不能为0!").build()); + throw new WxErrorException(WxError.newBuilder().setErrorCode(-1).setErrorMsg("临时二维码场景值不能为0!").build()); + } + + //expireSeconds 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。 + if (expireSeconds != null && expireSeconds > 2592000) { + throw new WxErrorException(WxError.newBuilder().setErrorCode(-1) + .setErrorMsg("临时二维码有效时间最大不能超过2592000(即30天)!").build()); + } + + if (expireSeconds == null) { + expireSeconds = 30; } String url = API_URL_PREFIX + "/create"; diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpQrCodeServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpQrCodeServiceImplTest.java index a2ab5328e..d1475dfe5 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpQrCodeServiceImplTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpQrCodeServiceImplTest.java @@ -19,7 +19,7 @@ import java.io.File; */ @Test(groups = "qrCodeAPI") @Guice(modules = ApiTestModule.class) -public class WxMpQrCodeServiceImplTest { +public class WxMpQrcodeServiceImplTest { @Inject protected WxMpService wxService;