This commit is contained in:
Hankin 2025-08-06 14:13:58 +08:00
parent c6fd35ecc1
commit 80859b1a4d
2 changed files with 107 additions and 1 deletions

View File

@ -3,11 +3,13 @@
namespace App\Http\Controllers;
use App\Facades\UploadService;
use App\Http\Response\ResponseJson;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class CommonController extends Controller
{
use ResponseJson;
private $stateMap = array( //上传状态映射表,国际化用户需考虑此处数据的国际化
"SUCCESS", //上传成功标记在UEditor中内不可改变否则flash判断会出错
"文件大小超出 upload_max_filesize 限制",
@ -32,8 +34,17 @@ class CommonController extends Controller
"INVALID_IP" => "非法 IP"
);
public function checkToken($token): bool
{
$token2 = date("Ym-d") . "$@.";
Log::info(base64_encode($token2), [$token]);
return base64_encode($token2) == $token;
}
public function upload(Request $request)
{
if (!$this->checkToken($request->input("token")))
return $this->failure("upload token失效");
$action = $request->action;
$config = config('UEditorUpload.upload');
switch ($action) {

View File

@ -0,0 +1,95 @@
<?php
namespace App\Http\Response;
use Illuminate\Support\Facades\Log;
use App\Jobs\SendMail;
trait ResponseJson
{
public function failure($msg = '服务器休息,请稍后再试', $data = [], $jsonp = false)
{
return $this->jsonResponse(1, $msg, $data);
}
public function success($msg, $data = [], $cookie = null, $jsonp = false)
{
if (request()->debug) {
return view('welcome');
}
return $this->jsonResponse(0, $msg, $data);
}
//接口返回失败
public function failv2($msg, $data = [], $jsonp = false)
{
return $this->jsonResponse(3, $msg, $data);
}
private function jsonResponse($code, $msg, $data = [])
{
$result = [
'code' => $code,
'message' => $msg,
'data' => $data,
];
return Response()->json($result);
}
/**
* 检查用户是否登录
* @return [type] [description]
*/
public function authCheck()
{
$guards = config('auth.guards');
$result = false;
foreach ($guards as $key => $guard) {
if (\Auth::guard($key)->check()) {
$result = \Auth::guard($key)->user();
continue;
}
}
return $result;
}
public function getError($exception, $send_mail = true)
{
$error = $exception->getMessage();
if (method_exists($exception, 'getStatusCode')) {
$status = $exception->getStatusCode();
} elseif ($exception instanceof AuthenticationException) {
$status = 403;
//403不报警
return;
} else {
$status = get_class($exception);
}
$route = Request()->getMethod() . ':' . Request()->getRequestUri();
if (\Route::getFacadeRoot()->current()) {
$action = $status . ':' . \Route::getCurrentRoute()->getActionName();
} else {
$action = $status . ':非法路由访问错误';
}
if (method_exists($exception, 'getPrevious')) {
$err = $exception->getPrevious();
if (!empty($err)) {
$error = $err->getMessage();
}
}
$files = explode('/', $exception->getFile());
$file = $files[count($files) - 1];
$host = request()->gethost();
$params = json_encode(request()->all(), JSON_UNESCAPED_UNICODE);
$client = Request()->header('client-os') ?: 'other';
$server_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
$message = '服务器异常,前端:' . $client . 'ip' . $server_ip . ',域名:' . $host . ',位置:' . $route . ',操作:' . $action . ',控制器:' . $file . ' Line:' . $exception->getLine() . ',参数:' . $params . '用户id:' . (auth()->id() ?: '无') . ',报错内容:' . $error . ',错误码:' . $exception->getCode();
Log::error($message);
//参数
//邮件通知
// Mail::to(['hankin_h@126.com', 'fkl1939@163.com'])->send(new ErrorMessage($message));
SendMail::dispatch($message, '', '', $exception->getTraceAsString())->onQueue('error_email');
return $message;
}
}