md5($adminInfo->id . time()), 'admin_id' => $adminInfo->id, 'device_type' => 'web', //过期时间 'expired_at' => date('Y-m-d H:i:s', time() + $loginExpired) ]; if ($allowMultiLogin) { return AdminToken::create($data); } else { $token = AdminToken::where('admin_id', $adminInfo->id)->find(); if (empty($token)) { return AdminToken::create($data); } // $data['updated_at'] = date('Y-m-d H:i:s', time()); $token->db() ->where('admin_id',$token->admin_id) ->where('device_type',$token->device_type) ->where('token',$token->token) ->update($data); return AdminToken::find($data['token']); } } public static function queryToken(string $token, int $expired = 1800) { return AdminToken::where('token', $token) ->where('expired_at', '>', date('Y-m-d H:i:s', time()))->find(); } public static function updateToken(string $token, int $expired = 1800) { return AdminToken::update( ['expired_at' => date('Y-m-d H:i:s', time() + $expired)], ['token' => $token] ); } }