Files
ProxyPanel/app/Components/ServerChan.php
Bretton 7fa56ada16 2.1 版本
1. 框架更新至5.8,并且其涉及代码进行修改;
2.  对支付的alipay组件针对php7.2/3进行修改;
3. 重构了节点信息获取逻辑;现在为实时请求;
4. 代码小细节和命名规范
2020-08-05 03:20:24 +08:00

64 lines
1.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Components;
use App\Http\Models\EmailLog;
use Exception;
use Log;
class ServerChan
{
/**
* 推送消息
*
* @param string $title 消息标题
* @param string $content 消息内容
*
* @return mixed
*/
public static function send($title, $content)
{
if(Helpers::systemConfig()['is_server_chan'] && Helpers::systemConfig()['server_chan_key']){
try{
// TODO一天仅可发送不超过500条
$url = 'https://sc.ftqq.com/'.Helpers::systemConfig()['server_chan_key'].'.send?text='.$title.'&desp='.urlencode($content);
$response = Curl::send($url);
$result = json_decode($response);
if(!$result->errno){
self::addLog($title, $content);
}else{
self::addLog($title, $content, 0, $result->errmsg);
}
} catch(Exception $e){
Log::error('ServerChan消息推送异常'.$e);
}
}else{
Log::error('消息推送失败未启用或未正确配置ServerChan');
}
return;
}
/**
* 添加serverChan推送日志
*
* @param string $title 标题
* @param string $content 内容
* @param int $status 投递状态
* @param string $error 投递失败时记录的异常信息
*
* @return int
*/
private static function addLog($title, $content, $status = 1, $error = '')
{
$log = new EmailLog();
$log->type = 2;
$log->address = 'admin';
$log->title = $title;
$log->content = $content;
$log->status = $status;
$log->error = $error;
return $log->save();
}
}