<?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\UniformMessage;use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;use EasyWeChat\OfficialAccount\TemplateMessage\Client as BaseClient;class Client extends BaseClient{const API_SEND = 'cgi-bin/message/wxopen/template/uniform_send';/*** {@inheritdoc}.** @var array*/protected $message = ['touser' => '',];/*** Weapp Attributes.** @var array*/protected $weappMessage = ['template_id' => '','page' => '','form_id' => '','data' => [],'emphasis_keyword' => '',];/*** Official account attributes.** @var array*/protected $mpMessage = ['appid' => '','template_id' => '','url' => '','miniprogram' => [],'data' => [],];/*** Required attributes.** @var array*/protected $required = ['touser', 'template_id', 'form_id', 'miniprogram', 'appid'];/*** @param array $data** @return array** @throws InvalidArgumentException*/protected function formatMessage(array $data = []){$params = array_merge($this->message, $data);if (empty($params['touser'])) {throw new InvalidArgumentException(sprintf('Attribute "touser" can not be empty!'));}if (!empty($params['weapp_template_msg'])) {$params['weapp_template_msg'] = $this->formatWeappMessage($params['weapp_template_msg']);}if (!empty($params['mp_template_msg'])) {$params['mp_template_msg'] = $this->formatMpMessage($params['mp_template_msg']);}return $params;}/*** @param array $data** @return array** @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException*/protected function formatWeappMessage(array $data = []){$params = $this->baseFormat($data, $this->weappMessage);$params['data'] = $this->formatData($params['data'] ?? []);return $params;}/*** @param array $data** @return array** @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException*/protected function formatMpMessage(array $data = []){$params = $this->baseFormat($data, $this->mpMessage);if (empty($params['miniprogram']['appid'])) {$params['miniprogram']['appid'] = $this->app['config']['app_id'];}$params['data'] = $this->formatData($params['data'] ?? []);return $params;}/*** @param array $data* @param array $default** @return array** @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException*/protected function baseFormat($data = [], $default = []){$params = array_merge($default, $data);foreach ($params as $key => $value) {if (in_array($key, $this->required, true) && empty($value) && empty($default[$key])) {throw new InvalidArgumentException(sprintf('Attribute "%s" can not be empty!', $key));}$params[$key] = empty($value) ? $default[$key] : $value;}return $params;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。