Java 企业微信消息推送,消息类型为文本、文本卡片

1 WeChatMessageUtil

企业微信消息工具类。

package com.util;

/**
 * 企业微信消息工具类
 */
public class WeChatMessageUtil {
    /**
     * 获取文本消息JSON数据
     *
     * @param userId  用户ID(可多个,多个用逗号隔开)
     * @param content 消息内容
     * @param agentId 应用ID
     * @return
     */
    public static String getTextMessageJson(String userId, String content, String agentId) {
        //构造消息体
        StringBuffer sb = new StringBuffer();
        sb.append("{");
        sb.append(" \"touser\":\"" + userId + "\",");
        sb.append(" \"msgtype\":\"text\",");
        sb.append(" \"agentid\":\"" + agentId + "\",");
        sb.append(" \"text\":{");
        sb.append("     \"content\":\"" + content + "\"");
        sb.append(" },");
        sb.append(" \"safe\":\"0\"");
        sb.append("}");
        return sb.toString();
    }

    /**
     * 获取文本卡片消息JSON数据
     *
     * @param userId  用户ID(可多个,多个用逗号隔开)
     * @param title   标题
     * @param content 消息内容
     * @param agentId 应用ID
     * @param url     跳转链接
     * @param btnTxt  按钮内容
     * @return
     */
    public static String getTextCardMessageJson(String userId, String title, String content, String agentId, String url
            , String btnTxt) {
        //构造消息体
        StringBuffer sb = new StringBuffer();
        sb.append("{");
        sb.append(" \"touser\":\"" + userId + "\",");
        sb.append(" \"msgtype\":\"textcard\",");
        sb.append(" \"agentid\":\"" + agentId + "\",");
        sb.append(" \"textcard\" : {");
        sb.append("     \"title\" : \"" + title + "\",");
        sb.append("     \"description\" : \"" + content + "\",");
        sb.append("     \"url\" : \"" + url + "\",");
        sb.append("     \"btntxt\":\"" + btnTxt + "\"");
        sb.append(" }");
        sb.append(" \"safe\":\"1\"");
        sb.append("}");
        return sb.toString();
    }

}

2 文本消息

2.1 调试代码

    /**
     * 发送文本消息
     *
     * @return
     */
    @GetMapping("/sendTextMessage")
    public String sendTextMessage() {
        //初始化token
        String token = weChatMessageService.getAccessToken();
        String phone = "15573967198";
        //得到userId
        String userId = weChatMessageService.getUserId(token, phone);
        String content = userId + ",你好";
        //构造消息体
        String message = WeChatMessageUtil.getTextMessageJson(userId, content, weChatMessageService.getAgentId());
        //发送消息
        return weChatMessageService.sendMessage(token, message);
    }

2.2 调试结果

3 文本卡片

3.1 调试代码

    /**
     * 发送文本卡片消息
     *
     * @return
     */
    @GetMapping("/sendTextCardMessage")
    public String sendTextCardMessage() {
        //初始化token
        String token = weChatMessageService.getAccessToken();
        String phone = "15573967198";
        //得到userId
        String userId = weChatMessageService.getUserId(token, phone);
        String content = userId + ",你好";
        String url = "https://blog.csdn.net/qq_38974638";
        //构造消息体
        String message = WeChatMessageUtil.getTextCardMessageJson(userId, "通知", content, weChatMessageService.getAgentId(), url, "详情");
        //发送消息
        return weChatMessageService.sendMessage(token, message);
    }

3.2 最终效果图

注:

(1)企业微信的消息推送配置请查看以下博客。

企业微信 消息推送使用(新建应用、发送消息)

(2)weChatMessageService源码请查看以下博客。

Java 实现企业微信消息推送

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值