• springboot WxJava 收发企业微信 应用消息


    在Spring Boot中,同样可以使用WxJava来实现企业微信应用消息的收发功能。WxJava是一款基于微信公众号、小程序、企业号的Java SDK,提供了丰富的功能,包括消息收发、菜单管理、用户管理等。以下是简单的WxJava实现企业微信应用消息收发的示例代码。

    1. 引入依赖

    1. <dependency>
    2. <groupId>com.github.binarywang</groupId>
    3. <artifactId>weixin-java-cp</artifactId>
    4. <version>4.5.0</version>
    5. </dependency>

    2. 配置参数

    ```yaml
    wx:
      cp:
        corpId: 你的企业ID
        agentId: 你的应用ID
        secret: 你的应用密钥
    ```

    3. 创建WxCpService

    ```java
    @Component
    public class WxCpServiceFactory {
        private final WxCpConfigStorage wxCpConfigStorage;
        private final WxCpService wxCpService;

        public WxCpServiceFactory(WxCpConfigStorage wxCpConfigStorage) {
            this.wxCpConfigStorage = wxCpConfigStorage;
            wxCpService = new WxCpServiceImpl();
            wxCpService.setWxCpConfigStorage(wxCpConfigStorage);
        }

        public WxCpService getWxCpService() {
            return wxCpService;
        }
    }
    ```

    在上面的代码中,WxCpConfigStorage是配置存储类,需要在Spring Boot中配置,并且需要在WxCpService实例化之前进行配置。

    4. 发送文本消息

    ```java
    @Component
    public class WxCpMessageSender {
        private final WxCpService wxCpService;

        public WxCpMessageSender(WxCpServiceFactory wxCpServiceFactory) {
            wxCpService = wxCpServiceFactory.getWxCpService();
        }

        public void sendTextMessage(String userId, String content) throws WxErrorException {
            WxCpMessage wxCpMessage = WxCpMessage.TEXT().agentId(wxCpService.getWxCpConfigStorage().getAgentId()).toUser(userId).content(content).build();
            wxCpService.messageSend(wxCpMessage);
        }
    }
    ```

    在上面的代码中,我们使用WxCpService实现了发送企业微信应用文本消息。我们使用WxCpMessage对象来构建消息内容,设置接收者的userId,以及应用ID等参数,最后调用wxCpService的messageSend方法来发送消息。

    5. 接收文本消息

    ```java
    @Slf4j
    @Component
    public class WxCpMessageHandler implements WxCpMessageHandler {

        @Override
        public WxCpXmlOutMessage handle(WxCpXmlMessage wxCpXmlMessage, Map map, WxCpService wxCpService, WxSessionManager wxSessionManager) throws WxErrorException {
            log.info("接收到企业微信消息:{}", wxCpXmlMessage.getContent());

            WxCpXmlOutTextMessage wxCpXmlOutTextMessage = new WxCpXmlOutTextMessage();
            wxCpXmlOutTextMessage.setContent("欢迎使用我的企业应用!");
            wxCpXmlOutTextMessage.setCreateTime(System.currentTimeMillis());
            wxCpXmlOutTextMessage.setFromUserName(wxCpXmlMessage.getToUserName());
            wxCpXmlOutTextMessage.setToUserName(wxCpXmlMessage.getFromUserName());
            wxCpXmlOutTextMessage.setMsgType(WxConsts.XmlMsgType.TEXT);
            return wxCpXmlOutTextMessage;
        }

    }
    ```

    在上面的代码中,我们实现了WxCpMessageHandler的handle方法,处理接收到的企业微信应用消息。在本例中,我们将接收到的消息回复了一条文本消息。

  • 相关阅读:
    Redis学习
    YOLOv5-PTQ量化部署
    独创变频杀毒(血影内核) 瑞星杀毒软件V16保驾护航
    uniapp离线打包apk - 安卓篇
    哪些数据应该先治理
    独立站优势
    SpringBoot | 实现邮件发送
    【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
    CMMI是什么意思
    Vue安装过程及环境配置
  • 原文地址:https://blog.csdn.net/qq_34874784/article/details/131144913