Estoy trabajando en angular. Quiero cerrar la sesión del usuario si está inactivo. Encontré la solución pero eso era solo para una página en particular. Tengo muchas páginas, así que no puedo poner el mismo código en cada código. ¿Hay alguna forma de detectar la inactividad globalmente en angular?
Probé este código y funciona, pero solo funciona para una página en particular.
constructor() { this.setTimeout(); this.userInactive.subscribe(() => console.log('user has been inactive for 3s')); } userActivity:any; userInactive: Subject<any> = new Subject(); setTimeout() { this.userActivity = setTimeout(() => this.userInactive.next(undefined), 3000); } @HostListener('window:mousemove') refreshUserState() { clearTimeout(this.userActivity); this.setTimeout(); }Hola, por este problema, creo que debe implementarlo a nivel de módulo o en toda la aplicación. por ejemplo, en AppComponent puede poner esta lógica y comprobar si el usuario ha iniciado sesión.
Y él está inactivo durante el tiempo deseado 1 minuto o 2 minutos. Puede llamar al servicio de cierre de sesión y redirigir al usuario nuevamente a la página de inicio de sesión.
También hay algunas bibliotecas npm disponibles para verificar inactivas a continuación, hay una biblioteca
biblioteca npm: angular-usuario-inactivo
demostración : demostración