Files
lgp-admin-plus-api/app/Http/Middleware/WxAuthMiddleware.php
LQ bcf54c2727 初始化
缺陷:主题配色需要优化整体的同风格
2026-08-14 23:21:21 +08:00

42 lines
1.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Http\Middleware;
use App\Enum\ErrorEnum;
use App\Service\wx\WxTokenService;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
/**
* 小程序登录态
*
* 老项目的 AuthMiddleware 是先 $next($request) 跑完控制器、再检查 token
* 而且只判空不验签——等于没有鉴权。这里在进控制器之前就拦。
*/
class WxAuthMiddleware
{
public function handle(Request $request, Closure $next): Response
{
$user = WxTokenService::getInstance()->resolveUser($request->bearerToken());
if (empty($user)) {
return response()->json([
'code' => ErrorEnum::NOT_AUTH->value,
'message' => '请先登录',
'result' => [],
'type' => 'error',
]);
}
if ((int) ($user['status'] ?? 0) === 1) {
return response()->json([
'code' => ErrorEnum::NOT_AUTH->value,
'message' => '账号已被停用,请联系客服',
'result' => [],
'type' => 'error',
]);
}
$request->attributes->set('wx_user', $user);
return $next($request);
}
}