official_website/app/count/controller/SiteProfile.php

800 lines
28 KiB
PHP

<?php
/**
* @Descripttion : FOXCMS 是一款高效的 PHP 多端跨平台内容管理系统
* @Author : FoxCMS Team
* @Date : 2023/6/26 19:13
* @version : V1.08
* @copyright : ©2021-现在 贵州黔狐科技股份有限公司 版权所有
* @LastEditTime : 2023/6/26 19:13
*/
namespace app\count\controller;
use app\common\controller\AdminApplyBase;
use app\common\model\AccessStat;
use think\Db;
use think\facade\View;
class SiteProfile extends AdminApplyBase
{
// 今日流量
private function traffic($dateV)
{
$accessStatList = AccessStat::field("id,ip,browser,from_page,source_site,browser_type,create_time,cookie")
->whereTime("create_time", '>=', $dateV . " 00:00:00")
->whereTime("create_time", '<=', $dateV . " 23:59:59")
->order("create_time", "asc")->select();
$uvArr = [];
$ipArr = [];
foreach ($accessStatList as $accessStat) {
if ($accessStat['cookie'] == "first") {
array_push($uvArr, ["ip" => $accessStat["ip"], "cookie" => $accessStat["cookie"]]);
}
array_push($ipArr, $accessStat["ip"]);
}
$ipArr = array_unique($ipArr); //去重ip
$totalDiffTime = 0;
foreach ($ipArr as $ip) { //遍历ip
$minTime = strtotime($accessStatList[0]['create_time']); //最小时间
$maxTime = $minTime; //最大时间
foreach ($accessStatList as $as) {
if ($ip == $as['ip']) {
$createTime = strtotime($as['create_time']);
if ($createTime >= $maxTime) {
$maxTime = $createTime;
} elseif ($createTime < $minTime) {
$minTime = $createTime;
}
}
}
$timeDiff = $maxTime - $minTime;
$totalDiffTime += $timeDiff;
}
$avgTime = (int)($totalDiffTime / sizeof($ipArr));
$diffAvgTimeArr = diff_time($avgTime);
$avgTimeStr = "";
if ($diffAvgTimeArr["hours"] < 10) {
$avgTimeStr .= "0" . $diffAvgTimeArr["hours"];
} else {
$avgTimeStr .= $diffAvgTimeArr["hours"];
}
$avgTimeStr .= ":";
if ($diffAvgTimeArr["minutes"] < 10) {
$avgTimeStr .= "0" . $diffAvgTimeArr["minutes"];
} else {
$avgTimeStr .= $diffAvgTimeArr["minutes"];
}
$avgTimeStr .= ":";
if ($diffAvgTimeArr["seconds"] < 10) {
$avgTimeStr .= "0" . $diffAvgTimeArr["seconds"];
} else {
$avgTimeStr .= $diffAvgTimeArr["seconds"];
}
$pv = sizeof($accessStatList);
$uv = sizeof($uvArr);
$ip = sizeof($ipArr);
$day = ['pv' => $pv, 'uv' => $uv, 'ip' => $ip, 'avgTime' => $avgTimeStr]; //今日
return $day;
}
public function index()
{
//今日流量
//今天
$today = date('Y-m-d', time());
$todayDatas = $this->traffic($today);
$todayDatas['text'] = "今日";
//昨天
$traffics = [];
$yesterday = date("Y-m-d", strtotime("-1 day"));
$yesterdayDatas = $this->traffic($yesterday);
$yesterdayDatas['text'] = "昨天";
array_push($traffics, $todayDatas);
array_push($traffics, $yesterdayDatas);
View::assign("traffics", $traffics);
//Top10入口页面
$cursorList = AccessStat::where(['cookie' => 'first'])->cursor();
$totalCount = 0; //总数
$entranceList = [];
foreach ($cursorList as $accessStat) {
$from_page = $accessStat['from_page'];
if (empty($from_page)) {
continue;
}
$ent = null;
$key = 0;
foreach ($entranceList as $k => $entrance) {
if ($from_page == $entrance['from_page']) {
$ent = $entrance;
$key = $k;
break;
}
}
if ($ent == null) {
array_push($entranceList, ['from_page' => $from_page, 'count' => 1]);
} else {
$count = $ent['count'] + 1;
$updateEn = ['from_page' => $from_page, 'count' => $count];
$entranceList[$key] = $updateEn;
}
$totalCount++;
}
//排序从大到小
uasort($entranceList, function ($a, $b) {
return $b['count'] > $a['count'];
});
//计算百分比
$entranceListR = [];
foreach ($entranceList as $k => $entranceR) {
if ($k < 10) {
$count = $entranceR['count'];
$percent = (number_format(($count / $totalCount), 4) * 100) . "%";
$entranceR['percent'] = $percent;
array_push($entranceListR, $entranceR);
}
}
View::assign("entranceList", $entranceListR); //Top10入口页面
//Top10受访页面
$cursorListA = AccessStat::cursor();
$totalCountA = 0; //总数
$entranceListA = [];
foreach ($cursorListA as $accessStatA) {
$from_pageA = $accessStatA['from_page'];
if (empty($from_pageA)) {
continue;
}
$entA = null;
$keyA = 0;
foreach ($entranceListA as $k => $entranceA) {
if ($from_pageA == $entranceA['from_page']) {
$entA = $entranceA;
$keyA = $k;
break;
}
}
if ($entA == null) {
array_push($entranceListA, ['from_page' => $from_pageA, 'count' => 1]);
} else {
$countA = $entA['count'] + 1;
$updateEnA = ['from_page' => $from_pageA, 'count' => $countA];
$entranceListA[$keyA] = $updateEnA;
}
$totalCountA++;
}
//排序从大到小
uasort($entranceListA, function ($a, $b) {
return $b['count'] > $a['count'];
});
//计算百分比
$entranceListRA = [];
foreach ($entranceListA as $kA => $entranceRA) {
if ($kA < 10) {
$count = $entranceRA['count'];
$percent = (number_format(($count / $totalCountA), 4) * 100) . "%";
$entranceRA['percent'] = $percent;
array_push($entranceListRA, $entranceRA);
}
}
View::assign("visitedList", $entranceListRA); //Top10受访页面
//受访页面初始化
View::assign("today", $today); //今天
View::assign("yesterday", $yesterday); //昨天
//最近7天
$date7 = get_dates();
$firt7Date1 = $date7['1'];
$last7Date7 = $date7[(sizeof($date7))];
View::assign("firt7Date1", $firt7Date1);
View::assign("last7Date7", $last7Date7);
//最近30天
$date30 = get_dates(time(), 30);
$firt30Date1 = $date30['1'];
$last30Date30 = $date30[(sizeof($date30))];
View::assign("firt30Date1", $firt30Date1);
View::assign("last30Date30", $last30Date30);
return view('index');
}
// 删除三十天之前的统计数据
public function del30AccessStat()
{
$date30 = get_dates(time(), 30);
$firt30Date1 = $date30['1'];
$endTime = $firt30Date1 . " 00:00:00";
$where = [];
array_push($where, ["create_time", '<', $endTime]);
$ras = AccessStat::where($where)->delete();
$this->success("删除成功", "", $ras);
}
// 过滤本地ip
private function filterIp($ip)
{
if ($ip == "127.0.0.1") {
return "1.48.242.105"; //外网ip
} else {
return $ip;
}
}
// 地区分布
public function region()
{
$domain = $this->domain;
$paramStr = func_param_pack(['keyword' => $domain], "&"); //参数串
$foxcmsDomain = config("adminconfig.foxcms_domain"); //foxcms官网地址
$foxcmsPathUrl = $foxcmsDomain . url("api/Home/authorizeInfo") . "?{$paramStr}";
$resJson = get_url_content($foxcmsPathUrl);
$res = json_decode($resJson);
$data = $res->data; //授权信息
if ($data->is_auth == 0) {
$this->error("抱歉,你的域名未授权或授权过期了", "", $data);
}
$type = $this->request->param("type", 1);
if ($type == 1) { //今天
$today = date('Y-m-d', time());
$startTime = $today . " 00:00:00";
$endTime = $today . " 23:59:59";
} elseif ($type == 2) { //昨天
$yesterday = date("Y-m-d", strtotime("-1 day"));
$startTime = $yesterday . " 00:00:00";
$endTime = $yesterday . " 23:59:59";
} else {
//最近7天
$date7 = get_dates();
$firt7Date1 = $date7['1'];
$last7Date7 = $date7[(sizeof($date7))];
$startTime = $firt7Date1 . " 00:00:00";
$endTime = $last7Date7 . " 23:59:59";
}
$where = [];
array_push($where, ["create_time", '>=', $startTime]);
array_push($where, ["create_time", '<=', $endTime]);
$cursorList = AccessStat::where($where)->select();
$provinceIpList = [];
foreach ($cursorList as $accessStat) {
$ip = $this->filterIp($accessStat['ip']);
$pro = null;
$key = 0;
foreach ($provinceIpList as $k => $provinceIp) {
if ($ip == $provinceIp['ip']) {
$pro = $provinceIp;
$key = $k;
break;
}
}
if ($pro == null) {
array_push($provinceIpList, ['ip' => $ip, 'count' => 1]);
} else {
$count = $pro['count'] + 1;
$updatePro = ['ip' => $ip, 'count' => $count];
$provinceIpList[$key] = $updatePro;
}
}
//解析ip列表
$provinceIpListR = [];
$domain = $this->domain;
foreach ($provinceIpList as $proIp) {
$param = ['keyword' => $domain, 'ip' => $proIp['ip']];
$data = $this->ipAnalyse($param);
$fdata = $data;
if ($fdata == null || $fdata == "") {
continue;
}
$proIp['prov'] = $fdata['prov'];
array_push($provinceIpListR, $proIp);
}
$provinceList = [
'北京',
'天津',
'上海',
'重庆',
'河北',
'河南',
'云南',
'辽宁',
'黑龙江',
'湖南',
'安徽',
'山东',
'新疆',
'江苏',
'浙江',
'江西',
'湖北',
'广西',
'甘肃',
'山西',
'内蒙古',
'陕西',
'吉林',
'福建',
'贵州',
'广东',
'青海',
'西藏',
'四川',
'宁夏',
'海南',
'台湾',
'香港',
'澳门'
]; //省份
$provinceMap = [];
$specialMap = [];
foreach ($provinceList as $province) {
$value = 0;
foreach ($provinceIpListR as $provinceIp) {
if ($province == $provinceIp['prov']) {
$value = $provinceIp['count'];
array_push($specialMap, $province);
break;
}
}
$prov = ['name' => $province, 'value' => $value];
array_push($provinceMap, $prov);
}
$rdata = ['provinceMap' => $provinceMap, 'specialMap' => $specialMap, 'is_auth' => 1];
$this->success("查询成功", "", $rdata);
}
// 访问概括
public function accessProfile()
{
$param = $this->request->param();
$type = $param["type"]; //类型
$labelList = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23"
];
if ($type == 1) { //今天
$today = date('Y-m-d', time());
$rdata = $this->getTimeStat($today);
$rdata["labelList"] = $labelList;
$this->success("查询成功", "", $rdata);
} elseif ($type == 2) { //昨天
$yesterday = date("Y-m-d", strtotime("-1 day"));
$rdata = $this->getTimeStat($yesterday);
$rdata["labelList"] = $labelList;
$this->success("查询成功", "", $rdata);
} elseif ($type == 3) { //最近7天
$date7 = get_dates();
$labelDateList = [];
$pvList = [];
$uvList = [];
$pvTotal = 0;
$uvTotal = 0;
foreach ($date7 as $date) {
$dataStat = $this->getDateStat($date);
array_push($labelDateList, $date);
array_push($pvList, $dataStat["pvTotal"]);
array_push($uvList, $dataStat["uvTotal"]);
$pvTotal += $dataStat["pvTotal"];
$uvTotal += $dataStat["uvTotal"];
}
$rdata = [];
$rdata["labelList"] = $labelDateList;
$rdata["pvList"] = $pvList;
$rdata["uvList"] = $uvList;
$rdata["pvTotal"] = $pvTotal;
$rdata["uvTotal"] = $uvTotal;
$this->success("查询成功", "", $rdata);
} elseif ($type == 4) { //最近30天
$date30 = get_dates(time(), 30);
$labelDateList = [];
$pvList = [];
$uvList = [];
$pvTotal = 0;
$uvTotal = 0;
foreach ($date30 as $key => $date) {
$dataStat = $this->getDateStat($date);
array_push($pvList, $dataStat["pvTotal"]);
array_push($uvList, $dataStat["uvTotal"]);
array_push($labelDateList, $date);
$pvTotal += $dataStat["pvTotal"];
$uvTotal += $dataStat["uvTotal"];
}
$rdata = [];
$rdata["labelList"] = $labelDateList;
$rdata["pvList"] = $pvList;
$rdata["uvList"] = $uvList;
$rdata["pvTotal"] = $pvTotal;
$rdata["uvTotal"] = $uvTotal;
$this->success("查询成功", "", $rdata);
}
}
// 日期统计
private function getDateStat($dateV)
{
$accessStatList = AccessStat::field("id,ip,browser,from_page,source_site,browser_type,create_time")
->whereTime("create_time", '>=', $dateV . " 00:00:00")
->whereTime("create_time", '<=', $dateV . " 23:59:59")
->order("create_time", "asc")->select();
$pvTotal = sizeof($accessStatList);
$ips = [];
foreach ($accessStatList as $accessStat) {
$ip = $accessStat['ip'];
array_push($ips, $ip);
}
$ips = array_unique($ips);
$uvTotal = sizeof($ips);
$statData = ['pvTotal' => $pvTotal, "uvTotal" => $uvTotal];
return $statData;
}
// 获取时间的统计
private function getTimeStat($dateV)
{
$accessStatList = AccessStat::field("id,ip,browser,from_page,source_site,browser_type,create_time,cookie")
->whereTime("create_time", '>=', $dateV . " 00:00:00")
->whereTime("create_time", '<=', $dateV . " 23:59:59")
->order("create_time", "asc")->select();
$pvArr = [
"0" => 0,
"1" => 0,
"2" => 0,
"3" => 0,
"4" => 0,
"5" => 0,
"6" => 0,
"7" => 0,
"8" => 0,
"9" => 0,
"10" => 0,
"11" => 0,
"12" => 0,
"13" => 0,
"14" => 0,
"15" => 0,
"16" => 0,
"17" => 0,
"18" => 0,
"19" => 0,
"20" => 0,
"21" => 0,
"22" => 0,
"23" => 0
];
$uvArr = [
"0" => 0,
"1" => 0,
"2" => 0,
"3" => 0,
"4" => 0,
"5" => 0,
"6" => 0,
"7" => 0,
"8" => 0,
"9" => 0,
"10" => 0,
"11" => 0,
"12" => 0,
"13" => 0,
"14" => 0,
"15" => 0,
"16" => 0,
"17" => 0,
"18" => 0,
"19" => 0,
"20" => 0,
"21" => 0,
"22" => 0,
"23" => 0
];
$hArr = [];
foreach ($accessStatList as $accessStat) {
// $ip = $accessStat['ip'];
$create_time = $accessStat['create_time'];
$ctime = strtotime($create_time);
$H = date("H", $ctime);
if (str_starts_with($H, "0")) {
$H = mb_substr($H, 1);
}
foreach ($pvArr as $key => $pv) {
if ($key == $H) {
$pvArr[$key] = $pv + 1;
break;
}
}
array_push($hArr, $H);
}
$hArr = array_unique($hArr);
foreach ($uvArr as $ku => $uv) {
$index = 0;
foreach ($hArr as $ka => $va) {
if ($ku == $va) {
$index++;
}
}
$uvArr[$ku] = $index;
}
$statData = ["pvList" => $pvArr, "uvList" => $uvArr, "pvTotal" => sizeof($accessStatList), "uvTotal" => sizeof($hArr)];
return $statData;
}
// 受访页面
public function accessPage()
{
$currentPage = $this->request->param("currentPage", 1);
$pageSize = $this->request->param("pageSize", 10);
$index = $this->request->param("index", "");
$keyword = $this->request->param("keyword");
$where = [];
if (!empty($keyword)) {
array_push($where, ['page_title', 'like', '%' . trim($keyword) . '%']);
}
if ($index != "") {
if ($index == 0) { //今天
$today = date('Y-m-d', time());
$startTime = $today . " 00:00:00";
$endTime = $today . " 23:59:59";
} elseif ($index == 1) { //昨天
$yesterday = date("Y-m-d", strtotime("-1 day"));
$startTime = $yesterday . " 00:00:00";
$endTime = $yesterday . " 23:59:59";
} elseif ($index == 2) {
//最近7天
$date7 = get_dates();
$firt7Date1 = $date7['1'];
$last7Date7 = $date7[(sizeof($date7))];
$startTime = $firt7Date1 . " 00:00:00";
$endTime = $last7Date7 . " 23:59:59";
} else {
//最近30天
$date30 = get_dates(time(), 30);
$firt30Date1 = $date30['1'];
$last30Date30 = $date30[(sizeof($date30))];
$startTime = $firt30Date1 . " 00:00:00";
$endTime = $last30Date30 . " 23:59:59";
}
array_push($where, ["create_time", '>=', $startTime]);
array_push($where, ["create_time", '<=', $endTime]);
}
$dataSql = AccessStat::where($where)->buildSql();
$sql = "({$dataSql})";
$rpage = \think\facade\Db::table($sql . " as a")->field('page_title, from_page, count(from_page) as pvcount')
->where([['page_title', '<>', '']])
->group('page_title,from_page')->paginate(['page' => $currentPage, 'list_rows' => $pageSize])->each(function ($item, $key) use ($sql) {
$newWhere = [];
array_push($newWhere, ["from_page", '=', $item['from_page']]);
$rlist = \think\facade\Db::table($sql . " as b")->where($newWhere)->select();
$uvArr = [];
foreach ($rlist as $aStat) {
$create_time = date('Y-m-d', strtotime($aStat['create_time']));
$uvCurr = null;
foreach ($uvArr as $uvA) {
if ($aStat['cookie'] == $uvA['cookie'] && $create_time == $uvA['create_time']) {
if ($aStat['cookie'] == 'continue') {
$uvCurr = $uvA;
}
}
}
if ($uvCurr == null) {
array_push($uvArr, ['cookie' => $aStat['cookie'], 'create_time' => $create_time]);
}
}
$item['uvcount'] = sizeof($uvArr);
return $item;
});
$total = $rpage->total();
$per_page = $rpage->listRows();
$current_page = $rpage->currentPage();
$last_page = $rpage->lastPage();
$dataList = $rpage->items();
//排序从大到小
uasort($dataList, function ($a, $b) {
return $b['pvcount'] > $a['pvcount'];
});
$rdataList = [];
foreach ($dataList as $d) {
array_push($rdataList, $d);
}
$rdata = [];
$rdata['total'] = $total;
$rdata['per_page'] = $per_page;
$rdata['current_page'] = $current_page;
$rdata['last_page'] = $last_page;
$rdata['data'] = $rdataList;
$this->success("查询成功", "", $rdata);
}
// 入口页面
public function enterPage()
{
$currentPage = $this->request->param("currentPage", 1);
$pageSize = $this->request->param("pageSize", 10);
$index = $this->request->param("index", "");
$keyword = $this->request->param("keyword");
$where = [];
if (!empty($keyword)) {
array_push($where, ['page_title', 'like', '%' . trim($keyword) . '%']);
}
if ($index != "") {
if ($index == 0) { //今天
$today = date('Y-m-d', time());
$startTime = $today . " 00:00:00";
$endTime = $today . " 23:59:59";
} elseif ($index == 1) { //昨天
$yesterday = date("Y-m-d", strtotime("-1 day"));
$startTime = $yesterday . " 00:00:00";
$endTime = $yesterday . " 23:59:59";
} elseif ($index == 2) {
//最近7天
$date7 = get_dates();
$firt7Date1 = $date7['1'];
$last7Date7 = $date7[(sizeof($date7))];
$startTime = $firt7Date1 . " 00:00:00";
$endTime = $last7Date7 . " 23:59:59";
} else {
//最近30天
$date30 = get_dates(time(), 30);
$firt30Date1 = $date30['1'];
$last30Date30 = $date30[(sizeof($date30))];
$startTime = $firt30Date1 . " 00:00:00";
$endTime = $last30Date30 . " 23:59:59";
}
array_push($where, ["create_time", '>=', $startTime]);
array_push($where, ["create_time", '<=', $endTime]);
}
array_push($where, ["cookie", '=', 'first']);
$dataSql = AccessStat::where($where)->buildSql();
$sql = "({$dataSql})";
$rpage = \think\facade\Db::table($sql . " as a")->field('page_title, from_page, count(from_page) as uvcount')
->group('page_title,from_page')->paginate(['page' => $currentPage, 'list_rows' => $pageSize])->each(function ($item, $key) use ($sql) {
$newWhere = [];
array_push($newWhere, ["from_page", '=', $item['from_page']]);
$rlist = \think\facade\Db::table($sql . " as b")->where($newWhere)->select();
$ipArr = [];
foreach ($rlist as $aStat) {
$create_time = date('Y-m-d', strtotime($aStat['create_time']));
$ipCurr = null;
foreach ($ipArr as $ipA) {
if ($aStat['ip'] == $ipA['ip'] && $create_time == $ipA['create_time']) {
$ipCurr = $ipA;
}
}
if ($ipCurr == null) {
array_push($ipArr, ['ip' => $aStat['ip'], 'create_time' => $create_time]);
}
}
$item['ipcount'] = sizeof($ipArr);
return $item;
});
$total = $rpage->total();
$per_page = $rpage->listRows();
$current_page = $rpage->currentPage();
$last_page = $rpage->lastPage();
$dataList = $rpage->items();
//排序从大到小
uasort($dataList, function ($a, $b) {
return $b['pvcount'] > $a['pvcount'];
});
$rdataList = [];
foreach ($dataList as $d) {
array_push($rdataList, $d);
}
$rdata = [];
$rdata['total'] = $total;
$rdata['per_page'] = $per_page;
$rdata['current_page'] = $current_page;
$rdata['last_page'] = $last_page;
$rdata['data'] = $rdataList;
$this->success("查询成功", "", $rdata);
}
// 访客分析
public function visitorAnalyse()
{
$ip = $this->request->param("ip", "");
$currentPage = $this->request->param("currentPage", 1);
$pageSize = $this->request->param("pageSize", 10);
$type = $this->request->param("type");
$where = [];
array_push($where, ["cookie", '=', 'first']);
if (!empty($ip)) {
array_push($where, ["ip", '=', trim($ip)]);
}
if (!empty($type)) {
if ($type == 1) { //今天
$today = date('Y-m-d', time());
$startTime = $today . " 00:00:00";
$endTime = $today . " 23:59:59";
} elseif ($type == 2) { //昨天
$yesterday = date("Y-m-d", strtotime("-1 day"));
$startTime = $yesterday . " 00:00:00";
$endTime = $yesterday . " 23:59:59";
} else {
//最近7天
$date7 = get_dates();
$firt7Date1 = $date7['1'];
$last7Date7 = $date7[(sizeof($date7))];
$startTime = $firt7Date1 . " 00:00:00";
$endTime = $last7Date7 . " 23:59:59";
}
array_push($where, ["create_time", '>=', $startTime]);
array_push($where, ["create_time", '<=', $endTime]);
}
$domain = $this->domain;
$rpage = AccessStat::field('id, browser, page_title, from_page, ip, create_time')->where($where)->order(["create_time" => "desc"])->paginate(['page' => $currentPage, 'list_rows' => $pageSize])->each(function ($item, $key) use ($domain) {
$ip = $this->filterIp($item['ip']); //ip
$param = ['keyword' => $domain, 'ip' => $ip];
$fdata = $this->ipAnalyse($param);
//地域
if (!($fdata == null || $fdata == "")) {
$area = $fdata['prov'] . "-" . $fdata['city'] . "-" . $fdata['area'] . " " . $fdata['isp'];
} else {
$area = "--";
}
$item['area'] = $area;
return $item;
});
$total = $rpage->total();
$per_page = $rpage->listRows();
$current_page = $rpage->currentPage();
$last_page = $rpage->lastPage();
$dataList = $rpage->items();
$rdata = [];
$rdata['total'] = $total;
$rdata['per_page'] = $per_page;
$rdata['current_page'] = $current_page;
$rdata['last_page'] = $last_page;
$rdata['data'] = $dataList;
$this->success("查询成功", "", $rdata);
}
// ip解析
private function ipAnalyse($param)
{
$paramStr = func_param_pack($param, "&"); //参数串
$foxcmsDomain = config("adminconfig.foxcms_domain"); //foxcms官网地址
$foxcmsPathUrl = $foxcmsDomain . url("api/siteProfile/ipAnalyse") . "?{$paramStr}";
$resJson = get_url_content($foxcmsPathUrl);
$data = json_decode($resJson, true);
if ($data['code'] == 1) {
return $data['data'];
}
return $resJson;
}
}