import { BridgePlugin } from '../bridge';

interface ISetWebviewBackParam {
  delta: string;
}

export class SetWebviewBack<K> extends BridgePlugin<ISetWebviewBackParam, K>{
  protected get ntvPluginName() {
    return '_ntv_navbar_set_webview_back';
  }

  protected get availableMinVersion() {
    return '1.0.0';
  }

  protected bridgeExecChrome(pluginName?: string | undefined): void {
    console.log(new Error('SetWebviewBack() 未针对当前环境实现'));
    window.history.back();
  }
}

/**
 * 回退webview, 如果 delta 大于现有页面数，则返回到首页。
 * @param delta String 支持返回的前面webview的级数 默认上一级delta=1
 */
export const setWebviewBack = (delta: number = 1) => {
  new SetWebviewBack({
    delta: String(delta)
  }).invoke();
}