70 lines
1.7 KiB
PHP
70 lines
1.7 KiB
PHP
<?php
|
||
/**
|
||
* +----------------------------------------------------------------------
|
||
* | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
* +----------------------------------------------------------------------
|
||
* | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
|
||
* +----------------------------------------------------------------------
|
||
* | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
* +----------------------------------------------------------------------
|
||
* | Author: CRMEB Team <admin@crmeb.com>
|
||
* +----------------------------------------------------------------------
|
||
*/
|
||
|
||
namespace crmeb\services\wechat\message;
|
||
|
||
|
||
use think\helper\Str;
|
||
|
||
class Media extends Message
|
||
{
|
||
/**
|
||
* Properties.
|
||
*
|
||
* @var array
|
||
*/
|
||
protected array $properties = ['media_id'];
|
||
|
||
/**
|
||
* @var array
|
||
*/
|
||
protected array $required = [
|
||
'media_id',
|
||
];
|
||
|
||
/**
|
||
* MaterialClient constructor.
|
||
*
|
||
* @param string $mediaId
|
||
* @param string|null $type
|
||
* @param array $attributes
|
||
*/
|
||
public function __construct(string $mediaId, string $type = null, array $attributes = [])
|
||
{
|
||
parent::__construct(array_merge(['media_id' => $mediaId], $attributes));
|
||
|
||
!empty($type) && $this->setType($type);
|
||
}
|
||
|
||
/**
|
||
* @return string
|
||
*
|
||
*/
|
||
public function getMediaId(): string
|
||
{
|
||
$this->checkRequiredAttributes();
|
||
|
||
return $this->get('media_id');
|
||
}
|
||
|
||
public function toXmlArray()
|
||
{
|
||
return [
|
||
Str::studly($this->getType()) => [
|
||
'MediaId' => $this->get('media_id'),
|
||
],
|
||
];
|
||
}
|
||
|
||
}
|