From 18c0920c2705a4c3baf04011cf96f23490aebc73 Mon Sep 17 00:00:00 2001 From: ReaJason Date: Mon, 26 May 2025 01:37:54 +0800 Subject: [PATCH] feat: show urlPattern option when needed --- .../SpringWebFluxWebFilterInjector.java | 4 ---- .../SpringWebMvcInterceptorInjector.java | 4 ---- web/src/components/results/basic-info.tsx | 14 +++++++------ web/src/components/tips/url-pattern-tip.tsx | 21 ------------------- web/src/components/tools/urlpattern-field.tsx | 16 +++++++------- web/src/lib/utils.ts | 14 +++++++++++++ 6 files changed, 30 insertions(+), 43 deletions(-) delete mode 100644 web/src/components/tips/url-pattern-tip.tsx diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebflux/injector/SpringWebFluxWebFilterInjector.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebflux/injector/SpringWebFluxWebFilterInjector.java index 9231707f..4feb3832 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebflux/injector/SpringWebFluxWebFilterInjector.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebflux/injector/SpringWebFluxWebFilterInjector.java @@ -25,10 +25,6 @@ public class SpringWebFluxWebFilterInjector { new SpringWebFluxWebFilterInjector(); } - public String getUrlPattern() { - return "{{urlPattern}}"; - } - public String getClassName() { return "{{className}}"; } diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java index 4d0c68b8..05ca2339 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java @@ -20,10 +20,6 @@ public class SpringWebMvcInterceptorInjector { new SpringWebMvcInterceptorInjector(); } - public String getUrlPattern() { - return "{{urlPattern}}"; - } - public String getClassName() { return "{{className}}"; } diff --git a/web/src/components/results/basic-info.tsx b/web/src/components/results/basic-info.tsx index 7748e00b..e6c5eb06 100644 --- a/web/src/components/results/basic-info.tsx +++ b/web/src/components/results/basic-info.tsx @@ -1,3 +1,4 @@ +import { shouldHidden } from "@/lib/utils"; import { AntSwordShellToolConfig, BehinderShellToolConfig, @@ -33,11 +34,13 @@ export function BasicInfo({ generateResult }: Readonly<{ generateResult?: Genera - + {!shouldHidden(generateResult?.shellConfig?.shellType) && ( + + )} {generateResult?.shellConfig.shellTool !== ShellToolType.Custom && }
@@ -72,7 +75,6 @@ export function BasicInfo({ generateResult }: Readonly<{ generateResult?: Genera text={(generateResult?.shellToolConfig as GodzillaShellToolConfig).key} value={(generateResult?.shellToolConfig as GodzillaShellToolConfig).key} /> - - - - - - -

{t("tips.servletUrlPattern")}

-

{t("tips.controllerUrlPattern")}

-

{t("tips.handlerUrlPattern")}

-
-
- - ); -} diff --git a/web/src/components/tools/urlpattern-field.tsx b/web/src/components/tools/urlpattern-field.tsx index 23a004a3..399ebe94 100644 --- a/web/src/components/tools/urlpattern-field.tsx +++ b/web/src/components/tools/urlpattern-field.tsx @@ -1,24 +1,24 @@ -import { UrlPatternTip } from "@/components/tips/url-pattern-tip.tsx"; -import { FormField, FormItem, FormLabel } from "@/components/ui/form.tsx"; +import { FormField, FormFieldItem, FormFieldLabel, FormMessage } from "@/components/ui/form.tsx"; import { Input } from "@/components/ui/input.tsx"; +import { shouldHidden } from "@/lib/utils"; import { FormSchema } from "@/types/schema.ts"; import { FormProvider, UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; export function UrlPatternFormField({ form }: Readonly<{ form: UseFormReturn }>) { const { t } = useTranslation(); + const shellType = form.watch("shellType"); return ( ( - - - {t("mainConfig.urlPattern")} - - - + + {t("mainConfig.urlPattern")} + + + )} /> diff --git a/web/src/lib/utils.ts b/web/src/lib/utils.ts index 4367a893..74c084d4 100644 --- a/web/src/lib/utils.ts +++ b/web/src/lib/utils.ts @@ -47,3 +47,17 @@ export function formatBytes(bytes: number) { const kbValue = Number.parseFloat((bytes / k ** 1).toFixed(1)); return `${kbValue} ${sizes[1]}`; } + +export function shouldHidden(shellType: string | undefined) { + if (shellType === undefined) { + return false; + } + return ( + shellType.endsWith("Listener") || + shellType.endsWith("Valve") || + shellType.startsWith("Agent") || + shellType.endsWith("Interceptor") || + shellType.endsWith("NettyHandler") || + shellType.endsWith("WebFilter") + ); +}