diff --git a/app/controller/FeishuController.php b/app/controller/FeishuController.php index 47fc2d1..5ded1ef 100644 --- a/app/controller/FeishuController.php +++ b/app/controller/FeishuController.php @@ -53,7 +53,7 @@ class FeishuController $res = []; foreach ($certificate as $k => $v) { - $res []=$k; + $res []=['id'=>$k,'name'=>$k]; } return Util::success($res,trans('success')); } diff --git a/app/controller/UserController.php b/app/controller/UserController.php index 0941ef7..453fec4 100644 --- a/app/controller/UserController.php +++ b/app/controller/UserController.php @@ -2,6 +2,7 @@ namespace app\controller; +use app\model\Country; use app\model\FeishuUser; use app\model\User; use app\service\MailService; @@ -178,6 +179,7 @@ class UserController $user->toArray(); unset($user->password); $user['feishu_openid'] = FeishuUser::where('user_id', $userId)->value('open_id'); + $user['country_name'] = Country::where('id', $user['country_id'])->value('open_id'); return Util::success($user, trans('save_success')); } diff --git a/app/middleware/CrossDomain.php b/app/middleware/CrossDomain.php index bb96bb5..f13101e 100644 --- a/app/middleware/CrossDomain.php +++ b/app/middleware/CrossDomain.php @@ -7,20 +7,36 @@ use Webman\MiddlewareInterface; class CrossDomain implements MiddlewareInterface { - public function process(Request $request, callable $next): Response - { - // 动态允许请求来源(支持携带Cookie) - $origin = $request->header('origin', '*'); - $response = $next($request); +// public function process(Request $request, callable $next): Response +// { +// // 动态允许请求来源(支持携带Cookie) +// $origin = $request->header('origin', '*'); +// $response = $next($request); +// +// // 设置跨域响应头 +// $response->withHeaders([ +// 'Access-Control-Allow-Origin' => $origin, +// 'Access-Control-Allow-Methods' => 'GET, POST, PUT, DELETE, OPTIONS', +// 'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With', +// 'Access-Control-Allow-Credentials' => 'true', // 允许携带Cookie +// 'Access-Control-Max-Age' => 86400, // 预检请求缓存时间(秒) +// 'Vary' => 'Origin' // 避免缓存干扰 +// ]); +// +// return $response; +// } - // 设置跨域响应头 + public function process(Request $request, callable $handler) : Response + { + // 如果是options请求则返回一个空响应,否则继续向洋葱芯穿越,并得到一个响应 + $response = $request->method() == 'OPTIONS' ? response('') : $handler($request); + + // 给响应添加跨域相关的http头 $response->withHeaders([ - 'Access-Control-Allow-Origin' => $origin, - 'Access-Control-Allow-Methods' => 'GET, POST, PUT, DELETE, OPTIONS', - 'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With', - 'Access-Control-Allow-Credentials' => 'true', // 允许携带Cookie - 'Access-Control-Max-Age' => 86400, // 预检请求缓存时间(秒) - 'Vary' => 'Origin' // 避免缓存干扰 + 'Access-Control-Allow-Credentials' => 'true', + 'Access-Control-Allow-Origin' => $request->header('origin', '*'), + 'Access-Control-Allow-Methods' => $request->header('access-control-request-method', '*'), + 'Access-Control-Allow-Headers' => $request->header('access-control-request-headers', '*'), ]); return $response;