<?php/** This file is part of the overtrue/wechat.** (c) overtrue <i@overtrue.me>** This source file is subject to the MIT license that is bundled* with this source code in the file LICENSE.*/namespace EasyWeChat\MiniProgram\SubscribeMessage;use EasyWeChat\Kernel\BaseClient;use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;use ReflectionClass;/*** Class Client.** @author hugo <rabbitzhang52@gmail.com>*/class Client extends BaseClient{/*** {@inheritdoc}.*/protected $message = ['touser' => '','template_id' => '','page' => '','data' => [],];/*** {@inheritdoc}.*/protected $required = ['touser', 'template_id', 'data'];/*** Send a template message.** @param array $data** @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function send(array $data = []){$params = $this->formatMessage($data);$this->restoreMessage();return $this->httpPostJson('cgi-bin/message/subscribe/send', $params);}/*** @param array $data** @return array** @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException*/protected function formatMessage(array $data = []){$params = array_merge($this->message, $data);foreach ($params as $key => $value) {if (in_array($key, $this->required, true) && empty($value) && empty($this->message[$key])) {throw new InvalidArgumentException(sprintf('Attribute "%s" can not be empty!', $key));}$params[$key] = empty($value) ? $this->message[$key] : $value;}foreach ($params['data'] as $key => $value) {if (is_array($value)) {if (isset($value['value'])) {$params['data'][$key] = ['value' => $value['value']];continue;}if (count($value) >= 1) {$value = ['value' => $value[0],// 'color' => $value[1],// color unsupported];}} else {$value = ['value' => strval($value),];}$params['data'][$key] = $value;}return $params;}/*** Restore message.*/protected function restoreMessage(){$this->message = (new ReflectionClass(static::class))->getDefaultProperties()['message'];}/*** Combine templates and add them to your personal template library under your account.** @param string $tid* @param array $kidList* @param string|null $sceneDesc** @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function addTemplate(string $tid, array $kidList, string $sceneDesc = null){$sceneDesc = $sceneDesc ?? '';$data = \compact('tid', 'kidList', 'sceneDesc');return $this->httpPost('wxaapi/newtmpl/addtemplate', $data);}/*** Delete personal template under account.** @param string $id** @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function deleteTemplate(string $id){return $this->httpPost('wxaapi/newtmpl/deltemplate', ['priTmplId' => $id]);}/*** Get keyword list under template title.** @param string $tid** @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function getTemplateKeywords(string $tid){return $this->httpGet('wxaapi/newtmpl/getpubtemplatekeywords', compact('tid'));}/*** Get the title of the public template under the category to which the account belongs.** @param array $ids* @param int $start* @param int $limit** @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function getTemplateTitles(array $ids, int $start = 0, int $limit = 30){$ids = \implode(',', $ids);$query = \compact('ids', 'start', 'limit');return $this->httpGet('wxaapi/newtmpl/getpubtemplatetitles', $query);}/*** Get list of personal templates under the current account.** @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function getTemplates(){return $this->httpGet('wxaapi/newtmpl/gettemplate');}/*** Get the category of the applet account.** @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string** @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \GuzzleHttp\Exception\GuzzleException*/public function getCategory(){return $this->httpGet('wxaapi/newtmpl/getcategory');}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。