This commit is contained in:
mzl
2025-07-09 17:58:30 +08:00
parent 4ddf4921b2
commit 396e92ac1b
22 changed files with 1120 additions and 1068 deletions
+42
View File
@@ -0,0 +1,42 @@
<?php
namespace app\middleware;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;
use app\common\service\BasicDataService;
use ReflectionClass;
class BasicData implements MiddlewareInterface
{
public function process(Request $request, callable $handler): Response
{
$controller = new ReflectionClass($request->controller);
$noNeedHeader = $controller->getDefaultProperties()['noNeedHeader'] ?? [];
if (in_array($request->action, $noNeedHeader) || in_array($request->path(), config('whitelist.basi_cdata'))) {
// 白名单
return $handler($request);
} else {
try {
$corpAbbr = $request->header('Fdesk-Corp-Abbr');
$systemCode = $request->header('Fdesk-System-Code');
$loginType = $request->header('Fdesk-Login-Type');
$basicDataService = new BasicDataService();
if ($basicDataService->checkAndCacheBaseParams($loginType, $systemCode, $corpAbbr)) {
$request->login_type = $loginType;
$request->system_code = $systemCode;
$request->corp_abbr = $corpAbbr;
$request->basic_data = [
'login_type' => $loginType,
'system_code' => $systemCode,
'corp_abbr' => $corpAbbr
];
}
return $handler($request);
} catch (\Throwable $th) {
throw $th;
}
}
}
}