Skip to content

Commit b71e8ea

Browse files
committed
fix(ui): generate fail
1 parent d14203e commit b71e8ea

File tree

16 files changed

+113
-94
lines changed

16 files changed

+113
-94
lines changed

boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateRequest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ public ShellToolConfig parseShellToolConfig() {
5757
.headerName(shellToolConfig.getHeaderName())
5858
.headerValue(shellToolConfig.getHeaderValue())
5959
.build();
60+
case NeoreGeorg -> NeoreGeorgConfig.builder()
61+
.shellClassName(shellToolConfig.getShellClassName())
62+
.headerName(shellToolConfig.getHeaderName())
63+
.headerValue(shellToolConfig.getHeaderValue())
64+
.build();
6065
default -> throw new UnsupportedOperationException("unknown shell tool " + shellConfig.getShellTool());
6166
};
6267
}

web/src/components/copyable-field.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export function CopyableField({ label, value, text }: CopyableFieldProps) {
3636

3737
return (
3838
<div className="flex flex-col gap-1 py-1">
39-
<div className="flex items-center justify-between gap-2">
39+
<div className="flex items-center justify-between gap-2 h-8">
4040
<Label className="text-sm text-muted-foreground">{label}</Label>
4141
{value && (
4242
<CopyToClipboard text={value as string} onCopy={handleCopy}>

web/src/components/main-config-card.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ export function MainConfigCard({
282282
}}
283283
className="w-full"
284284
>
285-
<div className="relative bg-muted rounded-lg mb-4">
285+
<div className="relative bg-muted rounded-lg">
286286
<TabsList className="flex flex-wrap gap-1 w-full bg-transparent tabs-list">
287287
{shellTools.map((shellTool) => (
288288
<TabsTrigger

web/src/components/results/agent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { downloadBytes } from "@/lib/utils";
22
import { GenerateResult } from "@/types/shell";
3-
import { Separator } from "@radix-ui/react-dropdown-menu";
3+
import { Separator } from "../ui/separator";
44
import { ScrollTextIcon } from "lucide-react";
55
import { useTranslation } from "react-i18next";
66
import { Button } from "../ui/button";

web/src/components/results/basic-info.tsx

Lines changed: 87 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@ import {
44
CommandShellToolConfig,
55
GenerateResult,
66
GodzillaShellToolConfig,
7+
NeoreGeorgShellToolConfig,
8+
ShellToolType,
79
Suo5ShellToolConfig,
810
} from "@/types/shell";
9-
import { Separator } from "@radix-ui/react-dropdown-menu";
1011
import { FileTextIcon } from "lucide-react";
1112
import { useTranslation } from "react-i18next";
1213
import { Fragment } from "react/jsx-runtime";
1314
import { CopyableField } from "../copyable-field";
1415
import { Card, CardContent, CardHeader, CardTitle } from "../ui/card";
1516
import { FeedbackAlert } from "./feedback-alert";
17+
import { Separator } from "../ui/separator";
1618

1719
export function BasicInfo({ generateResult }: { generateResult?: GenerateResult }) {
1820
const { t } = useTranslation();
@@ -39,88 +41,90 @@ export function BasicInfo({ generateResult }: { generateResult?: GenerateResult
3941
/>
4042
</div>
4143
<Separator className="my-2" />
42-
43-
{(generateResult?.shellConfig.shellTool === "Behinder" ||
44-
generateResult?.shellConfig.shellTool === "Godzilla" ||
45-
generateResult?.shellConfig.shellTool === "Command" ||
46-
generateResult?.shellConfig.shellTool === "AntSword" ||
47-
generateResult?.shellConfig.shellTool === "Suo5") && (
48-
<div className="grid grid-cols-1 md:grid-cols-2 gap-2">
49-
{/* Tool-specific fields */}
50-
{generateResult?.shellConfig.shellTool === "Behinder" && (
51-
<>
52-
<CopyableField label={t("shellToolConfig.behinderScriptType")} text="jsp" />
53-
<CopyableField
54-
label={t("shellToolConfig.behinderEncryptType")}
55-
text={t("shellToolConfig.behinderDefaultEncryptType")}
56-
/>
57-
<CopyableField
58-
label={t("shellToolConfig.behinderPass")}
59-
text={(generateResult?.shellToolConfig as BehinderShellToolConfig).pass}
60-
value={(generateResult?.shellToolConfig as BehinderShellToolConfig).pass}
61-
/>
62-
<CopyableField
63-
label={t("shellToolConfig.customHeader")}
64-
text={`${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerValue}`}
65-
value={`${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerValue}`}
66-
/>
67-
</>
68-
)}
69-
{generateResult?.shellConfig.shellTool === "Godzilla" && (
70-
<Fragment>
71-
<CopyableField
72-
label={t("shellToolConfig.pass")}
73-
text={(generateResult?.shellToolConfig as GodzillaShellToolConfig).pass}
74-
value={(generateResult?.shellToolConfig as GodzillaShellToolConfig).pass}
75-
/>
76-
<CopyableField
77-
label={t("shellToolConfig.key")}
78-
text={(generateResult?.shellToolConfig as GodzillaShellToolConfig).key}
79-
value={(generateResult?.shellToolConfig as GodzillaShellToolConfig).key}
80-
/>
81-
<CopyableField label={t("shellToolConfig.godzillaPayload")} text="JavaDynamicPayload" />
82-
<CopyableField label={t("shellToolConfig.godzillaEncryptor")} text="JAVA_AES_BASE64" />
83-
<CopyableField
84-
label={t("shellToolConfig.godzillaHeader")}
85-
text={`${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerValue}`}
86-
value={`${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerValue}`}
87-
/>
88-
</Fragment>
89-
)}
90-
{generateResult?.shellConfig.shellTool === "Command" && (
91-
<Fragment>
92-
<CopyableField
93-
label={t("shellToolConfig.paramName")}
94-
text={(generateResult?.shellToolConfig as CommandShellToolConfig).paramName}
95-
value={(generateResult?.shellToolConfig as CommandShellToolConfig).paramName}
96-
/>
97-
</Fragment>
98-
)}
99-
{generateResult?.shellConfig.shellTool === "Suo5" && (
100-
<Fragment>
101-
<CopyableField
102-
label={t("shellToolConfig.suo5Header")}
103-
text={`${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerValue}`}
104-
value={`${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerValue}`}
105-
/>
106-
</Fragment>
107-
)}
108-
{generateResult?.shellConfig.shellTool === "AntSword" && (
109-
<Fragment>
110-
<CopyableField
111-
label={t("shellToolConfig.antSwordPass")}
112-
text={(generateResult?.shellToolConfig as AntSwordShellToolConfig).pass}
113-
value={(generateResult?.shellToolConfig as AntSwordShellToolConfig).pass}
114-
/>
115-
<CopyableField
116-
label={t("shellToolConfig.httpHeader")}
117-
text={`${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerValue}`}
118-
value={`${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerValue}`}
119-
/>
120-
</Fragment>
121-
)}
122-
</div>
123-
)}
44+
<div className="grid grid-cols-1 md:grid-cols-2 gap-2">
45+
{generateResult?.shellConfig.shellTool === ShellToolType.Behinder && (
46+
<>
47+
<CopyableField label={t("shellToolConfig.behinderScriptType")} text="jsp" />
48+
<CopyableField
49+
label={t("shellToolConfig.behinderEncryptType")}
50+
text={t("shellToolConfig.behinderDefaultEncryptType")}
51+
/>
52+
<CopyableField
53+
label={t("shellToolConfig.behinderPass")}
54+
text={(generateResult?.shellToolConfig as BehinderShellToolConfig).pass}
55+
value={(generateResult?.shellToolConfig as BehinderShellToolConfig).pass}
56+
/>
57+
<CopyableField
58+
label={t("shellToolConfig.customHeader")}
59+
text={`${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerValue}`}
60+
value={`${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as BehinderShellToolConfig).headerValue}`}
61+
/>
62+
</>
63+
)}
64+
{generateResult?.shellConfig.shellTool === ShellToolType.Godzilla && (
65+
<Fragment>
66+
<CopyableField
67+
label={t("shellToolConfig.pass")}
68+
text={(generateResult?.shellToolConfig as GodzillaShellToolConfig).pass}
69+
value={(generateResult?.shellToolConfig as GodzillaShellToolConfig).pass}
70+
/>
71+
<CopyableField
72+
label={t("shellToolConfig.key")}
73+
text={(generateResult?.shellToolConfig as GodzillaShellToolConfig).key}
74+
value={(generateResult?.shellToolConfig as GodzillaShellToolConfig).key}
75+
/>
76+
<CopyableField label={t("shellToolConfig.godzillaPayload")} text="JavaDynamicPayload" />
77+
<CopyableField label={t("shellToolConfig.godzillaEncryptor")} text="JAVA_AES_BASE64" />
78+
<CopyableField
79+
label={t("shellToolConfig.godzillaHeader")}
80+
text={`${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerValue}`}
81+
value={`${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as GodzillaShellToolConfig).headerValue}`}
82+
/>
83+
</Fragment>
84+
)}
85+
{generateResult?.shellConfig.shellTool === ShellToolType.Command && (
86+
<Fragment>
87+
<CopyableField
88+
label={t("shellToolConfig.paramName")}
89+
text={(generateResult?.shellToolConfig as CommandShellToolConfig).paramName}
90+
value={(generateResult?.shellToolConfig as CommandShellToolConfig).paramName}
91+
/>
92+
</Fragment>
93+
)}
94+
{generateResult?.shellConfig.shellTool === ShellToolType.Suo5 && (
95+
<Fragment>
96+
<CopyableField
97+
label={t("shellToolConfig.suo5Header")}
98+
text={`${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerValue}`}
99+
value={`${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as Suo5ShellToolConfig).headerValue}`}
100+
/>
101+
</Fragment>
102+
)}
103+
{generateResult?.shellConfig.shellTool === ShellToolType.AntSword && (
104+
<Fragment>
105+
<CopyableField
106+
label={t("shellToolConfig.antSwordPass")}
107+
text={(generateResult?.shellToolConfig as AntSwordShellToolConfig).pass}
108+
value={(generateResult?.shellToolConfig as AntSwordShellToolConfig).pass}
109+
/>
110+
<CopyableField
111+
label={t("shellToolConfig.httpHeader")}
112+
text={`${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerValue}`}
113+
value={`${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as AntSwordShellToolConfig).headerValue}`}
114+
/>
115+
</Fragment>
116+
)}
117+
{generateResult?.shellConfig.shellTool === ShellToolType.NeoreGeorg && (
118+
<Fragment>
119+
<CopyableField label={t("shellToolConfig.neoreGeorgKey")} text="key" value="key" />
120+
<CopyableField
121+
label={t("shellToolConfig.neoreGeorgHeader")}
122+
text={`${(generateResult?.shellToolConfig as NeoreGeorgShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as NeoreGeorgShellToolConfig).headerValue}`}
123+
value={`${(generateResult?.shellToolConfig as NeoreGeorgShellToolConfig).headerName}: ${(generateResult?.shellToolConfig as NeoreGeorgShellToolConfig).headerValue}`}
124+
/>
125+
</Fragment>
126+
)}
127+
</div>
124128
<Separator className="my-2" />
125129
<div className="grid grid-cols-1 md:grid-cols-2 gap-2">
126130
<CopyableField

web/src/components/results/feedback-alert.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
AlertDialogDescription,
77
AlertDialogTitle,
88
AlertDialogTrigger,
9-
} from "@radix-ui/react-alert-dialog";
9+
} from "../ui/alert-dialog";
1010
import { CircleHelpIcon } from "lucide-react";
1111
import { useTranslation } from "react-i18next";
1212
import { AlertDialogFooter, AlertDialogHeader } from "../ui/alert-dialog";

web/src/components/results/multi-packer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@radix-ui/react-select";
1+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select";
22
import { TFunction } from "i18next";
33
import { useEffect, useState } from "react";
44
import { Fragment } from "react/jsx-runtime";

web/src/components/tools/antsword-tab.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { FormSchema } from "@/types/schema";
2-
import { TabsContent } from "@radix-ui/react-tabs";
2+
import { TabsContent } from "../ui/tabs";
33
import { FormProvider, UseFormReturn } from "react-hook-form";
44
import { useTranslation } from "react-i18next";
55
import { Card, CardContent } from "../ui/card";

web/src/components/tools/behinder-tab.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { FormSchema } from "@/types/schema";
2-
import { TabsContent } from "@radix-ui/react-tabs";
2+
import { TabsContent } from "../ui/tabs";
33
import { FormProvider, UseFormReturn } from "react-hook-form";
44
import { useTranslation } from "react-i18next";
55
import { Card, CardContent } from "../ui/card";

web/src/components/tools/command-tab.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { FormSchema } from "@/types/schema";
2-
import { TabsContent } from "@radix-ui/react-tabs";
2+
import { TabsContent } from "../ui/tabs";
33
import { FormProvider, UseFormReturn } from "react-hook-form";
44
import { useTranslation } from "react-i18next";
55
import { Card, CardContent } from "../ui/card";

0 commit comments

Comments
 (0)