# dingdingRobot **Repository Path**: stoneson/dingding-robot ## Basic Information - **Project Name**: dingdingRobot - **Description**: 钉钉机器人消息发送系统,实现text类型、link类型、markdown类型等信息的发送 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 2 - **Created**: 2021-03-05 - **Last Updated**: 2024-11-18 ## Categories & Tags **Categories**: im **Tags**: None ## README # dingdingRobot #### 介绍 钉钉机器人消息发送系统,实现text类型、link类型、markdown类型等信息的发送 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 void testTextJSonStringtoJavaBean() { String jsonString="{\n" + " \"msgtype\": \"text\", \n" + " \"text\": {\n" + " \"content\": \"我就是我, 是不一样的烟火@156xxxx8827\"\n" + " }, \n" + " \"at\": {\n" + " \"atMobiles\": [\n" + " \"13510086446\", \n" + " \"189xxxx8325\"\n" + " ], \n" + " \"isAtAll\": false\n" + " }\n" + "}"; JSONObject jsonObject = JSON.parseObject(jsonString); System.out.println(jsonObject); TextMessage textMessage = jsonObject.toJavaObject(TextMessage.class); new Connection().sendMsg(access_token,secret,JSON.toJSONString(textMessage)); } @Test void testLinkJSonStringtoJavaBean() { String jsonString="{\n" + " \"msgtype\": \"link\", \n" + " \"link\": {\n" + " \"text\": \"这个即将发布的新版本,创始人xx称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林\", \n" + " \"title\": \"时代的火车向前开\", \n" + " \"picUrl\": \"\", \n" + " \"messageUrl\": \"https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI\"\n" + " }\n" + "}"; JSONObject jsonObject = JSON.parseObject(jsonString); System.out.println(jsonObject); LinkMessage linkMessage = jsonObject.toJavaObject(LinkMessage.class); System.out.println(linkMessage); new Connection().sendMsg(access_token,secret,JSON.toJSONString(linkMessage)); } @Test void testMKJSonStringtoJavaBean() { String jsonString="{\n" + " \"msgtype\": \"markdown\",\n" + " \"markdown\": {\n" + " \"title\":\"杭州天气\",\n" + " \"text\": \"#### 杭州天气 @150XXXXXXXX \\n> 9度,西北风1级,空气良89,相对温度73%\\n> ![screenshot](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png)\\n> ###### 10点20分发布 [天气](https://www.dingtalk.com) \\n\"\n" + " },\n" + " \"at\": {\n" + " \"atMobiles\": [\n" + " \"150XXXXXXXX\"\n" + " ],\n" + " \"isAtAll\": false\n" + " }\n" + " }"; JSONObject jsonObject = JSON.parseObject(jsonString); System.out.println(jsonObject); MarkdownMessage markdownMessage = jsonObject.toJavaObject(MarkdownMessage.class); System.out.println(markdownMessage); new Connection().sendMsg(access_token,secret,JSON.toJSONString(markdownMessage)); } @Test void testACMJSonStringtoJavaBean() { String jsonString="{\n" + " \"actionCard\": {\n" + " \"title\": \"乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身\", \n" + " \"text\": \"![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png) ### 乔布斯 20 年前想打造的苹果咖啡厅 /n Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划\", \n" + " \"btnOrientation\": \"0\", \n" + /* " \"singleTitle\" : \"阅读全文\",\n" + " \"singleURL\" : \"https://www.dingtalk.com/\",\n" +*/ " \"btns\": [\n" + " {\n" + " \"title\": \"内容不错\", \n" + " \"actionURL\": \"https://www.dingtalk.com/\"\n" + " }, \n" + " {\n" + " \"title\": \"不感兴趣\", \n" + " \"actionURL\": \"https://www.dingtalk.com/\"\n" + " }\n" + " ]\n" + " }, \n" + " \"msgtype\": \"actionCard\"\n" + "}"; JSONObject jsonObject = JSON.parseObject(jsonString); System.out.println(jsonObject); ActionCardMessage acm = jsonObject.toJavaObject(ActionCardMessage.class); new Connection().sendMsg(access_token,secret,JSON.toJSONString(acm)); } @Test void testFCMJSonStringtoJavaBean() { String jsonString="{\n" + " \"feedCard\": {\n" + " \"links\": [\n" + " {\n" + " \"title\": \"1时代的火车向前开\", \n" + " \"messageURL\": \"https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI\", \n" + " \"picURL\": \"https://gw.alicdn.com/tfs/TB1ayl9mpYqK1RjSZLeXXbXppXa-170-62.png\"\n" + " },\n" + " {\n" + " \"title\": \"时代的火车向前开2\", \n" + " \"messageURL\": \"https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI\", \n" + " \"picURL\": \"https://gw.alicdn.com/tfs/TB1ayl9mpYqK1RjSZLeXXbXppXa-170-62.png\"\n" + " }\n" + " ]\n" + " }, \n" + " \"msgtype\": \"feedCard\"\n" + "}"; JSONObject jsonObject = JSON.parseObject(jsonString); System.out.println(jsonObject); FeedCardMessage msg = jsonObject.toJavaObject(FeedCardMessage.class); new Connection().sendMsg(access_token,secret,JSON.toJSONString(msg)); } #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)