123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- /**
- * @Name
- * @Description
- * @Author 刘学玺
- * @Date 2024/3/25 17:11
- */
- namespace App\Http\Services\Frontend\Client\Common;
- use App\Enums\Common\Status;
- use App\Exceptions\ApiException;
- use App\Http\Requests\Request;
- use App\Http\Services\Service;
- use App\Models\Member\User;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Response;
- use Illuminate\Support\Facades\Auth;
- class AuthService extends Service
- {
- /**
- * @throws ApiException
- */
- public static function store($user, $guardName = 'web')
- {
- if (!$user) return self::error('用户不存在!', 404);
- // 清理token历史
- $user->tokens()->where('name', $guardName)->delete();
- $user->status === Status::DISABLE && self::error('账号已停用!', 403);
- $token = $user->createToken($guardName, ['mobile' => $user->mobile]);
- $result = $token->plainTextToken;
- !$result && self::error('登录失败!', 401);
- // $user->last_activity_at = time();
- // $user->ip_address = request()->getClientIp();
- // $user->save();
- return $result;
- }
- public static function destroy(Request $request): void
- {
- Auth::guard('web')->logout();
- $request->session()->invalidate();
- $request->session()->regenerateToken();
- }
- }
|