new function

This commit is contained in:
候学杰 2019-07-02 16:33:40 +08:00
parent 3b8ec334de
commit d6d53ec544
7 changed files with 1006 additions and 465 deletions

989
composer.lock generated

File diff suppressed because it is too large Load Diff

BIN
docs/robot-image.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
docs/robot-markdown.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

BIN
docs/robot-news.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

BIN
docs/robot-text.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -1,223 +1,258 @@
<?php
define('RPC_CONFIG', [
'app' => env('APP_NAME'),
'client' => [
'auth' => [
'base_uri' => 'http://auth.in.haowumc.com',
],
],
]);
//define('RPC_CONFIG', [
// 'app' => env('APP_NAME'),
// 'client' => [
// 'auth' => [
// 'base_uri' => 'http://auth.in.haowumc.com',
// ],
// ],
//]);
//
///**
// * 对企业微信群发送报警信息(需先创建
// *
// * @param $chat
// * @param $text
// *
// * @return mixed|null
// */
//
//function chat_text_alert ($chat, $text)
//{
// if (env('APP_ENV') == 'local') {
// return true;
// }
// $base_client = new \JsonRpc\Client(RPC_CONFIG);
// $client = $base_client->endpoint('auth');
//
// try {
// $resp = $client->call('notify.text', [
// ['chat' => $chat],
// $text,
// ]);
// } catch (Exception $ex) {
// var_dump($ex->getMessage());
// return null;
// }
//
// return $resp;
//}
//
///**
// * 对单个或多个用户发送报警或通知信息多个用户id使用 | 隔开
// *
// * @param $text
// *
// * @return mixed|null
// */
//function user_text_alert ($username, $text)
//{
// if (env('APP_ENV') == 'local') {
// return true;
// }
// $base_client = new \JsonRpc\Client(RPC_CONFIG);
// $client = $base_client->endpoint('auth');
//
// $username = explode('|', $username);
// try {
// $res = $client->call('notify.text', [
// ['user' => $username],
// $text,
// ]);
// } catch (Exception $ex) {
// var_dump($ex->getMessage());
// return null;
// }
//
// return $res;
//}
//
///**
// * 对微信群发送文本卡片
// *
// * @param $chat
// * @param $title
// * @param $desc
// * @param $button
// * @param $url
// *
// * @return mixed|null
// */
//function chat_card_alert ($chat, $title, $desc, $button, $url)
//{
// if (env('APP_ENV') == 'local') {
// return true;
// }
//
// $base_client = new \JsonRpc\Client(RPC_CONFIG);
// $client = $base_client->endpoint('auth');
//
// try {
// $resp = $client->call('notify.card', [
// ['chat' => $chat],
// $title,
// $desc,
// $button,
// $url,
// ]);
// } catch (Exception $ex) {
// var_dump($ex->getMessage());
// return null;
// }
//
// return $resp;
//}
//
///**
// * 对单个或多个用户发送文本卡片多个用户id使用 | 隔开
// *
// * @param $username
// * @param $title
// * @param $desc
// * @param $button
// * @param $url
// *
// * @return mixed|null
// */
//function user_card_alert ($username, $title, $desc, $button, $url)
//{
// if (env('APP_ENV') == 'local') {
// return true;
// }
//
// $base_client = new \JsonRpc\Client(RPC_CONFIG);
// $client = $base_client->endpoint('auth');
//
// $username = explode('|', $username);
// try {
// $resp = $client->call('notify.card', [
// ['user' => $username],
// $title,
// $desc,
// $button,
// $url,
// ]);
// } catch (Exception $ex) {
// var_dump($ex->getMessage());
// return null;
// }
//
// return $resp;
//}
//
///**
// * 对单个或多个用户发送文本卡片多个用户id使用 | 隔开
// *
// * @param $username
// * @param $appid //小程序的appid
// * @param $title //标题
// * @param $page //小程序页面路径
// * @param $desc //描述
// * @param $items //消息内容键值对最多允许10个item
// * @param $emphasisFirstItem //是否放大第一个content_item
// *
// * @return mixed|null
// */
//function user_mp_alert ($username, $appid, $title, $page = null, $desc = null, $items = null, $emphasisFirstItem = null)
//{
// if (env('APP_ENV') == 'local') {
// return true;
// }
//
// $base_client = new \JsonRpc\Client(RPC_CONFIG);
// $client = $base_client->endpoint('auth');
//
// $username = explode('|', $username);
// try {
// $resp = $client->call('notify.mp', [
// ['user' => $username],
// $appid,
// $title,
// $page,
// $desc,
// $items,
// $emphasisFirstItem
// ]);
// } catch (Exception $ex) {
// var_dump($ex->getMessage());
// return null;
// }
//
// return $resp;
//}
//
///**
// * 对单个或多个用户发送文本卡片多个用户id使用 | 隔开
// *
// * @param $username
// * @param $appid //小程序的appid
// * @param $title //标题
// * @param $page //小程序页面路径
// * @param $desc //描述
// * @param $items //消息内容键值对最多允许10个item
// * @param $emphasisFirstItem //是否放大第一个content_item
// *
// * @return mixed|null
// */
//function tag_mp_alert ($tag, $appid, $title, $page = null, $desc = null, $items = null, $emphasisFirstItem = null)
//{
// if (env('APP_ENV') == 'local') {
// return true;
// }
//
// $base_client = new \JsonRpc\Client(RPC_CONFIG);
// $client = $base_client->endpoint('auth');
//
// try {
// $resp = $client->call('notify.mp', [
// ['tag' => $tag],
// $appid,
// $title,
// $page,
// $desc,
// $items,
// $emphasisFirstItem
// ]);
// } catch (Exception $ex) {
// var_dump($ex->getMessage());
// return null;
// }
//
// return $resp;
//}
/**
* 对企业微信群发送报警信息(需先创建
* 机器人通知
*
* @param $chat
* @param $text
* $content = [
* 'msgtype' => 'text',
* 'text' => [
* 'content' => '!',
* ]
* ];
*
* @return mixed|null
* @param $name
* @param $content
* @return array|mixed
* @throws Exception
*/
function chat_text_alert ($chat, $text)
function bot_notify($name, $content)
{
if (env('APP_ENV') == 'local') {
return true;
switch ($name) {
case 'inventory';
$uri = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=20a40b87-7bb9-4bcf-bd38-6612377d0970';
break;
default:
throw new Exception('bot name not found!');
}
$base_client = new \JsonRpc\Client(RPC_CONFIG);
$client = $base_client->endpoint('auth');
try {
$resp = $client->call('notify.text', [
['chat' => $chat],
$text,
]);
} catch (Exception $ex) {
var_dump($ex->getMessage());
return null;
$client = new \GuzzleHttp\Client();
$option['json'] = $content;
$resp = $client->request('POST', $uri, $option);
if ($resp->getStatusCode() == 200) {
return json_decode($resp->getBody(), true);
} else {
return [];
}
return $resp;
}
/**
* 对单个或多个用户发送报警或通知信息多个用户id使用 | 隔开
*
* @param $text
*
* @return mixed|null
*/
function user_text_alert ($username, $text)
{
if (env('APP_ENV') == 'local') {
return true;
}
$base_client = new \JsonRpc\Client(RPC_CONFIG);
$client = $base_client->endpoint('auth');
$username = explode('|', $username);
try {
$res = $client->call('notify.text', [
['user' => $username],
$text,
]);
} catch (Exception $ex) {
var_dump($ex->getMessage());
return null;
}
return $res;
}
/**
* 对微信群发送文本卡片
*
* @param $chat
* @param $title
* @param $desc
* @param $button
* @param $url
*
* @return mixed|null
*/
function chat_card_alert ($chat, $title, $desc, $button, $url)
{
if (env('APP_ENV') == 'local') {
return true;
}
$base_client = new \JsonRpc\Client(RPC_CONFIG);
$client = $base_client->endpoint('auth');
try {
$resp = $client->call('notify.card', [
['chat' => $chat],
$title,
$desc,
$button,
$url,
]);
} catch (Exception $ex) {
var_dump($ex->getMessage());
return null;
}
return $resp;
}
/**
* 对单个或多个用户发送文本卡片多个用户id使用 | 隔开
*
* @param $username
* @param $title
* @param $desc
* @param $button
* @param $url
*
* @return mixed|null
*/
function user_card_alert ($username, $title, $desc, $button, $url)
{
if (env('APP_ENV') == 'local') {
return true;
}
$base_client = new \JsonRpc\Client(RPC_CONFIG);
$client = $base_client->endpoint('auth');
$username = explode('|', $username);
try {
$resp = $client->call('notify.card', [
['user' => $username],
$title,
$desc,
$button,
$url,
]);
} catch (Exception $ex) {
var_dump($ex->getMessage());
return null;
}
return $resp;
}
/**
* 对单个或多个用户发送文本卡片多个用户id使用 | 隔开
*
* @param $username
* @param $appid //小程序的appid
* @param $title //标题
* @param $page //小程序页面路径
* @param $desc //描述
* @param $items //消息内容键值对最多允许10个item
* @param $emphasisFirstItem //是否放大第一个content_item
*
* @return mixed|null
*/
function user_mp_alert ($username, $appid, $title, $page = null, $desc = null, $items = null, $emphasisFirstItem = null)
{
if (env('APP_ENV') == 'local') {
return true;
}
$base_client = new \JsonRpc\Client(RPC_CONFIG);
$client = $base_client->endpoint('auth');
$username = explode('|', $username);
try {
$resp = $client->call('notify.mp', [
['user' => $username],
$appid,
$title,
$page,
$desc,
$items,
$emphasisFirstItem
]);
} catch (Exception $ex) {
var_dump($ex->getMessage());
return null;
}
return $resp;
}
/**
* 对单个或多个用户发送文本卡片多个用户id使用 | 隔开
*
* @param $username
* @param $appid //小程序的appid
* @param $title //标题
* @param $page //小程序页面路径
* @param $desc //描述
* @param $items //消息内容键值对最多允许10个item
* @param $emphasisFirstItem //是否放大第一个content_item
*
* @return mixed|null
*/
function tag_mp_alert ($tag, $appid, $title, $page = null, $desc = null, $items = null, $emphasisFirstItem = null)
{
if (env('APP_ENV') == 'local') {
return true;
}
$base_client = new \JsonRpc\Client(RPC_CONFIG);
$client = $base_client->endpoint('auth');
try {
$resp = $client->call('notify.mp', [
['tag' => $tag],
$appid,
$title,
$page,
$desc,
$items,
$emphasisFirstItem
]);
} catch (Exception $ex) {
var_dump($ex->getMessage());
return null;
}
return $resp;
}

View File

@ -5,11 +5,20 @@ ini_set('display_errors', 'stderr');
require_once dirname(__DIR__).'/vendor/autoload.php';
$ret = chat_card_alert('szjesh','dfdfdf');
var_dump($ret);
if( $ret['err_code'] == '0' ){
echo "发送成功\n";
}else{
echo "发送失败,原因{$ret['err_msg']}\n";
}
//$ret = chat_card_alert('szjesh','dfdfdf');
//var_dump($ret);
//if( $ret['err_code'] == '0' ){
// echo "发送成功\n";
//}else{
// echo "发送失败,原因{$ret['err_msg']}\n";
//}
$content = [
'msgtype' => 'text',
'text' => [
'content' => '!',
]
];
bot_notify('inventory',$content);