message
This commit is contained in:
parent
ca76cbc976
commit
73660db7d3
|
@ -12,12 +12,12 @@ abstract class MessageInterface
|
||||||
const TYPE_TEXT_CARD = 'textcard';
|
const TYPE_TEXT_CARD = 'textcard';
|
||||||
const TYPE_NEWS = 'news';
|
const TYPE_NEWS = 'news';
|
||||||
const TYPE_MP_NEWS = 'mpnews';
|
const TYPE_MP_NEWS = 'mpnews';
|
||||||
|
const TYPE_MINI_PROGRAM_NOTICE = 'miniprogram_notice';
|
||||||
|
|
||||||
protected $type;
|
protected $type;
|
||||||
protected $attr;
|
|
||||||
protected $safe;
|
|
||||||
|
|
||||||
protected $params;
|
protected $params;
|
||||||
|
protected $attr;
|
||||||
|
|
||||||
public function toUser($user)
|
public function toUser($user)
|
||||||
{
|
{
|
||||||
|
@ -41,10 +41,17 @@ abstract class MessageInterface
|
||||||
{
|
{
|
||||||
$params = array_merge([
|
$params = array_merge([
|
||||||
'msgtype' => $this->type,
|
'msgtype' => $this->type,
|
||||||
'safe' => $this->safe,
|
'safe' => 0,
|
||||||
], $this->params);
|
], $this->params);
|
||||||
|
|
||||||
switch ($this->type) {
|
switch ($this->type) {
|
||||||
|
case self::TYPE_TEXT:
|
||||||
|
$params = array_merge($params, [
|
||||||
|
$this->type => [
|
||||||
|
'content' => $this->attr['content'],
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
break;
|
||||||
case self::TYPE_TEXT_CARD:
|
case self::TYPE_TEXT_CARD:
|
||||||
$params = array_merge($params, [
|
$params = array_merge($params, [
|
||||||
$this->type => [
|
$this->type => [
|
||||||
|
@ -55,10 +62,15 @@ abstract class MessageInterface
|
||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
break;
|
break;
|
||||||
|
case self::TYPE_MINI_PROGRAM_NOTICE:
|
||||||
|
$params = array_merge($params, [
|
||||||
|
$this->type => $this->attr,
|
||||||
|
]);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new \Exception('message type ' . $this->type . ' is not allow');
|
throw new \Exception('message type ' . $this->type . ' is not allow');
|
||||||
}
|
}
|
||||||
return $arr;
|
return $params;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
52
src/Wechat/Work/Message/MiniProgramMessage.php
Normal file
52
src/Wechat/Work/Message/MiniProgramMessage.php
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Wechat\Work\Message;
|
||||||
|
|
||||||
|
use Wechat\Work\Message\MessageInterface;
|
||||||
|
|
||||||
|
class MiniProgramMessage extends MessageInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->type = self::TYPE_MINI_PROGRAM_NOTICE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function appid($val)
|
||||||
|
{
|
||||||
|
$this->attr['appid'] = $val;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function page($val)
|
||||||
|
{
|
||||||
|
$this->attr['page'] = $val;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function title($id)
|
||||||
|
{
|
||||||
|
$this->attr['title'] = $id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function description($id)
|
||||||
|
{
|
||||||
|
$this->attr['description'] = $id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function emphasisFirstItem($id)
|
||||||
|
{
|
||||||
|
$this->attr['emphasis_first_item'] = $id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function contentItem($id)
|
||||||
|
{
|
||||||
|
$this->attr['content_item'] = $id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -7,10 +7,6 @@ use Wechat\Work\Message\MessageInterface;
|
||||||
class TextCardMessage extends MessageInterface
|
class TextCardMessage extends MessageInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
protected $type;
|
|
||||||
protected $attr;
|
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->type = self::TYPE_TEXT_CARD;
|
$this->type = self::TYPE_TEXT_CARD;
|
||||||
|
@ -40,24 +36,4 @@ class TextCardMessage extends MessageInterface
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toArray()
|
|
||||||
{
|
|
||||||
$arr = [
|
|
||||||
'msgtype' => $this->type,
|
|
||||||
$this->type => [
|
|
||||||
'title' => $this->attr['title'],
|
|
||||||
'description' => $this->attr['description'],
|
|
||||||
'url' => $this->attr['url'],
|
|
||||||
'btntxt' => $this->attr['btntxt'],
|
|
||||||
],
|
|
||||||
'safe' => $this->safe,
|
|
||||||
];
|
|
||||||
|
|
||||||
if (!empty($this->params)) {
|
|
||||||
$arr = array_merge($this->params, $arr);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,35 +1,16 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Wechat\Work;
|
namespace Wechat\Work\Message;
|
||||||
|
|
||||||
class TextMessage extends Message
|
use Wechat\Work\Message\MessageInterface;
|
||||||
|
|
||||||
|
class TextMessage extends MessageInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
protected $type;
|
|
||||||
protected $attr;
|
|
||||||
|
|
||||||
public function __construct($content)
|
public function __construct($content)
|
||||||
{
|
{
|
||||||
parent::__construct();
|
|
||||||
$this->type = self::TYPE_TEXT;
|
$this->type = self::TYPE_TEXT;
|
||||||
$this->attr['content'] = $content;
|
$this->attr['content'] = $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toArray()
|
|
||||||
{
|
|
||||||
$arr = [
|
|
||||||
'msgtype' => $this->type,
|
|
||||||
$this->type => [
|
|
||||||
'content' => $this->attr['content'],
|
|
||||||
],
|
|
||||||
'safe' => $this->safe,
|
|
||||||
];
|
|
||||||
|
|
||||||
if (!empty($this->params)) {
|
|
||||||
$arr = array_merge($this->params, $arr);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user