*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }

:)

ThinkPHP V' . \think\facade\App::version() . '
14载初心不改 - 你值得信赖的PHP框架

[ V6.0 版本由 亿速云 独家赞助发布 ]
'; } public function hello($name = 'ThinkPHP6') { return 'hello,' . $name; } public function getAccessToken(){ $config = config('app'); // $url = $config['host_url']."/oauth/token?client_id=".$config['cid']."&client_secret=".$config['cskey']; // do post $ret = post($url); return $ret; } /** * 分时时间段接口 * @return array */ public function allGroupTimeNum() { $request = $this->request; $granularity = $request['granularity']; if (empty($granularity)) return json_encode(['code' => 403, 'date参数不能为空']); $dateData = getTargetDate(); $returnData = []; if ($granularity == 'daily') { $list = $this->getGroupData('hourly',$dateData['day']['c_start_time'],$dateData['day']['c_end_time']); $returnData = $this->handleGroupData($list); } elseif ($granularity == 'monthly') { $list = $this->getGroupData('daily',$dateData['month']['c_start_time'],$dateData['month']['c_end_time']); $returnData = $this->handleGroupData($list,'d'); } elseif ($granularity == 'yearly') { $list = $this->getGroupData('monthly',$dateData['year']['c_start_time'],date('c')); $returnData = $this->handleGroupData($list,'m'); } return json_encode(['code' => 0, 'data' => $returnData]); } /** * 查询时间范围内的多个统计组的客流统计数据 * @param $granularity // 可选 hourly | daily | monthly | yearly,分别为按小时、按天、按月和按年统计 * @param $s_time // 开始时间 * @param $e_time // 结束时间 * @return false|mixed|string */ protected function getGroupData($granularity,$s_time,$e_time) { $config = config('app'); $url = $config['host_url'] . "/api/cfas/v2/passengerFlow/groups"; $dataArr = [ 'granularity' => $granularity, 'startTime' => $s_time, 'endTime' => $e_time, 'ids' => '01' // --- --- // ]; $json_data = json_encode($dataArr); $result = postToken($url,$json_data,false,[],'rqhzG171BROnwBhhcZJJDudZ4vdvC3nm'); $res_data = json_decode($result,true); if ($res_data['code'] != 0) return json_encode(['code' => 403, 'msg' => $res_data['msg']]); return $res_data['data']['list']; } /** * 特殊处理 * @param $list * @param $date_str * @return array */ protected function handleGroupData($list,$date_str = 'H:00') { $returnData = []; if ($date_str == 'H:00') { for ($i = 9; $i < 23; $i++) { $str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00'; $returnData[$str] = 0; } } elseif ($date_str == 'd') { $d = date('d') * 1; $date = $d - 12 > 0 ? $d - 12 : 1; for ($i = $date; $i <= $d; $i++) { $str = strlen($i) == 1 ? '0'.$i : $i; $returnData[$str] = 0; } } elseif ($date_str == 'm') { $m = date('m') * 1; $date = $m - 12 > 0 ? $m - 12 : 1; for ($i = $date; $i <= $m; $i++) { $str = strlen($i) == 1 ? '0'.$i : $i; $returnData[$str] = 0; } } foreach ($list as $value) { $date = date($date_str,ceil($value['createTime'] / 1000) + (8*3600)); if (!isset($returnData[$date])) continue; $returnData[$date] = $value['flowInNum']; } ksort($returnData); return $returnData; } /** * 总览总数据接口 * @return array|void */ public function allGroupNum() { $config = config('app'); $dateData = getTargetDate(); $dateArr = [ 'day' => [ 'startTime' => $dateData['day']['c_start_time'],// 当天开始时间 'endTime' => $dateData['day']['c_end_time'],// 当天结束时间 'granularity' => 'daily' ], 'week' => [ 'startTime' => $dateData['week']['c_start_time'], 'endTime' => $dateData['week']['c_end_time'], 'granularity' => 'daily' ], 'month' =>[ 'startTime' => $dateData['month']['c_start_time'], 'endTime' => $dateData['month']['c_end_time'], 'granularity' => 'monthly' ], 'year' =>[ 'startTime' => $dateData['year']['c_start_time'], 'endTime' => $dateData['year']['c_end_time'], 'granularity' => 'yearly' ], ]; $returnData = []; $groupIds = []; foreach ($dateArr as $date => $dateRow) { $url = $config['host_url'] . "/api/cfas/v2/passengerFlow/groups"; $granularity = $dateRow['granularity']; $data = [ 'granularity' => $granularity, 'startTime' => $dateRow['startTime'], 'endTime' => $dateRow['endTime'], 'ids' => '01' // --- --- // ]; $json_data = json_encode($data); $result = postToken($url,$json_data,false,[],'rqhzG171BROnwBhhcZJJDudZ4vdvC3nm'); $res_data = json_decode($result,true); if ($res_data['code'] != 0) { return ['code' => 403, 'msg' => $res_data['msg']]; } $list = $res_data['data']['list']; $returnData[$date]['flowInNum'] = 0; foreach ($list as $value) { // $createTime = date("H",$value['createTime'] /1000 + (3600*8)); $returnData[$date]['flowInNum'] += $value['flowInNum']; $groupIds[] = $value['groupId']; } } foreach ($returnData as &$val) { $val['flowInNum'] = formatNumber($val['flowInNum']); } $returnArr = [ 'code' => 0, 'msg' => '成功', 'data' => [ 'dataAll' => $returnData, 'groupIds' => array_unique($groupIds) ] ]; return json_encode($returnArr); } /** * 查询最新客流统计组实时数据 * @return void */ public function realTimeData() { $config = config('app'); $url = $config['host_url'] . "/api/cfas/v3/passenger/realTime"; $dataArr = [ '01' // --- --- // ]; $json_data = json_encode($dataArr); $result = postToken($url,$json_data,false,[],'rqhzG171BROnwBhhcZJJDudZ4vdvC3nm'); $res_data = json_decode($result,true); if ($res_data['code'] != 0) return json_encode(['code' => 403, 'msg' => $res_data['msg']]); $returnData = []; foreach ($res_data['data'] as $value) { $returnData[$value['regionId']] = $value['allEnter']; } return json_encode(['code' => 0, 'msg' => '成功', 'data' => $returnData]); } }