From e72b3727af08822318eecea75494464ecf34b35a Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Mon, 17 Jan 2022 13:27:36 +0800 Subject: [PATCH] edit --- src/app/app.module.ts | 4 +- src/app/core/guards/auth.guard.ts | 46 +++++++++---------- src/app/core/startup/startup.service.ts | 2 +- src/app/global-config.module.ts | 3 +- .../components/list/list.component.html | 45 +++++++----------- .../routes/vehicle/vehicle-routing.module.ts | 33 +++++++++---- src/assets/mocks/menu-data.json | 6 ++- 7 files changed, 74 insertions(+), 65 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2c30b188..726c4ce3 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -41,7 +41,8 @@ const APPINIT_PROVIDES = [ deps: [StartupService], multi: true }, - { provide: DEFAULT_CURRENCY_CODE, useValue: '¥' } + { provide: DEFAULT_CURRENCY_CODE, useValue: '¥' }, + AuthGuard ]; // #endregion @@ -54,6 +55,7 @@ import { SharedModule } from './shared/shared.module'; import { STWidgetModule } from './shared/widget/st-widget.module'; import { Observable } from 'rxjs'; import { registerLocaleData } from '@angular/common'; +import { AuthGuard } from './core/guards/auth.guard'; @NgModule({ declarations: [AppComponent], diff --git a/src/app/core/guards/auth.guard.ts b/src/app/core/guards/auth.guard.ts index 23ae320d..36560587 100644 --- a/src/app/core/guards/auth.guard.ts +++ b/src/app/core/guards/auth.guard.ts @@ -13,41 +13,39 @@ import { import { sysConf } from '@conf/sys.conf'; import { CoreService } from '@core'; import { ACLGuard, ACLService } from '@delon/acl'; -import { EAUserService } from '@shared'; +import { MenuService } from '@delon/theme'; +import { BaseService, EAUserService } from '@shared'; import { Observable, of } from 'rxjs'; +import { map } from 'rxjs/operators'; -const auths = ['YUNLI-CART-SEARCH', 'YUNLI-CART-DAOCHU', 'YUNLI-CART-DETAIL']; +const auths = ['YUNLI-CART-SEARCH', 'YUNLI-CART-DAOC1HU', 'YUNLI-CART-DETAIL','YUNLI-CART-AUDIT-SEARCH']; @Injectable() export class AuthGuard implements CanActivate, CanActivateChild, CanLoad { - constructor(srv: ACLService, router: Router, private eaUserSrv: CoreService, private router2: Router, private inject: Injector) {} + constructor(private srv: ACLService, router: Router, private baseService: BaseService, private menuService: MenuService) {} canLoad(route: Route, segments: UrlSegment[]): boolean | UrlTree | Observable | Promise { - throw true; + return true; } canActivate(route: ActivatedRouteSnapshot, _state: RouterStateSnapshot | null): Observable { - const canOpen = this.eaUserSrv.loginStatus; - if (!canOpen) { - this.router2.navigate([sysConf.login_url], { - queryParams: { - returnUrl: _state?.url - } - }); - return of(!canOpen); - } - return of(true); + return this.handle(); } canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { - const canOpen = this.eaUserSrv.loginStatus; - if (!canOpen) { - this.router2.navigate([sysConf.login_url], { - queryParams: { - returnUrl: state?.url - } - }); - return of(!canOpen); - } - return of(true); + return this.handle(); + } + + private handle(): Observable { + // 1 + return this.baseService.request('/api/mdc/cuc/user/getUserDetail').pipe( + map(_ => { + console.log(this.srv.data); + this.srv.setAbility(auths); + this.menuService.resume(); + console.log(this.srv.data); + + return true; + }) + ); } } diff --git a/src/app/core/startup/startup.service.ts b/src/app/core/startup/startup.service.ts index 95350c7b..4e68b7e9 100644 --- a/src/app/core/startup/startup.service.ts +++ b/src/app/core/startup/startup.service.ts @@ -92,7 +92,7 @@ export class StartupService { enterpriseId: userData?.enterpriseId || sysConf.enterpriseId }); // ACL:设置权限为全量 - this.aclService.setFull(true); + this.aclService.setFull(false); // 初始化菜单 this.menuService.add(menuData); // 设置页面标题的后缀 diff --git a/src/app/global-config.module.ts b/src/app/global-config.module.ts index 1e998b36..dabcdbb4 100644 --- a/src/app/global-config.module.ts +++ b/src/app/global-config.module.ts @@ -13,7 +13,8 @@ import { environment } from '@env/environment'; const alainConfig: AlainConfig = { st: { modal: { size: 'lg' } }, pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true }, - auth: { login_url: '/dashboard' } + auth: { login_url: '/passport/login' }, + acl: { guard_url: '/' } }; const alainModules = [AlainThemeModule.forRoot(), DelonACLModule.forRoot()]; diff --git a/src/app/routes/vehicle/components/list/list.component.html b/src/app/routes/vehicle/components/list/list.component.html index eec3ddbb..4f7d82ea 100644 --- a/src/app/routes/vehicle/components/list/list.component.html +++ b/src/app/routes/vehicle/components/list/list.component.html @@ -7,23 +7,16 @@ * @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\list.component.html --> - +
- - + +
@@ -33,9 +26,10 @@
- - - + + +