如何在 angular 应用程序中保存用户 Activity?
How to Save user Activity in angular App?
我想获取并保存用户与 angular 应用程序的交互,
以及应用程序与 API 的交互将此日志添加到文件中。
如果我没看错你的问题,你可以把用户页面导航和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);
}
}
我想获取并保存用户与 angular 应用程序的交互, 以及应用程序与 API 的交互将此日志添加到文件中。
如果我没看错你的问题,你可以把用户页面导航和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);
}
}