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;