如何在angular应用程序中保存用户活动?

kd3sttzy  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(362)

关闭。这个问题需要更加关注。它目前不接受答案。
**想改进这个问题吗?**编辑这篇文章,更新这个问题,使它只关注一个问题。

11小时前关门了。
改进这个问题
我想获取并保存用户与angular应用程序的交互,以及应用程序与API的交互,并将此日志添加到文件中。

g2ieeal7

g2ieeal71#

如果我正确理解了您的问题,您可以在一个地方编写用于用户页面导航和api调用的通用逻辑。
对于页面导航,订阅路由器事件。前任。

constructor(router:Router) {
  router.events.subscribe(event => {
    if(event instanceof NavigationStart) {
    }
    if(event instanceof NavigationEnd) {
      // log record to file here --> 'user navigated to XYZ page.'
    }
    // NavigationCancel
    // NavigationError
    // RoutesRecognized
  }
});

对于api调用,您可以实现http侦听器。

@NgModule({
  ...
  providers: [{
    provide: HTTP_INTERCEPTORS, 
    useClass: TokenInterceptorService, 
    multi: true
  }]
})
export class AppModule { }

@Injectable()
export class MyInterceptor implements HttpInterceptor {
  intercept( req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    // log record to file --> 'calling api {url}'
    return next.handle(req);
  }
}

相关问题