这是我的EventServiceProvider
protected $listen = [
'event.name' => [
'EventListener',
],
'auth.login' => [
\App\Listeners\UserEventLoginHandler::class,
],
];
这是我的UserEventLoginHandler
class UserEventLoginHandler {
public function handle($event) {
$user = \Auth::user();
$user->last_login_at = Carbon::now();
$user->save();
$user_login_log = new UserLoginLog;
$user_login_log->user_id = $user->user_id;
$user_login_log->ip_address = $_SERVER['REMOTE_ADDR'];
$user_login_log->logged_in_at = Carbon::now();
$user_login_log->save();
}
}
我面临的问题是每次API调用,即使用户已登录,此事件也会运行。 它不应该只在用户第一次登录时运行吗?
我是否必须在其他地方进行一些更改?或者我的代码中有错误吗?
routes.php文件
Route::group(['prefix' => 'api/v1/finance', 'middleware' => ['auth', 'sessionExpired']], function () {
Route::get('/details', ['uses' => '\App\Http\Controllers\Finance\FinanceController@index']);
});