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;