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

时间:2018-07-09 10:58:40

标签: angular angular5 angular-routing

我打算将我的5个应用程序实例之一用于两个不同的客户端(比方说,客户端的代号为X和Y)。

我想对两者使用相同的角度展开。我的后端是用Java编写的,其编写方式是根据客户端ID从BE提取所有数据(更新和检索)。

比方说,当用户希望从客户端X访问服务时,用户可以键入http://url.com/X/rest_of_the_url并使用具有客户端X凭据的应用程序。 当用户想要使用客户端Y服务时,他们可以使用http://url.com/Y/rest_of_the_url

进行访问

我该如何在角度5中做到这一点?

1 个答案:

答案 0 :(得分:2)

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

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

    });
}

}

您必须确定要为客户提供哪些信息:)

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