From bd16c078a1d6428c7b06ac0ea9ead6cbcd751619 Mon Sep 17 00:00:00 2001 From: sunguangming Date: Thu, 21 Dec 2023 16:05:11 +0800 Subject: [PATCH] * webhook: refactor webhook. --- module/webhook/model.php | 15 +++++---- .../webhook/test/model/getbearychatdata.php | 32 +++++++++---------- module/webhook/test/model/getdingdingdata.php | 20 ++++++------ module/webhook/test/model/getfeishudata.php | 13 ++++---- module/webhook/test/model/getweixindata.php | 29 ++++++++--------- module/webhook/test/webhook.class.php | 5 ++- 6 files changed, 57 insertions(+), 57 deletions(-) diff --git a/module/webhook/model.php b/module/webhook/model.php index d071e9444a..027a9477bd 100644 --- a/module/webhook/model.php +++ b/module/webhook/model.php @@ -394,7 +394,7 @@ class webhookModel extends model } elseif($webhook->type == 'wechatgroup' or $webhook->type == 'wechatuser') { - $data = $this->getWeixinData($title, $text, $mobile); + $data = $this->getWeixinData($text, $mobile); } elseif($webhook->type == 'feishuuser' or $webhook->type == 'feishugroup') { @@ -441,6 +441,7 @@ class webhookModel extends model } /** + * 获取发送钉钉的数据。 * Get hook data for dingding. * * @param string $title @@ -449,7 +450,7 @@ class webhookModel extends model * @access public * @return object */ - public function getDingdingData($title, $text, $mobile) + public function getDingdingData(string $title, string $text, string $mobile): object { if($mobile) $text .= " @{$mobile}"; @@ -474,6 +475,7 @@ class webhookModel extends model } /** + * 获取发送bearychat的数据。 * Get hook data for bearychat. * * @param string $text @@ -484,7 +486,7 @@ class webhookModel extends model * @access public * @return object */ - public function getBearychatData($text, $mobile, $email, $objectType, $objectID) + public function getBearychatData(string $text, string $mobile, string $email, string $objectType, int $objectID): object { $data = new stdclass(); $data->text = $text; @@ -511,15 +513,15 @@ class webhookModel extends model } /** + * 获取发送微信的数据。 * Get weixin send data. * - * @param string $title * @param string $text * @param string $mobile * @access public * @return object */ - public function getWeixinData($title, $text, $mobile = '') + public function getWeixinData(string $text, string $mobile = ''): object { $data = new stdclass(); $data->msgtype = 'markdown'; @@ -539,6 +541,7 @@ class webhookModel extends model } /** + * 获取发送飞书的数据。 * Get feishu send data. * * @param string $title @@ -546,7 +549,7 @@ class webhookModel extends model * @access public * @return object */ - public function getFeishuData($title, $text) + public function getFeishuData(string $title, string $text): object { $data = new stdclass(); $data->msg_type = 'interactive'; diff --git a/module/webhook/test/model/getbearychatdata.php b/module/webhook/test/model/getbearychatdata.php index 0738499bcb..97ab40c7cd 100755 --- a/module/webhook/test/model/getbearychatdata.php +++ b/module/webhook/test/model/getbearychatdata.php @@ -7,39 +7,39 @@ su('admin'); /** title=测试 webhookModel->getBearychatData(); +timeout=0 cid=1 -pid=1 -测试传入正确数据 >> true -测试不传text >> true -测试不传mobile >> true -测试不传email >> true -测试不传objectType >> true -测试不传objectID >> true +- 测试传入正确数据属性markdown @true +- 测试不传text属性markdown @true +- 测试不传mobile属性markdown @true +- 测试不传email属性markdown @true +- 测试不传objectType属性markdown @true +- 测试不传objectID属性markdown @true */ $webhook = new webhookTest(); -$text = array(); -$text[0] = 'denghongtao'; -$text[1] = ''; +$text = array(); +$text[0] = 'denghongtao'; +$text[1] = ''; $mobile = array(); $mobile[0] = '12345'; $mobile[1] = ''; -$email = array(); -$email[0] = '123456@outlook.com'; -$email[1] = ''; +$email = array(); +$email[0] = '123456@outlook.com'; +$email[1] = ''; $objectType = array(); $objectType[0] = 'product'; $objectType[1] = ''; -$objectID = array(); -$objectID[0] = '1'; -$objectID[1] = ''; +$objectID = array(); +$objectID[0] = '1'; +$objectID[1] = 0; $result1 = $webhook->getBearychatDataTest($text[0], $mobile[0], $email[0], $objectType[0], $objectID[0]); $result2 = $webhook->getBearychatDataTest($text[1], $mobile[0], $email[0], $objectType[0], $objectID[0]); diff --git a/module/webhook/test/model/getdingdingdata.php b/module/webhook/test/model/getdingdingdata.php index 490efee988..401e19243a 100755 --- a/module/webhook/test/model/getdingdingdata.php +++ b/module/webhook/test/model/getdingdingdata.php @@ -7,20 +7,20 @@ su('admin'); /** title=测试 webhookModel->getDingdingData(); +timeout=0 cid=1 -pid=1 -打印出msgtype >> 文本信息 @123456 -测试不传text的情况 >> @123456 -测试不传mobile的情况 >> 文本信息 -测试不传mobile的情况 >> 文本信息 @123456 +- 打印出msgtype第markdown条的title属性 @ceshi +- 测试不传text的情况第markdown条的title属性 @ceshi +- 测试不传mobile的情况第markdown条的title属性 @ceshi +- 测试不传mobile的情况第markdown条的title属性 @~~ */ $webhook = new webhookTest(); $title = array(); -$title[0] = 'denghongtao'; +$title[0] = 'ceshi'; $title[1] = ''; $text = array(); @@ -31,7 +31,7 @@ $mobile = array(); $mobile[0] = '123456'; $mobile[1] = ''; -r($webhook->getDingdingDataTest($title[0], $text[0], $mobile[0])) && p('markdown:text') && e('文本信息 @123456'); //打印出msgtype -r($webhook->getDingdingDataTest($title[0], $text[1], $mobile[0])) && p('markdown:text') && e('@123456'); //测试不传text的情况 -r($webhook->getDingdingDataTest($title[0], $text[0], $mobile[1])) && p('markdown:text') && e('文本信息'); //测试不传mobile的情况 -r($webhook->getDingdingDataTest($title[1], $text[0], $mobile[0])) && p('markdown:text') && e('文本信息 @123456'); //测试不传mobile的情况 \ No newline at end of file +r($webhook->getDingdingDataTest($title[0], $text[0], $mobile[0])) && p('markdown:title') && e('ceshi'); //打印出msgtype +r($webhook->getDingdingDataTest($title[0], $text[1], $mobile[0])) && p('markdown:title') && e('ceshi'); //测试不传text的情况 +r($webhook->getDingdingDataTest($title[0], $text[0], $mobile[1])) && p('markdown:title') && e('ceshi'); //测试不传mobile的情况 +r($webhook->getDingdingDataTest($title[1], $text[0], $mobile[0])) && p('markdown:title') && e('~~'); //测试不传mobile的情况 \ No newline at end of file diff --git a/module/webhook/test/model/getfeishudata.php b/module/webhook/test/model/getfeishudata.php index f899b79ce7..2ce4a34d40 100755 --- a/module/webhook/test/model/getfeishudata.php +++ b/module/webhook/test/model/getfeishudata.php @@ -7,11 +7,12 @@ su('admin'); /** title=测试 webhookModel->getFeishuData(); +timeout=0 cid=1 -pid=1 -测试正常传入的情况 >> wenbenxiaoxiang -测试不传title的情况 >> wenbenxiaoxiang +- 测试正常传入的情况第title条的content属性 @denghongtao +- 测试不传title的情况第title条的content属性 @~~ +- 测试不传text的情况第title条的content属性 @denghongtao */ @@ -29,6 +30,6 @@ $result1 = $webhook->getFeishuDataTest($title[0], $text[0]); $result2 = $webhook->getFeishuDataTest($title[1], $text[0]); $result3 = $webhook->getFeishuDataTest($title[0], $text[1]); -r($result1) && p('content:text') && e('wenbenxiaoxiang'); //测试正常传入的情况 -r($result2) && p('content:text') && e('wenbenxiaoxiang'); //测试不传title的情况 -r($result3) && p('content:text') && e(''); //测试不传text的情况 \ No newline at end of file +r($result1->card['header']) && p('title:content') && e('denghongtao'); //测试正常传入的情况 +r($result2->card['header']) && p('title:content') && e('~~'); //测试不传title的情况 +r($result3->card['header']) && p('title:content') && e('denghongtao'); //测试不传text的情况 \ No newline at end of file diff --git a/module/webhook/test/model/getweixindata.php b/module/webhook/test/model/getweixindata.php index b8933c9808..af28d880c4 100755 --- a/module/webhook/test/model/getweixindata.php +++ b/module/webhook/test/model/getweixindata.php @@ -7,21 +7,18 @@ su('admin'); /** title=测试 webhookModel->getWeixinData(); +timeout=0 cid=1 -pid=1 -测试正常传入的情况 >> 文本选择 -测试不传title >> 文本选择 -测试不传mobile >> 文本选择 +- 测试正常传入的情况第text条的content属性 @文本选择 +- 测试不传title第text条的content属性 @文本选择 +- 测试不传text第text条的content属性 @ +- 测试不传mobile第markdown条的content属性 @文本选择 */ $webhook = new webhookTest(); -$title = array(); -$title[0] = '名称'; -$title[1] = ''; - $text = array(); $text[0] = '文本选择'; $text[1] = ''; @@ -30,12 +27,12 @@ $mobile = array(); $mobile[0] = '123456'; $mobile[1] = ''; -$result1 = $webhook->getWeixinDataTest($title[0], $text[0], $mobile[0]); -$result2 = $webhook->getWeixinDataTest($title[1], $text[0], $mobile[0]); -$result3 = $webhook->getWeixinDataTest($title[0], $text[1], $mobile[0]); -$result4 = $webhook->getWeixinDataTest($title[0], $text[0], $mobile[1]); +$result1 = $webhook->getWeixinDataTest($text[0], $mobile[0]); +$result2 = $webhook->getWeixinDataTest($text[0], $mobile[0]); +$result3 = $webhook->getWeixinDataTest($text[1], $mobile[0]); +$result4 = $webhook->getWeixinDataTest($text[0], $mobile[1]); -r($result1) && p('markdown:content') && e('文本选择'); //测试正常传入的情况 -r($result2) && p('markdown:content') && e('文本选择'); //测试不传title -r($result3) && p('markdown:content') && e(''); //测试不传text -r($result4) && p('markdown:content') && e('文本选择'); //测试不传mobile \ No newline at end of file +r($result1) && p('text:content') && e('文本选择'); //测试正常传入的情况 +r($result2) && p('text:content') && e('文本选择'); //测试不传title +r($result3) && p('text:content') && e('~`'); //测试不传text +r($result4) && p('markdown:content') && e('文本选择'); //测试不传mobile diff --git a/module/webhook/test/webhook.class.php b/module/webhook/test/webhook.class.php index 0329347461..61ab446b85 100644 --- a/module/webhook/test/webhook.class.php +++ b/module/webhook/test/webhook.class.php @@ -284,15 +284,14 @@ class webhookTest /** * Get weixin data Test * - * @param string $title * @param string $text * @param string $mobile * @access public * @return array */ - public function getWeixinDataTest($title, $text, $mobile) + public function getWeixinDataTest($text, $mobile) { - $objects = $this->objectModel->getWeixinData($title, $text, $mobile); + $objects = $this->objectModel->getWeixinData($text, $mobile); if(dao::isError()) return dao::getError();