6
0
Fork 0
jiqu-library-server/app/Endpoint/Api/Http/Controllers/Auth/LoginController.php

39 lines
983 B
PHP

<?php
namespace App\Endpoint\Api\Http\Controllers\Auth;
use App\Constants\Device;
use App\Endpoint\Api\Http\Controllers\Controller;
use App\Endpoint\Api\Http\Requests\LoginRequest;
use App\Exceptions\BizException;
use App\Models\User;
class LoginController extends Controller
{
/**
* 登录
*
* @param \App\Endpoint\Api\Http\Requests\LoginRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(LoginRequest $request)
{
$user = User::where('phone', $request->input('phone'))->first();
if (! $user?->verifyPassword($request->input('password'))) {
throw new BizException(__('Incorrect account or password'));
}
$user->update([
'last_login_at' => now(),
'last_login_ip' => $request->realIp(),
]);
$user->tokens()->delete();
return response()->json(
$user->createDeviceToken(Device::UNIAPP)
);
}
}