调用微信API获取小程序URL Link

调用微信API获取小程序URL Link

过程

需要的微信小程序API版本

现在微信开源的API,从版本为4.1.8.B开始才提供了获取URL Link的API,所以在我们的项目中需要引进版本为4.1.8.B的maven依赖,在pom.xml中加入对应的依赖即可:

  <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>weixin-java-miniapp</artifactId>
            <version>4.1.8.B</version>
        </dependency>

构建一个切面获取微信小程序API提供的Service接口

因为微信小程序官方Service中是没有添加远程调用的注解,所以我们的项目中使用@Resource注解调用他们的服务进行build会显示找不到对应Service的bean,也就是无法注入对应Service的bean,所以我们选择通过反射构建一个切面去获取微信小程序官方提供的Service

首先通过得到的小程序的配置信息去获取切点,再使用ReflectUtil工具类去获取JoinPoint的声明类型,再通过stream.filter()对获取到的声明类型进行过滤,最后只剩下我们需要的Service和它的父类的类型,可以调用 class.isAssignableFrom(item.getType())去实现。最后使用ReflectUtil.getObjFieldVal()就可以获取到对应的Service了

创建一个从微信API获取URL Link的Service接口

请求参数

首先微信API的请求参数有这些:
《调用微信API获取小程序URL Link》
微信小程序官方开发文档链接: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-link/urllink.generate.html.
有兴趣的可以自行去微信小程序官方开发文档看一下。
一般来说我们只需要access_token、path和query这三个参数就可以了,调用微信API生成的URL Link一般默认为永久有效的,如果想对URL Link做一个时间限制,可以把后面几个参数加上去。

access_token
微信官方的API会提供一个getAccessToken()的方法去获取接口调用的权限,直接调用对应服务的方法就可以了

path
这个参数是小程序页面跳转的路由地址,确保对应的页面生成对应的URL LinkLink

query
这个是对页面里存在的东西查询的一个参数,例如对应用户的id,这样就能查询到该用户的详情信息,形式为”id=xxxxxx”

 GenerateUrlLinkRequest request = GenerateUrlLinkRequest.builder()
                    .path(urlLinkPath)
                    .query("id=" + id)
                    .build();
            return wxMaService.getLinkService().generate(request);

将这些参数组装一下,构建到POST请求里,对微信小程序服务器发起POST请求就可以获得小程序的URL Link了

    原文作者:UU悠
    原文地址: https://blog.csdn.net/m0_55017050/article/details/120283841
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞