У меня есть приложение 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();
Я хочу изменить здесь после того, как пользователь вошел в приложение.
Возможно или альтернативное решение?