После операции входа измените маршруты angular 8 - PullRequest
1 голос
/ 18 марта 2020

У меня есть приложение angular. После входа в систему я хочу изменить свои операции маршрутизации в соответствии с ролью пользователя. Я хочу использовать эту роль при маршрутизации, подобный этому,

результат входа в систему, как показано ниже,

{
"TOKEN":"tokenhere",
"USERINFO":"userinfor here",
"USERROLE":"1 like admin"
}

И я создаю класс PageService в этом,

export class PageService {
    static getNormalUserRoute() {
        return [
            { path: "", component: MainComponent, data: { state: {} }, canActivate: [NeedAuthGuard] },
            { path: "login", component: LoginComponent, data: { state: {} } },
            //..OthersHere
            { path: "**", component: NotfoundComponent, data: { state: {} }, canActivate: [NeedAuthGuard] },
        ];
    }
    static getAdminUserRoute() {
        return [
            { path: "", component: MainComponent, data: { state: {} }, canActivate: [NeedAuthGuard] },
            { path: "login", component: LoginComponent, data: { state: {} } },
            { path: "management", component: ManagementComponent, data: { state: {} }, canActivate: [NeedAuthGuard] },
            //..Others
            { path: "**", component: NotfoundComponent, data: { state: {} }, canActivate: [NeedAuthGuard] },
        ];
    }
}

После этого я вызываю эту функцию следующим образом: app-routing.module.ts

const routes: Routes = PageService.getNormalUserRoute();

Я хочу изменить здесь после того, как пользователь вошел в приложение.

Возможно или альтернативное решение?

...