This commit is contained in:
2022-09-09 18:00:48 +08:00
parent 30acf33daf
commit 09b89750f5

View File

@@ -1,4 +1,5 @@
<?php <?php
namespace app\controller; namespace app\controller;
//use app\model\AppToken; //use app\model\AppToken;
@@ -9,22 +10,22 @@ class Main
{ {
// $j = ["userid"=>1]; // $j = ["userid"=>1];
// echo authcode(json_encode($j),'f'); // echo authcode(json_encode($j),'f');
$GLOBALS['data'] = []; // 全局变量 $GLOBALS['data'] = []; // 全局变量
$api_version = ''; //当前版本号 $api_version = ''; //当前版本号
$timeout = env('APP_DEBUG')?1000000:20; //处理超时时间 $timeout = env('APP_DEBUG') ? 1000000 : 20; //处理超时时间
$userid = 0; //默认用户ID是0 $userid = 0; //默认用户ID是0
$appKey = env('app.DEFAULT_KEY'); $appKey = env('app.DEFAULT_KEY');
$GLOBALS['appKey'] = env('app.DEFAULT_KEY');//定义全局变量,报错时使用 $GLOBALS['appKey'] = env('app.DEFAULT_KEY');//定义全局变量,报错时使用
$startTime = microtime(true); //开始时间时间 $startTime = microtime(true); //开始时间时间
$LogArray = []; //记录日志数组 $LogArray = []; //记录日志数组
$message = [ $message = [
'token_error' => 'Token验证失败', 'token_error' => 'Token验证失败',
'token_Illegal' => 'Token非法', 'token_Illegal' => 'Token非法',
'data_Illegal' => '非法数据', 'data_Illegal' => '非法数据',
'logout_success' => '退出成功', 'logout_success' => '退出成功',
'sign_error' => '数据签名错误', 'sign_error' => '数据签名错误',
'data_timeout' => '请求数据超时', 'data_timeout' => '请求数据超时',
'cmd_error' => '没有CMD信息', 'cmd_error' => '没有CMD信息',
]; ];
// $independent = ["user.logout"]; // $independent = ["user.logout"];
try { try {
@@ -35,43 +36,43 @@ class Main
$clientToken = request()->post('tk'); $clientToken = request()->post('tk');
//如果TOKEN不存在则设置为空 //如果TOKEN不存在则设置为空
$clientToken = !empty($clientToken)?$clientToken:''; $clientToken = ! empty($clientToken) ? $clientToken : '';
//记录日志开始记录token和开始时间 //记录日志开始记录token和开始时间
$LogArray['token'] = $clientToken; $LogArray['token'] = $clientToken;
$LogArray['start_time'] = $startTime; $LogArray['start_time'] = $startTime;
//如果存在TOKEN则需要解析token //如果存在TOKEN则需要解析token
$appToken = ""; $appToken = "";
if ($clientToken) { if ($clientToken) {
$tk = json_decode(authcode($clientToken),true); try {
$userid = $tk['userid']; $tk = json_decode(authcode($clientToken), true);
$userid = $tk['userid'];
} catch (\Exception $e) {
return show($message['token_Illegal'], TOKEN_ERROR);
}
} }
//解密数据 //解密数据
$data = request()->post(); $data = request()->post();
//定义常量 //定义常量
define('PLATFORM', $data['RequestBody']['Platform'] ?? ''); //手机系统平台 IOS、ANDROID define('PLATFORM', $data['RequestBody']['Platform'] ?? ''); //手机系统平台 IOS、ANDROID
define('DEVICE', $data['RequestBody']['Device'] ?? ''); //手机型号 define('DEVICE', $data['RequestBody']['Device'] ?? ''); //手机型号
define('IM_NUMBER', $data['RequestBody']['IM'] ?? ''); //设备码 define('IM_NUMBER', $data['RequestBody']['IM'] ?? ''); //设备码
define('APP_VERSION', $data['RequestBody']['APPVersion'] ?? ''); //版本号 define('APP_VERSION', $data['RequestBody']['APPVersion'] ?? ''); //版本号
$LogArray['userid'] = $userid;
$LogArray['platform'] = PLATFORM;
$LogArray['userid'] = $userid; $LogArray['device'] = DEVICE;
$LogArray['platform'] = PLATFORM; $LogArray['im_number'] = IM_NUMBER;
$LogArray['device'] = DEVICE;
$LogArray['im_number'] = IM_NUMBER;
$LogArray['app_version'] = APP_VERSION; $LogArray['app_version'] = APP_VERSION;
$LogArray['api_version'] = $api_version; $LogArray['api_version'] = $api_version;
$LogArray['cmd'] = !empty($data['RequestBody']['CMD'])?$data['RequestBody']['CMD']:''; $LogArray['cmd'] = ! empty($data['RequestBody']['CMD']) ? $data['RequestBody']['CMD'] : '';
$LogArray['data'] = json_encode($data); $LogArray['data'] = json_encode($data);
if (empty($data['cmd'])) {
if(empty($data['cmd'])) { return show($message['cmd_error'], MISSING_PARAMETER);
return show($message['cmd_error'],MISSING_PARAMETER);
} }
/********** /**********
@@ -80,30 +81,30 @@ class Main
* 其它设置信息保留 * 其它设置信息保留
*/ */
if (strtolower($data['cmd']) == "sign.logout") { if (strtolower($data['cmd']) == "sign.logout") {
if(!empty($appToken['id'])) { if (! empty($appToken['id'])) {
$this->logout($appToken['id']); $this->logout($appToken['id']);
$LogArray['return_data'] = $message['logout_success']; $LogArray['return_data'] = $message['logout_success'];
$this->log($LogArray); $this->log($LogArray);
} }
return show("退出成功!",SUCCESS_CODE); return show("退出成功!", SUCCESS_CODE);
} }
if (($data['cmd'])) { if (($data['cmd'])) {
$action = explode('.', $data['cmd']); $action = explode('.', $data['cmd']);
if (is_array($action)) { if (is_array($action)) {
$ClassName = '\\app\\controller\\' . ucfirst($action[0]); $ClassName = '\\app\\controller\\'.ucfirst($action[0]);
$FunctionName = $action[1]; $FunctionName = $action[1];
$class = new $ClassName(); $class = new $ClassName();
$GLOBALS['data'] = [ $GLOBALS['data'] = [
'data' => $data, 'data' => $data,
'userid' => $userid 'userid' => $userid
]; ];
if(!empty($_FILES['file'])){ if (! empty($_FILES['file'])) {
$GLOBALS['data']['file'] = $_FILES['file']; $GLOBALS['data']['file'] = $_FILES['file'];
} }
$backdata = $class->$FunctionName(); $backdata = $class->$FunctionName();
$LogArray['return_data'] = !empty($GLOBALS['data']['returnData'])?$GLOBALS['data']['returnData']:''; $LogArray['return_data'] = ! empty($GLOBALS['data']['returnData']) ? $GLOBALS['data']['returnData'] : '';
$this->log($LogArray); $this->log($LogArray);
unset($data); unset($data);
return $backdata; return $backdata;
@@ -111,8 +112,12 @@ class Main
} }
} catch (\Exception $e) { } catch (\Exception $e) {
if(env("APP_DEBUG")){$msg = $e->getMessage();}else{$msg = "服务器故障!";} if (env("APP_DEBUG")) {
return show($msg,SYSTEM_ERROR_CODE); $msg = $e->getMessage();
} else {
$msg = "服务器故障!";
}
return show($msg, SYSTEM_ERROR_CODE);
} }
} }
@@ -124,22 +129,22 @@ class Main
private function log($data) private function log($data)
{ {
$addData = [ $addData = [
'ip' => !empty($data['ip'])?$data['ip']:'', 'ip' => ! empty($data['ip']) ? $data['ip'] : '',
'token' => !empty($data['token'])?$data['token']:'', 'token' => ! empty($data['token']) ? $data['token'] : '',
'start_time' => !empty($data['start_time'])?$data['start_time']:'', 'start_time' => ! empty($data['start_time']) ? $data['start_time'] : '',
'userid' => !empty($data['userid'])?$data['userid']:'', 'userid' => ! empty($data['userid']) ? $data['userid'] : '',
'platform' => !empty($data['platform'])?$data['platform']:'', 'platform' => ! empty($data['platform']) ? $data['platform'] : '',
'device' => !empty($data['device'])?$data['device']:'', 'device' => ! empty($data['device']) ? $data['device'] : '',
'im_number' => !empty($data['im_number'])?$data['im_number']:'', 'im_number' => ! empty($data['im_number']) ? $data['im_number'] : '',
'app_version' => !empty($data['app_version'])?$data['app_version']:'', 'app_version' => ! empty($data['app_version']) ? $data['app_version'] : '',
'api_version' => !empty($data['api_version'])?$data['api_version']:'', 'api_version' => ! empty($data['api_version']) ? $data['api_version'] : '',
'cmd' => !empty($data['cmd'])?$data['cmd']:'', 'cmd' => ! empty($data['cmd']) ? $data['cmd'] : '',
'data' => !empty($data['data'])?$data['data']:'', 'data' => ! empty($data['data']) ? $data['data'] : '',
'return_data' => !empty($data['return_data'])?$data['return_data']:'', 'return_data' => ! empty($data['return_data']) ? $data['return_data'] : '',
'end_time' => microtime(true), 'end_time' => microtime(true),
'usetime' => microtime(true) - $data['start_time'] 'usetime' => microtime(true) - $data['start_time']
]; ];
$applog = (new \app\model\AppLog)->insertGetId($addData); $applog = (new \app\model\AppLog)->insertGetId($addData);
return $applog; return $applog;
} }
} }