From c9b68b5a7c46a4b257f6c4bfcd9b8ef63593741f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B0=B4=E4=BE=9D=E5=AF=92?= Date: Sat, 2 Mar 2024 18:07:52 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E7=A7=BB=E9=99=A4=E5=B7=B2=E5=BA=9F?= =?UTF-8?q?=E5=BC=83=E6=8E=A5=E5=8F=A3=E3=80=90getPhoneNoInfo=E3=80=91?= =?UTF-8?q?=E5=92=8C=E3=80=90getNewPhoneNoInfo(code)=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/api/WxMaUserService.java | 34 +++++++------------ .../miniapp/api/impl/WxMaUserServiceImpl.java | 11 ++---- .../api/impl/WxMaUserServiceImplTest.java | 15 ++------ 3 files changed, 18 insertions(+), 42 deletions(-) diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaUserService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaUserService.java index 5032008ef..3b2c3f74d 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaUserService.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaUserService.java @@ -45,37 +45,27 @@ public interface WxMaUserService { void setUserStorage(Map kvMap, String sessionKey, String openid) throws WxErrorException; /** - * 解密用户手机号信息. + * 获取手机号信息,2023年8月28日起 * - * @param sessionKey 会话密钥 - * @param encryptedData 消息密文 - * @param ivStr 加密算法的初始向量 - * @return . - * @deprecated 请使用替代方法 {@link #getPhoneNoInfo(String)} + * @param code 每个code只能使用一次,code的有效期为5min。code获取方式参考手机号快速验证组件 + * @return 用户手机号信息 + * @throws WxErrorException . + * @apiNote 该接口用于将code换取用户手机号。 */ - @Deprecated - WxMaPhoneNumberInfo getPhoneNoInfo(String sessionKey, String encryptedData, String ivStr); + WxMaPhoneNumberInfo getPhoneNumber(String code) throws WxErrorException; /** - * 获取手机号信息,基础库:2.21.2及以上 + * 获取手机号信息,2023年8月28日起 * - * @param code 动态令牌 - * @return . + * @param code 每个code只能使用一次,code的有效期为5min。code获取方式参考手机号快速验证组件 + * @return 用户手机号信息 * @throws WxErrorException . + * @apiNote 该接口用于将code换取用户手机号。 + * @implNote 为保持命名风格一致,此方法将更名,推荐使用{@link WxMaUserService#getPhoneNumber(String)} */ + @Deprecated WxMaPhoneNumberInfo getPhoneNoInfo(String code) throws WxErrorException; - /** - * 获取手机号信息,基础库:2.21.2及以上 - * - * @param code 动态令牌 - * @return . - * @throws WxErrorException . - * @deprecated 命名有些复杂,请使用替代方法 {@link #getPhoneNoInfo(String)} - */ - @Deprecated - WxMaPhoneNumberInfo getNewPhoneNoInfo(String code) throws WxErrorException; - /** * 验证用户信息完整性. * diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImpl.java index b6dde6f90..8a921d05a 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImpl.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImpl.java @@ -58,12 +58,7 @@ public class WxMaUserServiceImpl implements WxMaUserService { } @Override - public WxMaPhoneNumberInfo getPhoneNoInfo(String sessionKey, String encryptedData, String ivStr) { - return WxMaPhoneNumberInfo.fromJson(WxMaCryptUtils.decrypt(sessionKey, encryptedData, ivStr)); - } - - @Override - public WxMaPhoneNumberInfo getPhoneNoInfo(String code) throws WxErrorException { + public WxMaPhoneNumberInfo getPhoneNumber(String code) throws WxErrorException { JsonObject param = new JsonObject(); param.addProperty("code", code); String responseContent = this.service.post(GET_PHONE_NUMBER_URL, param.toString()); @@ -77,8 +72,8 @@ public class WxMaUserServiceImpl implements WxMaUserService { } @Override - public WxMaPhoneNumberInfo getNewPhoneNoInfo(String code) throws WxErrorException { - return this.getPhoneNoInfo(code); + public WxMaPhoneNumberInfo getPhoneNoInfo(String code) throws WxErrorException { + return this.getPhoneNumber(code); } @Override diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImplTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImplTest.java index 5b04d05f8..d3cd1b7d2 100644 --- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImplTest.java +++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaUserServiceImplTest.java @@ -47,14 +47,10 @@ public class WxMaUserServiceImplTest { "75e81ceda165f4ffa64f4068af58c64b8f54b88c")); } - /** - * TODO 测试数据有问题,需要替换为正确的数据 - */ + @Test - public void testGetPhoneNoInfo() { - WxMaPhoneNumberInfo phoneNoInfo = this.wxService.getUserService().getPhoneNoInfo("tiihtNczf5v6AKRyjwEUhQ==", - "CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZMQmRzooG2xrDcvSnxIMXFufNstNGTyaGS9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+3hVbJSRgv+4lGOETKUQz6OYStslQ142dNCuabNPGBzlooOmB231qMM85d2/fV6ChevvXvQP8Hkue1poOFtnEtpyxVLW1zAo6/1Xx1COxFvrc2d7UL/lmHInNlxuacJXwu0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn/Hz7saL8xz+W//FRAUid1OksQaQx4CMs8LOddcQhULW4ucetDf96JcR3g0gfRK4PC7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns/8wR2SiRS7MNACwTyrGvt9ts8p12PKFdlqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYVoKlaRv85IfVunYzO0IKXsyl7JCUjCpoG20f0a04COwfneQAGGwd5oa+T8yO5hzuyDb/XcxxmK01EpqOyuxINew==", - "r7BXXKkLb8qrSNn05n0qiA=="); + public void testGetPhoneNoInfo() throws WxErrorException { + WxMaPhoneNumberInfo phoneNoInfo = this.wxService.getUserService().getPhoneNumber("tiihtNczf5v6AKRyjwEUhQ=="); assertNotNull(phoneNoInfo); System.out.println(phoneNoInfo.toString()); } @@ -72,11 +68,6 @@ public class WxMaUserServiceImplTest { "r7BXXKkLb8qrSNn05n0qiA",((TestConfig)this.wxService.getWxMaConfig()).getOpenid()); } - @Test - public void testGetNewPhoneNoInfo() throws Exception{ - assertNotNull(wxService.getUserService().getNewPhoneNoInfo("test")); - } - @Test public void testGetAccessToken() throws Exception{ assertNotNull(wxService.getAccessToken(true));