| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- <?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.
- */
- /**
- * Stats.php.
- *
- * @author overtrue <i@overtrue.me>
- * @copyright 2015 overtrue <i@overtrue.me>
- *
- * @see https://github.com/overtrue
- * @see http://overtrue.me
- */
- namespace EasyWeChat\Stats;
- use EasyWeChat\Core\AbstractAPI;
- /**
- * Class stats.
- */
- class Stats extends AbstractAPI
- {
- // 获取用户增减数据
- const API_USER_SUMMARY = 'https://api.weixin.qq.com/datacube/getusersummary';
- // 获取累计用户数据
- const API_USER_CUMULATE = 'https://api.weixin.qq.com/datacube/getusercumulate';
- // 获取图文群发每日数据
- const API_ARTICLE_SUMMARY = 'https://api.weixin.qq.com/datacube/getarticlesummary';
- // 获取图文群发总数据
- const API_ARTICLE_TOTAL = 'https://api.weixin.qq.com/datacube/getarticletotal';
- // 获取图文统计数据
- const API_USER_READ_SUMMARY = 'https://api.weixin.qq.com/datacube/getuserread';
- // 获取图文统计分时数据
- const API_USER_READ_HOURLY = 'https://api.weixin.qq.com/datacube/getuserreadhour';
- // 获取图文分享转发数据
- const API_USER_SHARE_SUMMARY = 'https://api.weixin.qq.com/datacube/getusershare';
- // 获取图文分享转发分时数据
- const API_USER_SHARE_HOURLY = 'https://api.weixin.qq.com/datacube/getusersharehour';
- // 获取消息发送概况数据
- const API_UPSTREAM_MSG_SUMMARY = 'https://api.weixin.qq.com/datacube/getupstreammsg';
- // 获取消息分送分时数据
- const API_UPSTREAM_MSG_HOURLY = 'https://api.weixin.qq.com/datacube/getupstreammsghour';
- // 获取消息发送周数据
- const API_UPSTREAM_MSG_WEEKLY = 'https://api.weixin.qq.com/datacube/getupstreammsgweek';
- // 获取消息发送月数据
- const API_UPSTREAM_MSG_MONTHLY = 'https://api.weixin.qq.com/datacube/getupstreammsgmonth';
- // 获取消息发送分布数据
- const API_UPSTREAM_MSG_DIST_SUMMARY = 'https://api.weixin.qq.com/datacube/getupstreammsgdist';
- // 获取消息发送分布周数据
- const API_UPSTREAM_MSG_DIST_WEEKLY = 'https://api.weixin.qq.com/datacube/getupstreammsgdistweek';
- // 获取消息发送分布月数据
- const API_UPSTREAM_MSG_DIST_MONTHLY = 'https://api.weixin.qq.com/datacube/getupstreammsgdistmonth?';
- // 获取接口分析数据
- const API_INTERFACE_SUMMARY = 'https://api.weixin.qq.com/datacube/getinterfacesummary';
- // 获取接口分析分时数据
- const API_INTERFACE_SUMMARY_HOURLY = 'https://api.weixin.qq.com/datacube/getinterfacesummaryhour';
- // 拉取卡券概况数据接口
- const API_CARD_SUMMARY = 'https://api.weixin.qq.com/datacube/getcardbizuininfo';
- // 获取免费券数据接口
- const API_FREE_CARD_SUMMARY = 'https://api.weixin.qq.com/datacube/getcardcardinfo';
- // 拉取会员卡数据接口
- const API_MEMBER_CARD_SUMMARY = 'https://api.weixin.qq.com/datacube/getcardmembercardinfo';
- /**
- * 获取用户增减数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function userSummary($from, $to)
- {
- return $this->query(self::API_USER_SUMMARY, $from, $to);
- }
- /**
- * 获取累计用户数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function userCumulate($from, $to)
- {
- return $this->query(self::API_USER_CUMULATE, $from, $to);
- }
- /**
- * 获取图文群发每日数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function articleSummary($from, $to)
- {
- return $this->query(self::API_ARTICLE_SUMMARY, $from, $to);
- }
- /**
- * 获取图文群发总数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function articleTotal($from, $to)
- {
- return $this->query(self::API_ARTICLE_TOTAL, $from, $to);
- }
- /**
- * 获取图文统计数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function userReadSummary($from, $to)
- {
- return $this->query(self::API_USER_READ_SUMMARY, $from, $to);
- }
- /**
- * 获取图文统计分时数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function userReadHourly($from, $to)
- {
- return $this->query(self::API_USER_READ_HOURLY, $from, $to);
- }
- /**
- * 获取图文分享转发数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function userShareSummary($from, $to)
- {
- return $this->query(self::API_USER_SHARE_SUMMARY, $from, $to);
- }
- /**
- * 获取图文分享转发分时数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function userShareHourly($from, $to)
- {
- return $this->query(self::API_USER_SHARE_HOURLY, $from, $to);
- }
- /**
- * 获取消息发送概况数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageSummary($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_SUMMARY, $from, $to);
- }
- /**
- * 获取消息分送分时数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageHourly($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_HOURLY, $from, $to);
- }
- /**
- * 获取消息发送周数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageWeekly($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_WEEKLY, $from, $to);
- }
- /**
- * 获取消息发送月数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageMonthly($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_MONTHLY, $from, $to);
- }
- /**
- * 获取消息发送分布数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageDistSummary($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_DIST_SUMMARY, $from, $to);
- }
- /**
- * 获取消息发送分布周数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageDistWeekly($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_DIST_WEEKLY, $from, $to);
- }
- /**
- * 获取消息发送分布月数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function upstreamMessageDistMonthly($from, $to)
- {
- return $this->query(self::API_UPSTREAM_MSG_DIST_MONTHLY, $from, $to);
- }
- /**
- * 获取接口分析数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function interfaceSummary($from, $to)
- {
- return $this->query(self::API_INTERFACE_SUMMARY, $from, $to);
- }
- /**
- * 获取接口分析分时数据.
- *
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function interfaceSummaryHourly($from, $to)
- {
- return $this->query(self::API_INTERFACE_SUMMARY_HOURLY, $from, $to);
- }
- /**
- * 拉取卡券概况数据接口.
- *
- * @param string $from
- * @param string $to
- * @param int $condSource
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function cardSummary($from, $to, $condSource = 0)
- {
- $ext = [
- 'cond_source' => intval($condSource),
- ];
- return $this->query(self::API_CARD_SUMMARY, $from, $to, $ext);
- }
- /**
- * 获取免费券数据接口.
- *
- * @param string $from
- * @param string $to
- * @param int $condSource
- * @param string $cardId
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function freeCardSummary($from, $to, $condSource = 0, $cardId = '')
- {
- $ext = [
- 'cond_source' => intval($condSource),
- 'card_id' => $cardId,
- ];
- return $this->query(self::API_FREE_CARD_SUMMARY, $from, $to, $ext);
- }
- /**
- * 拉取会员卡数据接口.
- *
- * @param string $from
- * @param string $to
- * @param int $condSource
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function memberCardSummary($from, $to, $condSource = 0)
- {
- $ext = [
- 'cond_source' => intval($condSource),
- ];
- return $this->query(self::API_MEMBER_CARD_SUMMARY, $from, $to, $ext);
- }
- /**
- * 查询数据.
- *
- * @param string $api
- * @param string $from
- * @param string $to
- *
- * @return \EasyWeChat\Support\Collection
- */
- protected function query($api, $from, $to, array $ext = [])
- {
- $params = [
- 'begin_date' => $from,
- 'end_date' => $to,
- ];
- if (!empty($ext)) {
- $params = array_merge($params, $ext);
- }
- return $this->parseJSON('json', [$api, $params]);
- }
- }
|