upd: move the prompting of the id verification from page into router
This commit is contained in:
parent
2eaff3388f
commit
74e720c294
6 changed files with 54 additions and 13 deletions
|
|
@ -13,6 +13,7 @@ interface RouteDefBase {
|
|||
path: string;
|
||||
query?: Record<string, string>;
|
||||
loginRequired?: boolean;
|
||||
idRequired?: boolean;
|
||||
name?: string;
|
||||
hash?: string;
|
||||
globalCacheKey?: string;
|
||||
|
|
@ -186,13 +187,14 @@ export class Router extends EventEmitter<RouterEvent> implements IRouter {
|
|||
public currentRoute: ShallowRef<RouteDef>;
|
||||
private currentPath: string;
|
||||
private isLoggedIn: boolean;
|
||||
private isNotIdConfirmed: boolean;
|
||||
private notFoundPageComponent: Component;
|
||||
private currentKey = Date.now().toString();
|
||||
private redirectCount = 0;
|
||||
|
||||
public navHook: ((path: string, flag?: any) => boolean) | null = null;
|
||||
|
||||
constructor(routes: Router['routes'], currentPath: Router['currentPath'], isLoggedIn: boolean, notFoundPageComponent: Component) {
|
||||
constructor(routes: Router['routes'], currentPath: Router['currentPath'], isLoggedIn: boolean, isNotIdConfirmed: boolean, notFoundPageComponent: Component) {
|
||||
super();
|
||||
|
||||
this.routes = routes;
|
||||
|
|
@ -201,6 +203,7 @@ export class Router extends EventEmitter<RouterEvent> implements IRouter {
|
|||
this.currentRoute = shallowRef(this.current.route);
|
||||
this.currentPath = currentPath;
|
||||
this.isLoggedIn = isLoggedIn;
|
||||
this.isNotIdConfirmed = isNotIdConfirmed;
|
||||
this.notFoundPageComponent = notFoundPageComponent;
|
||||
}
|
||||
|
||||
|
|
@ -366,6 +369,11 @@ export class Router extends EventEmitter<RouterEvent> implements IRouter {
|
|||
res.props.set('showLoginPopup', true);
|
||||
}
|
||||
|
||||
if (res.route.idRequired && this.isNotIdConfirmed) {
|
||||
res.route.component = this.notFoundPageComponent;
|
||||
res.props.set('showIdConfirm', true);
|
||||
}
|
||||
|
||||
const isSamePath = beforePath === path;
|
||||
if (isSamePath && key == null) key = this.currentKey;
|
||||
this.current = res;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue