<?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. */ /** * Page.php. * * @author allen05ren <allen05ren@outlook.com> * @copyright 2016 overtrue <i@overtrue.me> * * @see https://github.com/overtrue * @see http://overtrue.me */ namespace EasyWeChat\ShakeAround; use EasyWeChat\Core\AbstractAPI; /** * Class Page. */ class Page extends AbstractAPI { const API_ADD = 'https://api.weixin.qq.com/shakearound/page/add'; const API_UPDATE = 'https://api.weixin.qq.com/shakearound/page/update'; const API_SEARCH = 'https://api.weixin.qq.com/shakearound/page/search'; const API_DELETE = 'https://api.weixin.qq.com/shakearound/page/delete'; const API_RELATION_SEARCH = 'https://api.weixin.qq.com/shakearound/relation/search'; /** * Add a page. * * @param string $title * @param string $description * @param string $pageUrl * @param string $iconUrl * @param string $comment * * @return \EasyWeChat\Support\Collection */ public function add($title, $description, $pageUrl, $iconUrl, $comment = '') { $params = [ 'title' => $title, 'description' => $description, 'page_url' => $pageUrl, 'icon_url' => $iconUrl, ]; if ('' !== $comment) { $params['comment'] = $comment; } return $this->parseJSON('json', [self::API_ADD, $params]); } /** * update a page info. * * @param int $pageId * @param string $title * @param string $description * @param string $pageUrl * @param string $iconUrl * @param string $comment * * @return \EasyWeChat\Support\Collection */ public function update($pageId, $title, $description, $pageUrl, $iconUrl, $comment = '') { $params = [ 'page_id' => intval($pageId), 'title' => $title, 'description' => $description, 'page_url' => $pageUrl, 'icon_url' => $iconUrl, ]; if ('' !== $comment) { $params['comment'] = $comment; } return $this->parseJSON('json', [self::API_UPDATE, $params]); } /** * Fetch batch of pages by pageIds. * * @param array $pageIds * * @return \EasyWeChat\Support\Collection */ public function fetchByIds(array $pageIds) { $params = [ 'type' => 1, 'page_ids' => $pageIds, ]; return $this->parseJSON('json', [self::API_SEARCH, $params]); } /** * Pagination to fetch batch of pages. * * @param int $begin * @param int $count * * @return \EasyWeChat\Support\Collection */ public function pagination($begin, $count) { $params = [ 'type' => 2, 'begin' => intval($begin), 'count' => intval($count), ]; return $this->parseJSON('json', [self::API_SEARCH, $params]); } /** * delete a page. * * @param int $pageId * * @return \EasyWeChat\Support\Collection */ public function delete($pageId) { $params = [ 'page_id' => intval($pageId), ]; return $this->parseJSON('json', [self::API_DELETE, $params]); } }