初始化
缺陷:主题配色需要优化整体的同风格
This commit is contained in:
41
app/Http/Middleware/WxAuthMiddleware.php
Normal file
41
app/Http/Middleware/WxAuthMiddleware.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user