Skip to content

Commit 5dff5e9

Browse files
committed
完善文档及细节
1 parent a7c73c9 commit 5dff5e9

File tree

3 files changed

+96
-7
lines changed

3 files changed

+96
-7
lines changed

README.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
> [English](https://github.com/calchen/laravel-dingtalk-robot-notification/blob/master/README_en.md)
2525
26-
这是一个[钉钉群机器人](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq)的 Laravel/Lumen 消息通知(Notification)扩展包
26+
这是一个[钉钉群机器人](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq)的 Laravel/Lumen 消息通知(Notification)扩展包
2727

2828
## 安装
2929

@@ -59,6 +59,7 @@ $app->register(Calchen\LaravelDingtalkRobot\DingtalkRobotNoticeServiceProvider::
5959
## 配置
6060

6161
打开配置文件 `config/dingtalk_robot.php` 并按照如下格式添加或修改配置:
62+
6263
```php
6364
'robotName' => [
6465
'access_token' => 'xxxx',
@@ -209,6 +210,30 @@ public function toDingTalkRobot($notifiable)
209210
'群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
210211
'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1'
211212
);
213+
214+
// 也可以这样写
215+
// $message = new LinkMessage();
216+
// $message->setMessage(
217+
// '自定义机器人协议',
218+
// '群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
219+
// 'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1'
220+
// );
221+
222+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
223+
// $message = new LinkMessage(
224+
// '自定义机器人协议',
225+
// '群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
226+
// 'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1',
227+
// false
228+
// );
229+
//
230+
// $message = new LinkMessage();
231+
// $message->setMessage(
232+
// '自定义机器人协议',
233+
// '群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
234+
// 'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1',
235+
// false
236+
// );
212237

213238
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
214239
$message->setRobot($notifiable->getName());
@@ -257,6 +282,9 @@ public function toDingTalkRobot($notifiable)
257282
"![screenshot](@lADOpwk3K80C0M0FoA) \n #### 乔布斯 20 年前想打造的苹果咖啡厅 \n\n Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划"
258283
);
259284
$message->setSingle('阅读全文', 'https://www.dingtalk.com/');
285+
286+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
287+
// $message->setSingle('阅读全文', 'https://www.dingtalk.com/', false);
260288

261289
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
262290
$message->setRobot($notifiable->getName());
@@ -280,6 +308,9 @@ public function toDingTalkRobot($notifiable)
280308
// 添加一个或多个按钮
281309
$message->addButton('内容不错', 'https://www.dingtalk.com/');
282310
$message->addButton('不感兴趣', 'https://www.dingtalk.com/');
311+
312+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
313+
// $message->addButton('不感兴趣', 'https://www.dingtalk.com/', false);
283314

284315
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
285316
$message->setRobot($notifiable->getName());
@@ -308,6 +339,14 @@ public function toDingTalkRobot($notifiable)
308339
'https://mp.weixin.qq.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',
309340
'https://www.dingtalk.com/'
310341
);
342+
343+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
344+
// $message->addLink(
345+
// '时代的火车向前开2',
346+
// 'https://mp.weixin.qq.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',
347+
// 'https://www.dingtalk.com/',
348+
// false
349+
// );
311350

312351
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
313352
$message->setRobot($notifiable->getName());
@@ -369,6 +408,7 @@ dingtalk_robot()->setMessage($message)->send();
369408
```
370409

371410
### 直接创建并调用接口
411+
372412
```php
373413
use Calchen\LaravelDingtalkRobot\DingtalkRobot;
374414
use Calchen\LaravelDingtalkRobot\Message\TextMessage;
@@ -417,7 +457,9 @@ $message->setRobot('机器人名字');
417457

418458
## 鸣谢
419459

420-
感谢 [王举](https://github.com/wowiwj),他的 [wangju/ding-notice](https://github.com/wowiwj/ding-notice) 项目给予了我很多启发。本项目中的部分代码原形来自于该项目。
460+
感谢 [王举](https://github.com/wowiwj),他的 [wangju/ding-notice](https://github.com/wowiwj/ding-notice) 项目给予了我很多启发。本项目中的部分代码原形来自于该项目。
461+
462+
感谢 [aolinver](https://github.com/aolinver),他为本项目实现了部分可以设置链接的消息的链接在 PC 端用系统默认浏览器打开的功能。
421463

422464

423465
## 开源协议

README_en.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,30 @@ public function toDingTalkRobot($notifiable)
213213
'群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
214214
'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1'
215215
);
216+
217+
// 也可以这样写
218+
// $message = new LinkMessage();
219+
// $message->setMessage(
220+
// '自定义机器人协议',
221+
// '群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
222+
// 'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1'
223+
// );
224+
225+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
226+
// $message = new LinkMessage(
227+
// '自定义机器人协议',
228+
// '群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
229+
// 'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1',
230+
// false
231+
// );
232+
//
233+
// $message = new LinkMessage();
234+
// $message->setMessage(
235+
// '自定义机器人协议',
236+
// '群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。',
237+
// 'https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1',
238+
// false
239+
// );
216240

217241
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
218242
$message->setRobot($notifiable->getName());
@@ -261,6 +285,9 @@ public function toDingTalkRobot($notifiable)
261285
"![screenshot](@lADOpwk3K80C0M0FoA) \n #### 乔布斯 20 年前想打造的苹果咖啡厅 \n\n Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划"
262286
);
263287
$message->setSingle('阅读全文', 'https://www.dingtalk.com/');
288+
289+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
290+
// $message->setSingle('阅读全文', 'https://www.dingtalk.com/', false);
264291

265292
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
266293
$message->setRobot($notifiable->getName());
@@ -284,6 +311,9 @@ public function toDingTalkRobot($notifiable)
284311
// 添加一个或多个按钮
285312
$message->addButton('内容不错', 'https://www.dingtalk.com/');
286313
$message->addButton('不感兴趣', 'https://www.dingtalk.com/');
314+
315+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
316+
// $message->addButton('不感兴趣', 'https://www.dingtalk.com/', false);
287317

288318
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
289319
$message->setRobot($notifiable->getName());
@@ -312,6 +342,14 @@ public function toDingTalkRobot($notifiable)
312342
'https://mp.weixin.qq.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',
313343
'https://www.dingtalk.com/'
314344
);
345+
346+
// 如果想让链接在 PC 端用系统默认浏览器打开可以这样
347+
// $message->addLink(
348+
// '时代的火车向前开2',
349+
// 'https://mp.weixin.qq.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',
350+
// 'https://www.dingtalk.com/',
351+
// false
352+
// );
315353

316354
// 这里可以指定机器人,如果不需要指定则默认使用名称为 default 的机器人
317355
$message->setRobot($notifiable->getName());
@@ -422,7 +460,9 @@ $message->setRobot('机器人名字');
422460

423461
## 鸣谢
424462

425-
感谢 [王举](https://github.com/wowiwj),他的 [wangju/ding-notice](https://github.com/wowiwj/ding-notice) 项目给予了我很多启发。本项目中的部分代码原形来自于该项目。
463+
感谢 [王举](https://github.com/wowiwj),他的 [wangju/ding-notice](https://github.com/wowiwj/ding-notice) 项目给予了我很多启发。本项目中的部分代码原形来自于该项目。
464+
465+
感谢 [aolinver](https://github.com/aolinver),他为本项目实现了部分可以设置链接的消息的链接在 PC 端用系统默认浏览器打开的功能。
426466

427467

428468
## 开源协议

src/Message/LinkMessage.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,17 @@ class LinkMessage extends Message
1616
* @param string|null $text 消息内容。如果太长只会部分展示
1717
* @param string|null $messageUrl 点击消息跳转的 URL
1818
* @param string $picUrl 图片 URL
19+
* @param bool $pcSlide 链接是否在 PC 端侧栏打开,true 在 PC 端侧栏打开;false 在系统默认浏览器
1920
*/
2021
public function __construct(
2122
string $title = null,
2223
string $text = null,
2324
string $messageUrl = null,
24-
string $picUrl = ''
25+
string $picUrl = '',
26+
bool $pcSlide = true
2527
) {
2628
if (! is_null($title) && ! is_null($text) && ! is_null($messageUrl)) {
27-
$this->setMessage($title, $text, $messageUrl, $picUrl);
29+
$this->setMessage($title, $text, $messageUrl, $picUrl, $pcSlide);
2830
}
2931
}
3032

@@ -37,8 +39,13 @@ public function __construct(
3739
*
3840
* @return LinkMessage
3941
*/
40-
public function setMessage(string $title, string $text, string $messageUrl, string $picUrl = '', bool $pcSlide = true): self
41-
{
42+
public function setMessage(
43+
string $title,
44+
string $text,
45+
string $messageUrl,
46+
string $picUrl = '',
47+
bool $pcSlide = true
48+
): self {
4249
$this->message = [
4350
'msgtype' => 'link',
4451
'link' => [

0 commit comments

Comments
 (0)