RouterJumpInterceptor.ets 696 Bytes
import { WDRouterPage } from './WDRouterPage';

export interface JumpInterceptorAction {
  on(params?: object, singleMode?: boolean): boolean
}

// TODO:待优化
// 临时解决跳转页面之前方法拦截,比如登录先走一键登录,直播请求接口等
//
export class RouterJumpInterceptor {

  private static actions: Record<string, JumpInterceptorAction> = {}

  static getInterceptorAction(jumpPage: WDRouterPage): JumpInterceptorAction | undefined {
    return RouterJumpInterceptor.actions[jumpPage.url()]
  }

  static register(jumpPage: WDRouterPage, interceptorAction: JumpInterceptorAction) {
    RouterJumpInterceptor.actions[jumpPage.url()] = interceptorAction
  }


}