laravel 抛错给钉钉

参考api:企业内部机器人支持的消息类型 - 钉钉开放平台

抛出项目错误: app/Exceptions/Handler.php

1、准备工作

钉钉创建一个群,然后智能群助手

 2、添加一个自定义机器人

 3、设置安全设置,记录下Webhook

4、撸代码:【根据需要的封装】

public function report(Exception $exception)
    {
    if ($this->shouldReport($exception)) {
        $msg = $exception->getMessage();

        $url = 'webhook';
// 第一步,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。
        $time = time() * 1000;//毫秒级时间戳,我这里为了方便,直接把时间*1000了
        $secret = '秘钥';
        $sign = hash_hmac('sha256', $time . "\n" . $secret, $secret, true);
        $sign = base64_encode($sign);
        $sign = urlencode($sign);
        $msg = [
            'msgtype' => 'text',//这是文件发送类型,可以根据需求调整
            'text' => [    // 发送钉钉群接收到的信息
                'content' => [    
                    'url' => Request::url(),
                    'params' => Request::getRequestUri(),
                    'msg' => $msg
                ],
            ],
        ];
        $url = "{$url}&timestamp={$time}&sign={$sign}";
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($msg));
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $res = curl_exec($curl);
        curl_close($curl);



//        Log::info('Exception Happen', [
//            'url' => Request::url(),
//            'params' => Request::getRequestUri(),
//        ]);
}
        parent::report($exception);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值