39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace app\common\http\middleware;
|
|
|
|
use Closure;
|
|
|
|
/**
|
|
* 自定义跨域中间件
|
|
* Class AdminAllowMiddleware
|
|
* @package app\common\http\middleware
|
|
*/
|
|
class AdminAllowMiddleware
|
|
{
|
|
/**
|
|
* @notes 跨域处理
|
|
* @param $request
|
|
* @param \Closure $next
|
|
* @param array|null $header
|
|
* @return mixed|\think\Response
|
|
* @author 令狐冲
|
|
* @date 2021/7/26 11:51
|
|
*/
|
|
public function handle($request, Closure $next, ?array $header = [])
|
|
{
|
|
header('Access-Control-Allow-Origin: *');
|
|
header("Access-Control-Allow-Headers: Authorization, Sec-Fetch-Mode, DNT, X-Mx-ReqToken, Keep-Alive, User-Agent, If-Match, If-None-Match, If-Unmodified-Since, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Accept-Language, Origin, Accept-Encoding,Access-Token,token,version,identity");
|
|
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, post');
|
|
header('Access-Control-Max-Age: 1728000');
|
|
header('Access-Control-Allow-Credentials:true');
|
|
if (strtoupper($request->method()) == "OPTIONS") {
|
|
return response();
|
|
}
|
|
return $next($request);
|
|
}
|
|
}
|