githen / laravel-common
基于Laravel的公用方法
v1.0.31
2024-09-29 10:38 UTC
Requires
- illuminate/support: ~6.20|^8.0|^11.0
This package is auto-updated.
Last update: 2024-09-29 10:39:13 UTC
README
基于laravel的通用组件
安装
composer require githen/laravel-common:~v1.0.0
功能说明
服务状态检测
调用方法
// token => *** 为钉钉群机器人的access_token // secret => *** 为钉钉群机器人的加签,不填则走关键词或IP // 以上两个参数可复用`logging.channels.dingding.with`中配置,可直接在`listen`方法中第二个参数为`true`即可。 app('jiaoyu.common.process')->listen([ 'process' => [ 'nginx' => 'Nginx服务', // key 为匹配关键词 name 为显示名称 'artisan,shixun' => '多层过滤' // key中,为多层过滤 a,b => grep a | grep b ], 'token' => '***', 'secret' => '***' ]);
可以在任务调度中直接使用
$schedule->call(function (){ app('jiaoyu.common.process')->listen(['process' => ['nginx' => 'nginx']], true); })->everyFiveMinutes()->runInBackground();
执行SQL
添加路由
Route::match(['get', 'post'], 'sql/{act?}', '\\Githen\\LaravelCommon\\App\\Controllers\\SqlController@act')->name('sql.act');
- 可在路由配置中添加以下配置,完成SQL操作的控制器注入,并可通过访问
http://host/sql/
来执行。 - 可查看当前配置的数据库连通情况(暂只支持
mysql
,mongo
,redis
),通过访问http://host/sql/check
来查看
钉钉WebHook消息发送
钉钉手册地址:官方手册
调用方法
// token => *** 为钉钉群机器人的access_token // secret => *** 为钉钉群机器人的加签,不填则走关键词或IP // ->***() ***为目前支持的方法,可参考接下文档 app('jiaoyu.common.dingding', ['token' => '*****','secret' => '****'])->***();
发送消息信息
text(string $message, bool $isAll = false, array $mobilds = [], array $userIds = [])
发送链接消息
link(string $title, string $text, string $url, string $picUrl = '')
发送markdown类型
markdown(string $title, string $text, bool $isAll = false, array $mobiles = [], array $userIds = [])
整体/独立跳转ActionCard
actionCard(string $title, string $text, array $btns, string $btnOrientation = '')
FeedCard类型消息
feedCard(array $links)
$links的结构如下:
[ ['title' => '我是标题2', 'messageURL' => 'https://链接地址2', 'picURL' => '图片的地址2'], ['title' => '我是标题1', 'messageURL' => 'https://链接地址1', 'picURL' => '图片的地址1'], ... ]
日志发送到钉钉
在config/logging.php
中添加新的配置项,以新建基于钉钉的日志通道(目前本地环境是关闭发送消息)。
可通过修改本地config
中的app.evn
来发送本地报警信息。
'dingding' => [ 'driver' => 'monolog', 'level' => 'debug', 'with' => ['token' => '钉钉机器人的access_token','secret' => '不填则走关键词或IP'], 'handler' => \Githen\LaravelCommon\Log\Handler\DingdingLogHandler::class ],
若需要此配置生效,需要在stack.channels
中添加dingding
关键词
日志信息查看
此扩展中已完成了基本的日志及进程等功能,需要在routes/web.php
中添加路由来访问此控制器。
// log/{act} 中 log关键字可自定义,{act}不可修改 // 路由名可随意修改 Route::get('log/{act?}', '\\Githen\\LaravelCommon\\App\\Controllers\\LogController@act')->name('log.act');