【发布时间】:2020-11-18 15:46:22
【问题描述】:
是否可以禁用一些默认的 Spartacus 调用?
用户登录后,默认情况下会进行一些调用,但我不需要并且希望尽可能禁用。
这些是调用:
"...users/current",
"...users/current/consenttemplates...",
"...users/current/carts..."
第二个和第三个是在登录过程之后进行的,而第一个是在页面刷新之后或导航到不同页面时进行的。
【问题讨论】:
是否可以禁用一些默认的 Spartacus 调用?
用户登录后,默认情况下会进行一些调用,但我不需要并且希望尽可能禁用。
这些是调用:
"...users/current",
"...users/current/consenttemplates...",
"...users/current/carts..."
第二个和第三个是在登录过程之后进行的,而第一个是在页面刷新之后或导航到不同页面时进行的。
【问题讨论】:
我通过创建自定义拦截器并使用来自rxjs 的NEVER 找到了一种方法:
intercept(
request: HttpRequest<any>,
next: HttpHandler
): Observable<HttpEvent<any>> {
/**
* Deny list for calls we do not want to use from the Spartacus storefront
*/
if (request.url.includes('consenttemplates') || request.url.includes('carts') || request.url.includes('users/current')) {
return NEVER;
} else {
return next.handle(request);
}
}
【讨论】:
您还可以实现相关的 OccAdapter(s) 并在模块中的 providers 数组中替换它们。在您的自定义实现中,您可以将方法留空。
【讨论】: