背景
需要在系统上配置企业微信群机器人报警,其他的都比较简单,拼接markdown格式的推送消息比较麻烦。
官方链接:https://work.weixin.qq.com/api/doc/90000/90136/91770#markdown%E7%B1%BB%E5%9E%8B
官方支持markdown类型格式
官方样例
{
"msgtype": "markdown",
"markdown": {
"content": "实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n
>类型:<font color=\"comment\">用户反馈</font>
>普通用户反馈:<font color=\"comment\">117例</font>
>VIP用户反馈:<font color=\"comment\">15例</font>"
}
}
接口传参接收两个参数
msgtype :消息类型,此时固定为markdown
content :markdown内容,最长不超过4096个字节,必须是utf8编码
根据官方支持的6类markdown语法进行测试
这个接口只提供两个参数,一个是固定的类型参数,所以所有的markdown内容及格式都需要在content这个里面拼接,比较麻烦。
1.拼接的String(后面需要转化成json)
message= "{\n" +
"\t\"msgtype\": \"" + param.getMsgtype() + "\",\n" +
" \"markdown\": {\n" +
" \"content\": \"" + param.getMessage() + "\",\n" +
" }\n" +
"}";
2.message拼接测试
StringBuilder sb = new StringBuilder();
sb.append("# ").append("标题一").append("\n");
sb.append("## ").append("标题二").append("\n");
sb.append("### ").append("标题三").append("\n");
sb.append("#### ").append("标题四").append("\n");
sb.append("##### ").append("标题五").append("\n");
sb.append("###### ").append("标题六").append("\n");
sb.append("**").append("加粗").append("**").append("\n");
sb.append("sflsdhfl").append("`").append("code:helloworld").append("`").append("sfas").append("\n");
sb.append(">").append("备注:").append("<font color=\\\"warning\\\">").append("橙红色").append("</font>").append("\n");
sb.append(">").append("备注:").append("<font color=\\\"comment\\\">").append("灰色").append("</font>").append("\n");
sb.append(">").append("备注:").append("<font color=\\\"info\\\">").append("绿色").append("</font>").append("\n");
sb.append(">").append("备注:").append("[这是一个链接](").append("http://work.weixin.qq.com/api/doc").append(")").append("\n");
效果如下:
最后
本文章单纯针对markdown消息拼接过程中,繁琐的样式标签的测试记录,详细的接口设计可参考官方文档。