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 5500376c9..2f0e68446 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 @@ -70,7 +70,7 @@ public interface WxMpService { * @param url url * @return */ - public String createJsapiSignature(String timestamp, String noncestr, String url) throws WxErrorException; + public String createJsapiSignature(long timestamp, String noncestr, String url) 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 f1260f642..7b2563040 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
@@ -127,7 +127,7 @@ public class WxMpServiceImpl implements WxMpService {
return wxMpConfigStorage.getJsapiTicket();
}
- public String createJsapiSignature(String timestamp, String noncestr, String url) throws WxErrorException {
+ public String createJsapiSignature(long timestamp, String noncestr, String url) throws WxErrorException {
String jsapiTicket = getJsapiTicket(false);
try {
return SHA1.genWithAmple(
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpBaseAPITest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpBaseAPITest.java
index cf01bfbc9..c4210b57d 100644
--- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpBaseAPITest.java
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpBaseAPITest.java
@@ -25,7 +25,6 @@ public class WxMpBaseAPITest {
wxService.getAccessToken(false);
String after = configStorage.getAccessToken();
-
Assert.assertNotEquals(before, after);
Assert.assertTrue(StringUtils.isNotBlank(after));
}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpJsAPITest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpJsAPITest.java
new file mode 100644
index 000000000..16506caa9
--- /dev/null
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpJsAPITest.java
@@ -0,0 +1,48 @@
+package me.chanjar.weixin.mp.api;
+
+import com.google.inject.Inject;
+import me.chanjar.weixin.common.exception.WxErrorException;
+import me.chanjar.weixin.common.util.crypto.SHA1;
+import me.chanjar.weixin.mp.bean.WxMpGroup;
+import org.testng.Assert;
+import org.testng.annotations.Guice;
+import org.testng.annotations.Test;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.List;
+
+/**
+ * 测试jsapi ticket接口
+ *
+ * @author chanjarster
+ */
+@Test(groups = "jsAPI", dependsOnGroups = "baseAPI")
+@Guice(modules = ApiTestModule.class)
+public class WxMpJsAPITest {
+
+ @Inject
+ protected WxMpServiceImpl wxService;
+
+
+ public void testJsapiTicket() throws WxErrorException {
+ String jsapiTicket = wxService.getJsapiTicket(false);
+ System.out.println(jsapiTicket);
+ Assert.assertNotNull(jsapiTicket);
+ }
+
+ public void test() throws NoSuchAlgorithmException {
+ long timestamp = 1419835025l;
+ String url = "http://omstest.vmall.com:23568/thirdparty/wechat/vcode/gotoshare?quantity=1&batchName=MATE7";
+ String noncestr = "82693e11-b9bc-448e-892f-f5289f46cd0f";
+ String jsapiTicket = "bxLdikRXVbTPdHSM05e5u4RbEYQn7pNQMPrfzl8lJNb1foLDa3HIwI3BRMkQmSO_5F64VFa75uURcq6Uz7QHgA";
+ String result = SHA1.genWithAmple(
+ "jsapi_ticket=" + jsapiTicket,
+ "noncestr=" + noncestr,
+ "timestamp=" + timestamp,
+ "url=" + url
+ );
+
+ Assert.assertEquals(result, "c6f04b64d6351d197b71bd23fb7dd2d44c0db486");
+ }
+
+}
diff --git a/weixin-java-mp/src/test/resources/testng.xml b/weixin-java-mp/src/test/resources/testng.xml
index 17308c788..333400e48 100644
--- a/weixin-java-mp/src/test/resources/testng.xml
+++ b/weixin-java-mp/src/test/resources/testng.xml
@@ -13,6 +13,7 @@
+