• 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方法,处理接收到的企业微信应用消息。在本例中,我们将接收到的消息回复了一条文本消息。

  • 相关阅读:
    基于PLC的工业晾晒架系统
    【SpringMVC】@RequestMapping注解
    python:进度条的使用(tqdm)
    淘宝天猫API:buyer_cart_add-添加到购物车
    性能为王:微服务架构中的多级缓存设计
    3.rsync备份案例
    【freeRTOS】操作系统之三-信号量
    OpenHarmony网络协议通信—libevent [GN编译] - 事件通知库
    使用c++17std库varaint替代varaint开源库报错处理
    普洱茶上市?澜沧古茶通过港股聆讯
  • 原文地址:https://blog.csdn.net/qq_34874784/article/details/131144913