GET
GET = 'get'
Class Menu.
$http : \EasyWeChat\Core\Http
Http instance.
$accessToken : \EasyWeChat\Core\AccessToken
The request token.
__construct(\EasyWeChat\Core\AccessToken $accessToken)
Constructor.
\EasyWeChat\Core\AccessToken | $accessToken |
getHttp() : \EasyWeChat\Core\Http
Return the http instance.
setHttp(\EasyWeChat\Core\Http $http) : $this
Set the http instance.
\EasyWeChat\Core\Http | $http |
getAccessToken() : \EasyWeChat\Core\AccessToken
Return the current accessToken.
setAccessToken(\EasyWeChat\Core\AccessToken $accessToken) : $this
Set the request token.
\EasyWeChat\Core\AccessToken | $accessToken |
parseJSON(string $method, array $args) : \EasyWeChat\Support\Collection
Parse JSON from response and check error.
string | $method | |
array | $args |
| null
all() : \EasyWeChat\Support\Collection
Get all menus.
current() : \EasyWeChat\Support\Collection
Get current menus.
add(array $buttons, array $matchRule = array()) : \EasyWeChat\Support\Collection
Add menu.
array | $buttons | |
array | $matchRule |
destroy(integer $menuId = null) : \EasyWeChat\Support\Collection
Destroy menu.
integer | $menuId |
test(string $userId) : \EasyWeChat\Support\Collection
Test conditional menu.
string | $userId |
<?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.
*/
/**
* Menu.php.
*
* @author overtrue <i@overtrue.me>
* @copyright 2015 overtrue <i@overtrue.me>
*
* @see https://github.com/overtrue
* @see http://overtrue.me
*/
namespace EasyWeChat\Menu;
use EasyWeChat\Core\AbstractAPI;
/**
* Class Menu.
*/
class Menu extends AbstractAPI
{
const API_CREATE = 'https://api.weixin.qq.com/cgi-bin/menu/create';
const API_GET = 'https://api.weixin.qq.com/cgi-bin/menu/get';
const API_DELETE = 'https://api.weixin.qq.com/cgi-bin/menu/delete';
const API_QUERY = 'https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info';
const API_CONDITIONAL_CREATE = 'https://api.weixin.qq.com/cgi-bin/menu/addconditional';
const API_CONDITIONAL_DELETE = 'https://api.weixin.qq.com/cgi-bin/menu/delconditional';
const API_CONDITIONAL_TEST = 'https://api.weixin.qq.com/cgi-bin/menu/trymatch';
/**
* Get all menus.
*
* @return \EasyWeChat\Support\Collection
*/
public function all()
{
return $this->parseJSON('get', [self::API_GET]);
}
/**
* Get current menus.
*
* @return \EasyWeChat\Support\Collection
*/
public function current()
{
return $this->parseJSON('get', [self::API_QUERY]);
}
/**
* Add menu.
*
* @param array $buttons
* @param array $matchRule
*
* @return \EasyWeChat\Support\Collection
*/
public function add(array $buttons, array $matchRule = [])
{
if (!empty($matchRule)) {
return $this->parseJSON('json', [self::API_CONDITIONAL_CREATE, [
'button' => $buttons,
'matchrule' => $matchRule,
]]);
}
return $this->parseJSON('json', [self::API_CREATE, ['button' => $buttons]]);
}
/**
* Destroy menu.
*
* @param int $menuId
*
* @return \EasyWeChat\Support\Collection
*/
public function destroy($menuId = null)
{
if (null !== $menuId) {
return $this->parseJSON('json', [self::API_CONDITIONAL_DELETE, ['menuid' => $menuId]]);
}
return $this->parseJSON('get', [self::API_DELETE]);
}
/**
* Test conditional menu.
*
* @param string $userId
*
* @return \EasyWeChat\Support\Collection
*/
public function test($userId)
{
return $this->parseJSON('json', [self::API_CONDITIONAL_TEST, ['user_id' => $userId]]);
}
}