105 lines
3.3 KiB
PHP
105 lines
3.3 KiB
PHP
<?php
|
|
/**
|
|
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.gobuysaas.com
|
|
* =========================================================
|
|
*/
|
|
namespace addon\weapp\shop\controller;
|
|
|
|
use addon\weapp\model\Stat as StatModel;
|
|
use app\shop\controller\BaseShop;
|
|
|
|
/**
|
|
* 微信小程序访问统计
|
|
*/
|
|
class Stat extends BaseShop
|
|
{
|
|
protected $replace = []; //视图输出字符串内容替换 相当于配置文件中的'view_replace_str'
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->replace = [
|
|
'WEAPP_CSS' => __ROOT__ . '/addon/weapp/shop/view/public/css',
|
|
'WEAPP_JS' => __ROOT__ . '/addon/weapp/shop/view/public/js',
|
|
'WEAPP_IMG' => __ROOT__ . '/addon/weapp/shop/view/public/img',
|
|
'WEAPP_SVG' => __ROOT__ . '/addon/weapp/shop/view/public/svg',
|
|
];
|
|
}
|
|
|
|
public function stat()
|
|
{
|
|
return $this->fetch('stat/stat', [], $this->replace);
|
|
}
|
|
|
|
/**
|
|
* 统计昨日的数据
|
|
*/
|
|
public function visitData()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$date_type = input("date_type", "month");
|
|
$stat_model = new StatModel();
|
|
$result = $stat_model->visitData($date_type);
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取微信小程序 数据分析统计
|
|
*/
|
|
public function visitStatistics()
|
|
{
|
|
|
|
$stat_model = new StatModel();
|
|
$daterange = input("daterange", "");
|
|
$result = $stat_model->visitStatistics($daterange);
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* 得到时间间隔
|
|
* @param $date_type
|
|
* @param string $daterange
|
|
* @return array
|
|
*/
|
|
public function getDaterange($date_type, $daterange = "")
|
|
{
|
|
$today_date = date('Ymd');//当前日日期
|
|
$begin_date = "";
|
|
$end_date = "";
|
|
|
|
switch ($date_type) {
|
|
case 'today':
|
|
$begin_date = $today_date;
|
|
$end_date = $today_date;
|
|
break;
|
|
case 'yesterday':
|
|
$begin_date = date('Ymd', strtotime('-1 days'));
|
|
$end_date = date('Ymd', strtotime('-1 days'));
|
|
break;
|
|
case 'week':
|
|
$begin_date = date('Ymd', strtotime('-6 days'));
|
|
$end_date = $today_date;
|
|
break;
|
|
case 'month':
|
|
$begin_date = date('Ymd', strtotime('-29 days'));
|
|
$end_date = $today_date;
|
|
break;
|
|
case 'daterange':
|
|
if (!empty($daterange)) {
|
|
$daterange_array = explode(" - ", $daterange);
|
|
$begin_date = date_format(date_create($daterange_array[0]), "Ymd");
|
|
$end_date = date_format(date_create($daterange_array[1]), "Ymd");
|
|
}
|
|
$begin_date = date('Ymd', strtotime($begin_date));//开始日期
|
|
$end_date = date('Ymd', strtotime($end_date));//结束日期
|
|
break;
|
|
}
|
|
|
|
return array("begin_date" => $begin_date, "end_date" => $end_date);
|
|
}
|
|
} |