export function checkIsInGuruVue3() {
  return process.env.VUE_APP_FREE_MP == '0';
}


export function hookRouterInGuru(getNamespace: Function) {
  console.log('[system] VUE_APP_FREE_MP', process.env.VUE_APP_FREE_MP);

  if (!checkIsInGuruVue3()) return;

  const originNavigateTo = uni.navigateTo;
  const originNavigateBack = uni.navigateBack;
  const originReplaceTo = uni.redirectTo;


  uni.navigateTo = (...args: Array<any>) => {
    innerHook(args, originNavigateTo);
  };

  uni.navigateBack = (...args: Array<any>) => {
    innerHook(args, originNavigateBack);
  };

  uni.redirectTo = (...args: Array<any>) => {
    innerHook(args, originReplaceTo);
  };

  function innerHook(args: Array<any>, originFunc: Function) {
    const path = args?.[0]?.url || '';
    const namespace = getNamespace(path);
    if (namespace) {
      const url = `/${namespace}${path}`;
      console.log('url', url);
      originFunc({
        url,
      });
      return true;
    }
    originFunc(...args);
  }
}
