message
This commit is contained in:
parent
78e70a9b8a
commit
ca76cbc976
|
@ -23,12 +23,17 @@ class Base
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function agent($name)
|
public function agent($key)
|
||||||
{
|
{
|
||||||
$this->agent = $name;
|
$this->agent = $key;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getAgentId()
|
||||||
|
{
|
||||||
|
return $this->getAgentConfig()['id'];
|
||||||
|
}
|
||||||
|
|
||||||
public function transformForJsonRequest($uri, array $params = null)
|
public function transformForJsonRequest($uri, array $params = null)
|
||||||
{
|
{
|
||||||
$uri = new Uri($uri);
|
$uri = new Uri($uri);
|
||||||
|
@ -63,12 +68,11 @@ class Base
|
||||||
protected function getAccessToken()
|
protected function getAccessToken()
|
||||||
{
|
{
|
||||||
$config = $this->getAgentConfig();
|
$config = $this->getAgentConfig();
|
||||||
|
|
||||||
//通讯录的secret没有id
|
//通讯录的secret没有id
|
||||||
if (isset($config['id'])) {
|
if (!isset($config['id'])) {
|
||||||
$key = 'wx_work_access_token_' . $config['key'];
|
$key = 'wx:work:access_token:' . $config['key'];
|
||||||
} else {
|
} else {
|
||||||
$key = 'wx_work_access_token_' . $config['id'];
|
$key = 'wx:work:access_token:' . $config['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$cache = app('cache');
|
$cache = app('cache');
|
||||||
|
|
|
@ -20,7 +20,7 @@ class Message
|
||||||
public function send($msg)
|
public function send($msg)
|
||||||
{
|
{
|
||||||
$request = $this->work->transformForJsonRequest('message/send',
|
$request = $this->work->transformForJsonRequest('message/send',
|
||||||
$msg->toArray());
|
$msg->toArray() + ['agentid' => $this->work->getAgentId()]);
|
||||||
return $this->work->request($request);
|
return $this->work->request($request);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,18 +19,46 @@ abstract class MessageInterface
|
||||||
|
|
||||||
protected $params;
|
protected $params;
|
||||||
|
|
||||||
abstract public function toArray();
|
|
||||||
|
|
||||||
public function ofAgent($agentId)
|
|
||||||
{
|
|
||||||
$this->params['agentid'] = $agentId;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function toUser($user)
|
public function toUser($user)
|
||||||
{
|
{
|
||||||
|
if (is_array($user)) {
|
||||||
|
$user = implode('|', $user);
|
||||||
|
}
|
||||||
$this->params['touser'] = $user;
|
$this->params['touser'] = $user;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function toTag($tag)
|
||||||
|
{
|
||||||
|
if (is_array($tag)) {
|
||||||
|
$tag = implode('|', $tag);
|
||||||
|
}
|
||||||
|
$this->params['totag'] = $tag;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toArray()
|
||||||
|
{
|
||||||
|
$params = array_merge([
|
||||||
|
'msgtype' => $this->type,
|
||||||
|
'safe' => $this->safe,
|
||||||
|
], $this->params);
|
||||||
|
|
||||||
|
switch ($this->type) {
|
||||||
|
case self::TYPE_TEXT_CARD:
|
||||||
|
$params = array_merge($params, [
|
||||||
|
$this->type => [
|
||||||
|
'title' => $this->attr['title'],
|
||||||
|
'description' => $this->attr['description'],
|
||||||
|
'url' => $this->attr['url'],
|
||||||
|
'btntxt' => $this->attr['btntxt'],
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new \Exception('message type ' . $this->type . ' is not allow');
|
||||||
|
}
|
||||||
|
return $arr;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user