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

Access multiple clients using same angular 5 deployment

我打算为两个不同的客户使用我的 angular 5 个应用程序实例之一(假设客户的代号是 X 和 Y)。

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

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

访问

我如何在 angular 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

    });
}

}

你得弄清楚你需要给客户什么信息:)

希望这个回答对您有帮助!