From 6646b064b8dd07dd67346fcb816a905111ee47d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9B=9B=E5=8F=B6=E8=8D=89?= <362692680@qq.com> Date: Mon, 31 Jul 2023 02:42:52 +0000 Subject: [PATCH] =?UTF-8?q?:new:=20=E3=80=90=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E3=80=91=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=20NFC=20=E7=9A=84?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=20scheme=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/api/WxMaSchemeService.java | 11 ++++++-- .../api/impl/WxMaSchemeServiceImpl.java | 25 +++++++++++++++++++ .../miniapp/constant/WxMaApiUrlConstants.java | 1 + 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSchemeService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSchemeService.java index 6c99dee04..6d1ef97d7 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSchemeService.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSchemeService.java @@ -7,7 +7,7 @@ import me.chanjar.weixin.common.error.WxErrorException; *
  * 小程序Scheme码相关操作接口.
  *
- * 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html
+ *
  * 
* * @author : cofedream @@ -16,9 +16,16 @@ import me.chanjar.weixin.common.error.WxErrorException; public interface WxMaSchemeService { /** * 获取小程序scheme码 - * + *文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html * @param request 请求参数 * @throws WxErrorException 生成失败时抛出,具体错误码请看文档 */ String generate(WxMaGenerateSchemeRequest request) throws WxErrorException; + /** + * 获取NFC 的小程序 scheme + *文档地址:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/url-scheme/generateNFCScheme.html + * @param request 请求参数 + * @throws WxErrorException 生成失败时抛出,具体错误码请看文档 + */ + String generateNFC(WxMaGenerateSchemeRequest request) throws WxErrorException; } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaSchemeServiceImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaSchemeServiceImpl.java index 8c2a0043a..5d6cd38f5 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaSchemeServiceImpl.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaSchemeServiceImpl.java @@ -11,6 +11,7 @@ import me.chanjar.weixin.common.error.WxError; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.util.json.GsonParser; +import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Scheme.GENERATE_NFC_SCHEME_URL; import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Scheme.GENERATE_SCHEME_URL; /** @@ -21,6 +22,13 @@ import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Scheme.GENER public class WxMaSchemeServiceImpl implements WxMaSchemeService { private final WxMaService wxMaService; + /** + * 获取小程序scheme码 + * 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html + * + * @param request 请求参数 + * @throws WxErrorException 生成失败时抛出,具体错误码请看文档 + */ @Override public String generate(WxMaGenerateSchemeRequest request) throws WxErrorException { String responseContent = this.wxMaService.post(GENERATE_SCHEME_URL, request.toJson()); @@ -30,4 +38,21 @@ public class WxMaSchemeServiceImpl implements WxMaSchemeService { } return jsonObject.get("openlink").getAsString(); } + + /** + * 获取NFC 的小程序 scheme + * 文档地址:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/url-scheme/generateNFCScheme.html + * + * @param request 请求参数 + * @throws WxErrorException 生成失败时抛出,具体错误码请看文档 + */ + @Override + public String generateNFC(WxMaGenerateSchemeRequest request) throws WxErrorException { + String responseContent = this.wxMaService.post(GENERATE_NFC_SCHEME_URL, request.toJson()); + JsonObject jsonObject = GsonParser.parse(responseContent); + if (jsonObject.get(WxConsts.ERR_CODE).getAsInt() != 0) { + throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp)); + } + return jsonObject.get("openlink").getAsString(); + } } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java index 1139c98f7..10ac835c9 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java @@ -339,6 +339,7 @@ public class WxMaApiUrlConstants { public interface Scheme { String GENERATE_SCHEME_URL = "https://api.weixin.qq.com/wxa/generatescheme"; + String GENERATE_NFC_SCHEME_URL = "https://api.weixin.qq.com/wxa/generatenfcscheme"; } public interface Link {