mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-01-27 05:58:10 +00:00
372 lines
9.8 KiB
PHP
372 lines
9.8 KiB
PHP
<?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]);
|
|
}
|
|
}
|