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 {