如何禁用 Spartacus 默认调用
How to disable Spartacus default calls
是否可以禁用某些默认的 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) 并在模块中的提供者数组中替换它们。在您的自定义实现中,您可以将这些方法留空。
是否可以禁用某些默认的 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) 并在模块中的提供者数组中替换它们。在您的自定义实现中,您可以将这些方法留空。