springboot整合企业微信webhook快速发送消息提醒(wework webhook robot)

a java SDK for wework webhook robot

介绍(introduction)

本人前段时间做后台提醒功能,需要用到企业微信webhook机器人发送各种消息。很多参数拼接搞得焦头烂额。大家肯定都一样,所以写了一个springboot快速启动包。打成maven中心仓库依赖包,我好你也好。配置好webhook地址之后就可以快速方便发送消息,摒弃了各种参数的拼接。
现在已经支持:

  • 文本消息
  • 图片消息
  • 文本卡片消息
  • 图文消息(批量)
  • markdown消息

使用方法(quick start)

1.添加maven依赖(import maven dependency)
        <dependency>
            <groupId>io.github.swalikh</groupId>
            <artifactId>wework-wehook-starter</artifactId>
            <version>1.0.0</version>
        </dependency>
2.配置webhook地址(add webhook api)

可以配置一个或者多个,默认以第一个生效。或者手动修改webhook地址

spring:
  message:
    wechat-webhooks: 
    	- https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx
    	- https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx

3.需要时注入MessageService并且发送消息
        @Autowired
        private MessageService messageService;
  • 1.发送普通文本消息
        WeWorkWebhookMessage weWorkWebhookMessage = WeWorkWebhookMessage.buildText("hello");
        messageService.send(weWorkWebhookMessage);
  • 2.发送图片(本地或者网络图片均可发送,网络图片会自动下载到本地缓存,发送完之后会删除,不占用磁盘空间)
        // networkImage 和 localImage 均可,格式可支持jpg&png
        String networkImageUrl = "https://img-home.csdnimg.cn/images/20210918100245.png";
        String localImageFilePath = "/home/image/cat.png";
        WeWorkWebhookMessage imageMessage = 
                WeWorkWebhookMessage.buildImageMessage(networkImageUrl);
        messageService.send(imageMessage);

在这里插入图片描述

  • 3.发送图文卡片消息(本地或者网络图片均可发送)
        // networkImage 和 localImage 均可,格式可支持jpg&png
        String networkImageUrl = "https://img-home.csdnimg.cn/images/20210918100245.png";
        Article article = new Article()
                .setTitle("这是卡片的标题")
                .setUrl("http://www.google.com/这是点击的链接地址")
                .setPicurl(networkImageUrl)
                .setDescription("这是描述文字");
        WeWorkWebhookMessage articleMessage =
                WeWorkWebhookMessage.buildNewsMessage(article);
        messageService.send(articleMessage);

在这里插入图片描述

  • 4.发送markdown消息
        MarkdownBuffer markdownBuffer = new MarkdownBuffer();
        markdownBuffer
                .h2("H2").nextLine()
                .h3("H3").nextLine()
                .quote("quote").quoteEnd()
                .green("greenText").nextLine()
                .orange("orangeText").nextLine()
                .gray("grayText").nextLine()
                .code("single line code").nextLine()
                .link("link title","line URL").nextLine();

        WeWorkWebhookMessage markDownMessage =
                WeWorkWebhookMessage.buildMarkDownMessage(markdownBuffer);
        messageService.send(markDownMessage);

在这里插入图片描述

End

I've pushed this project on github. You can checkout the source code if you want~
github项目地址 https://github.com/swalikh/wework-wehook-starter

2024-01-19
近期会迭代出2.0版本,支持多个webhook的配置,以及各个优化

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐