使用相同的 angular 5 部署访问多个客户端



我计划将我的 angular 5 应用程序实例之一用于两个不同的客户端(假设客户端的代码名称是 X 和 Y(。

我想对它们使用相同的角度部署。我的后端是用 Java 编写的,它的编写方式是,从 BE 获取的所有数据(更新和检索(都基于客户端 ID。

假设当用户想要从客户端 X 访问服务时,用户可以键入 http://url.com/X/rest_of_the_url 并将应用程序与客户端 X 凭据一起使用。 当用户想要使用客户端 Y 服务时,可以使用 http://url.com/Y/rest_of_the_url

如何在角度 5 中执行此操作?

您可以使用解析器和客户端变量来实现该行为。

export let AppRoutes = [
{
path: '',
children: [
{
path: '',
component: Choose the brand component (if there is any)
},
{
path: ':client',
resolve: {
brand: ClientServiceInfo
},
children: [ ... ]

解析器

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { ActivatedRouteSnapshot, Resolve } from '@angular/router';
import { ClientService } from '.....';
import { LocalService } from '.....'
@Injectable()
export class BrandResolver implements Resolve<Brand> {
constructor(
private brandService: ClientService,
private LocalService: AppStatusService) {
}
resolve(route: ActivatedRouteSnapshot): Observable<Brand> {const clientName = route.params['client'];



return this.ClientService.whateverRetrieveInfo(clientName).subscribe((client: any) => {
// Add some basic information related to the client on the localService
// Voila entire success to the rest of the logic o
});
}

}

您必须弄清楚客户需要哪些信息:)

希望这个答案对你有好处!

最新更新