소스 검색

feat: 更新

hezhijie 3 주 전
부모
커밋
62d28533e4
4개의 변경된 파일825개의 추가작업 그리고 511개의 파일을 삭제
  1. 78 0
      company/src/pages/Solution/index.less
  2. 227 155
      company/src/pages/Solution/index.tsx
  3. 260 178
      retrieval/src/pages/Solution/ContactPage.tsx
  4. 260 178
      saas/src/pages/Solution/ContactPage.tsx

+ 78 - 0
company/src/pages/Solution/index.less

@@ -220,6 +220,84 @@
   color: #fca5a5;
 }
 
+.solutionSuccessWrap {
+  display: flex;
+  flex-direction: column;
+  gap: 20px;
+}
+
+.solutionSuccessTitle {
+  margin: 0;
+  color: #ffffff;
+  font-size: clamp(20px, 4.2vw, 28px);
+  font-weight: 700;
+  line-height: 1.45;
+}
+
+.solutionSuccessPanel {
+  border-radius: 12px;
+  border: 1px solid rgba(71, 85, 105, 0.55);
+  background: rgba(2, 6, 23, 0.45);
+  padding: 18px 16px 10px;
+}
+
+.solutionSuccessPanelHint {
+  margin: 0 0 12px;
+  font-size: 12px;
+  font-weight: 600;
+  letter-spacing: 0.06em;
+  color: rgba(148, 163, 184, 0.95);
+}
+
+.solutionSuccessList {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+
+.solutionSuccessRow {
+  display: grid;
+  grid-template-columns: minmax(5.5rem, 7rem) 1fr;
+  gap: 8px 12px;
+  padding: 10px 0;
+  border-bottom: 1px solid rgba(51, 65, 85, 0.35);
+  font-size: 14px;
+  align-items: start;
+}
+
+.solutionSuccessRow:last-child {
+  border-bottom: 0;
+}
+
+.solutionSuccessDt {
+  color: rgba(148, 163, 184, 0.95);
+}
+
+.solutionSuccessDd {
+  color: #f8fafc;
+  font-weight: 500;
+  word-break: break-all;
+}
+
+.solutionBackBtn {
+  width: 100%;
+  margin-top: 4px;
+  padding: 14px 20px !important;
+  border-radius: 10px !important;
+  border: 1px solid rgba(100, 116, 139, 0.65) !important;
+  background: rgba(30, 41, 59, 0.95) !important;
+  color: #f8fafc !important;
+  font-size: 16px !important;
+  font-weight: 700 !important;
+  height: auto !important;
+}
+
+.solutionBackBtn:hover {
+  background: rgba(51, 65, 85, 0.95) !important;
+  color: #f8fafc !important;
+  border-color: rgba(148, 163, 184, 0.65) !important;
+}
+
 @media (max-width: 1024px) {
   .solutionLeftHead {
     margin-top: 0;

+ 227 - 155
company/src/pages/Solution/index.tsx

@@ -11,6 +11,14 @@ const sectionReveal = {
   transition: { duration: 0.7, ease: "easeOut" as const },
 };
 
+type SubmittedLeadSnapshot = {
+  user_name: string;
+  company_name: string;
+  phone: string;
+  code: string;
+  position?: string;
+};
+
 export default function ContactPage() {
   const [form] = Form.useForm();
   const [messageApi, contextHolder] = message.useMessage();
@@ -18,6 +26,10 @@ export default function ContactPage() {
   const [countdown, setCountdown] = useState(0);
   const [submitting, setSubmitting] = useState(false);
   const [sentJustNow, setSentJustNow] = useState(false);
+  const [submitSuccess, setSubmitSuccess] = useState(false);
+  const [submittedSnapshot, setSubmittedSnapshot] = useState<SubmittedLeadSnapshot | null>(
+    null,
+  );
   const sentTimerRef = useRef<number | null>(null);
 
   useEffect(() => {
@@ -86,20 +98,33 @@ export default function ContactPage() {
         return;
       }
       messageApi.success(res?.msg || "提交成功");
-      form.resetFields([
-        "user_name",
-        "position",
-        "phone",
-        "code",
-        "company_name",
-        "privacy",
-      ]);
-      setCountdown(0);
+      setSubmittedSnapshot({
+        user_name: payload.user_name,
+        company_name: payload.company_name,
+        phone: payload.phone,
+        code: payload.code,
+        position: payload.position,
+      });
+      setSubmitSuccess(true);
     } finally {
       setSubmitting(false);
     }
   };
 
+  const handleBackFromSuccess = () => {
+    form.resetFields([
+      "user_name",
+      "position",
+      "phone",
+      "code",
+      "company_name",
+      "privacy",
+    ]);
+    setSubmittedSnapshot(null);
+    setSubmitSuccess(false);
+    setCountdown(0);
+  };
+
   return (
     <div className="solutionPage">
       {contextHolder}
@@ -128,160 +153,207 @@ export default function ContactPage() {
             animate={{ opacity: 1, y: 0 }}
             className="solutionFormCard"
           >
-            <div className="solutionFormHead">
-              <h2 className="solutionFormTitle">
-                留下您的信息
-              </h2>
-            </div>
-            <Form
-              form={form}
-              layout="vertical"
-              className="solutionForm"
-              onFinish={handleSubmit}
-            >
-              <div className="solutionGrid2">
-                <div className="solutionField">
-                  <label className="solutionLabel">
-                    称呼
-                  </label>
-                  <Form.Item
-                    name="user_name"
-                    className="solutionFormItem"
-                    rules={[{ required: true, message: "请输入称呼" }]}
-                  >
-                    <Input
-                      className="solutionInput"
-                      placeholder="请输入您的姓名"
-                    />
-                  </Form.Item>
-                </div>
-                <div className="solutionField">
-                  <label className="solutionLabel">
-                    部门和职务(可选)
-                  </label>
-                  <Form.Item name="position" className="solutionFormItem">
-                    <Input
-                      className="solutionInput"
-                      placeholder="例如:销售部 总监"
-                    />
-                  </Form.Item>
+            {submitSuccess && submittedSnapshot ? (
+              <div className="solutionSuccessWrap">
+                <h2 className="solutionSuccessTitle">
+                  信息提交成功,专业顾问将在24小时内与您取得联系,为您提供专属的解决方案。
+                </h2>
+                <div className="solutionSuccessPanel">
+                  <p className="solutionSuccessPanelHint">您提交的信息</p>
+                  <ul className="solutionSuccessList">
+                    <li className="solutionSuccessRow">
+                      <span className="solutionSuccessDt">姓名</span>
+                      <span className="solutionSuccessDd">{submittedSnapshot.user_name}</span>
+                    </li>
+                    <li className="solutionSuccessRow">
+                      <span className="solutionSuccessDt">公司名称</span>
+                      <span className="solutionSuccessDd">{submittedSnapshot.company_name}</span>
+                    </li>
+                    <li className="solutionSuccessRow">
+                      <span className="solutionSuccessDt">手机号</span>
+                      <span className="solutionSuccessDd">{submittedSnapshot.phone}</span>
+                    </li>
+                    <li className="solutionSuccessRow">
+                      <span className="solutionSuccessDt">部门和职务</span>
+                      <span className="solutionSuccessDd">
+                        {submittedSnapshot.position?.trim()
+                          ? submittedSnapshot.position
+                          : "—"}
+                      </span>
+                    </li>
+                  </ul>
                 </div>
+                <Button
+                  type="default"
+                  size="large"
+                  onClick={handleBackFromSuccess}
+                  className="solutionBackBtn"
+                >
+                  返回
+                </Button>
               </div>
-              <div className="solutionGrid2">
-                <div className="solutionField">
-                  <label className="solutionLabel">
-                    手机号
-                  </label>
-                  <Form.Item
-                    name="phone"
-                    className="solutionFormItem"
-                    rules={[
-                      { required: true, message: "请输入手机号" },
-                      {
-                        pattern: /^1\d{10}$/,
-                        message: "请输入正确的11位手机号",
-                      },
-                    ]}
-                  >
-                    <Input
-                      className="solutionInput"
-                      placeholder="请输入手机号码"
-                    />
-                  </Form.Item>
+            ) : (
+              <>
+                <div className="solutionFormHead">
+                  <h2 className="solutionFormTitle">
+                    留下您的信息
+                  </h2>
                 </div>
-                <div className="solutionField">
-                  <label className="solutionLabel">
-                    验证码
-                  </label>
-                  <div className="solutionCodeWrap">
-                    <Form.Item
-                      name="code"
-                      className="solutionFormItem"
-                      rules={[{ required: true, message: "请输入验证码" }]}
-                    >
+                <Form
+                  form={form}
+                  layout="vertical"
+                  className="solutionForm"
+                  onFinish={handleSubmit}
+                  initialValues={{
+                    privacy: true,
+                  }}
+                >
+                  <div className="solutionGrid2">
+                    <div className="solutionField">
+                      <label className="solutionLabel">
+                        姓名(必填)
+                      </label>
+                      <Form.Item
+                        name="user_name"
+                        className="solutionFormItem"
+                        rules={[{ required: true, message: "请输入称呼" }]}
+                      >
+                        <Input
+                          className="solutionInput"
+                          placeholder="请输入您的姓名"
+                        />
+                      </Form.Item>
+                    </div>
+                    <div className="solutionField">
+                      <label className="solutionLabel">
+                        公司名称(必填)
+                      </label>
+                      <Form.Item
+                        name="company_name"
+                        className="solutionFormItem"
+                        rules={[{ required: true, message: "请输入公司名称" }]}
+                      >
+                        <Input
+                          className="solutionInput"
+                          placeholder="请输入您的公司全称"
+                        />
+                      </Form.Item>
+                    </div>
+                  </div>
+                  <div className="solutionGrid2">
+                    <div className="solutionField">
+                      <label className="solutionLabel">
+                        手机号(必填)
+                      </label>
+                      <Form.Item
+                        name="phone"
+                        className="solutionFormItem"
+                        rules={[
+                          { required: true, message: "请输入手机号" },
+                          {
+                            pattern: /^1\d{10}$/,
+                            message: "请输入正确的11位手机号",
+                          },
+                        ]}
+                      >
+                        <Input
+                          className="solutionInput"
+                          placeholder="请输入手机号码"
+                        />
+                      </Form.Item>
+                    </div>
+                    <div className="solutionField">
+                      <label className="solutionLabel">
+                        验证码(必填)
+                      </label>
+                      <div className="solutionCodeWrap">
+                        <Form.Item
+                          name="code"
+                          className="solutionFormItem"
+                          rules={[{ required: true, message: "请输入验证码" }]}
+                        >
+                          <Input
+                            className="solutionInput solutionInputCode"
+                            placeholder="请输入验证码"
+                            maxLength={6}
+                          />
+                        </Form.Item>
+                        <Button
+                          type="text"
+                          loading={sendingCode}
+                          disabled={sendingCode || sentJustNow || countdown > 0}
+                          onClick={handleSendCode}
+                          className="solutionCodeBtn"
+                        >
+                          {sentJustNow
+                            ? "已发送"
+                            : countdown > 0
+                              ? `${countdown}s`
+                              : "获取验证码"}
+                        </Button>
+                      </div>
+                    </div>
+                  </div>
+                  <div className="solutionField">
+                    <label className="solutionLabel">
+                      部门和职务(可选)
+                    </label>
+                    <Form.Item name="position" className="solutionFormItem">
                       <Input
-                        className="solutionInput solutionInputCode"
-                        placeholder="请输入验证码"
+                        className="solutionInput"
+                        placeholder="例如:销售部 总监"
                       />
                     </Form.Item>
-                    <Button
-                      type="text"
-                      loading={sendingCode}
-                      disabled={sendingCode || sentJustNow || countdown > 0}
-                      onClick={handleSendCode}
-                      className="solutionCodeBtn"
+                  </div>
+                  <div className="solutionAgreeRow">
+                    <Form.Item
+                      name="privacy"
+                      valuePropName="checked"
+                      className="solutionAgreeItem"
+                      rules={[
+                        {
+                          validator: (_, value) =>
+                            value
+                              ? Promise.resolve()
+                              : Promise.reject(
+                                  new Error("请先阅读并同意隐私协议与用户协议"),
+                                ),
+                        },
+                      ]}
                     >
-                      {sentJustNow
-                        ? "已发送"
-                        : countdown > 0
-                          ? `${countdown}s`
-                          : "获取验证码"}
-                    </Button>
+                      <Checkbox className="solutionAgreeCheckbox">
+                        <span className="solutionAgreeText">
+                          我已阅读并同意
+                          <a
+                            className="solutionAgreeLink"
+                            href="/privacy"
+                            target="_blank"
+                            rel="noreferrer"
+                          >
+                            《隐私协议》
+                          </a>
+                          <a
+                            className="solutionAgreeLink"
+                            href="/agreement"
+                            target="_blank"
+                            rel="noreferrer"
+                          >
+                            《用户协议》
+                          </a>
+                        </span>
+                      </Checkbox>
+                    </Form.Item>
                   </div>
-                </div>
-              </div>
-              <div className="solutionField">
-                <label className="solutionLabel">
-                  公司名称
-                </label>
-                <Form.Item
-                  name="company_name"
-                  className="solutionFormItem"
-                  rules={[{ required: true, message: "请输入公司名称" }]}
-                >
-                  <Input
-                    className="solutionInput"
-                    placeholder="请输入您的公司全称"
-                  />
-                </Form.Item>
-              </div>
-              <div className="solutionAgreeRow">
-                <Form.Item
-                  name="privacy"
-                  valuePropName="checked"
-                  className="solutionAgreeItem"
-                  rules={[
-                    {
-                      validator: (_, value) =>
-                        value
-                          ? Promise.resolve()
-                          : Promise.reject(
-                              new Error("请先阅读并同意隐私协议与用户协议"),
-                            ),
-                    },
-                  ]}
-                >
-                  <Checkbox className="solutionAgreeCheckbox">
-                    <span className="solutionAgreeText">
-                      我已阅读并同意
-                      <a
-                        className="solutionAgreeLink"
-                        href="/privacy"
-                        target="_blank"
-                        rel="noreferrer"
-                      >
-                        《隐私协议》
-                      </a>
-                      <a
-                        className="solutionAgreeLink"
-                        href="/agreement"
-                        target="_blank"
-                        rel="noreferrer"
-                      >
-                        《用户协议》
-                      </a>
-                    </span>
-                  </Checkbox>
-                </Form.Item>
-              </div>
-              <button
-                type="submit"
-                disabled={submitting}
-                className="solutionSubmitBtn"
-              >
-                提交信息
-              </button>
-            </Form>
+                  <button
+                    type="submit"
+                    disabled={submitting}
+                    className="solutionSubmitBtn"
+                  >
+                    提交信息
+                  </button>
+                </Form>
+              </>
+            )}
           </motion.div>
         </motion.div>
       </div>

+ 260 - 178
retrieval/src/pages/Solution/ContactPage.tsx

@@ -11,6 +11,21 @@ const sectionReveal = {
   transition: { duration: 0.7, ease: "easeOut" as const },
 };
 
+/** 与 Tailwind lg 断点一致:窄屏下表单在首屏下方,whileInView 可能长期不触发,改为进场动画直接播放 */
+const formColumnRevealMobile = {
+  initial: { opacity: 0, y: 40 },
+  animate: { opacity: 1, y: 0 },
+  transition: { duration: 0.7, ease: "easeOut" as const },
+};
+
+type SubmittedLeadSnapshot = {
+  user_name: string;
+  company_name: string;
+  phone: string;
+  code: string;
+  position?: string;
+};
+
 export default function ContactPage() {
   const [form] = Form.useForm();
   const [messageApi, contextHolder] = message.useMessage();
@@ -18,6 +33,15 @@ export default function ContactPage() {
   const [countdown, setCountdown] = useState(0);
   const [submitting, setSubmitting] = useState(false);
   const [sentJustNow, setSentJustNow] = useState(false);
+  const [submitSuccess, setSubmitSuccess] = useState(false);
+  const [submittedSnapshot, setSubmittedSnapshot] = useState<SubmittedLeadSnapshot | null>(
+    null,
+  );
+  const [isNarrowViewport, setIsNarrowViewport] = useState(() =>
+    typeof window !== "undefined"
+      ? window.matchMedia("(max-width: 1023px)").matches
+      : false,
+  );
   const sentTimerRef = useRef<number | null>(null);
 
   useEffect(() => {
@@ -34,6 +58,14 @@ export default function ContactPage() {
     };
   }, []);
 
+  useEffect(() => {
+    const mq = window.matchMedia("(max-width: 1023px)");
+    const sync = () => setIsNarrowViewport(mq.matches);
+    sync();
+    mq.addEventListener("change", sync);
+    return () => mq.removeEventListener("change", sync);
+  }, []);
+
   const isSuccessResponse = (res: ApiResponse) => {
     if (res?.code === undefined || res?.code === null || res?.code === "")
       return true;
@@ -86,44 +118,53 @@ export default function ContactPage() {
         return;
       }
       messageApi.success(res?.msg || "提交成功");
-      form.resetFields([
-        "user_name",
-        "position",
-        "phone",
-        "code",
-        "company_name",
-        "privacy",
-      ]);
-      setCountdown(0);
+      setSubmittedSnapshot({
+        user_name: payload.user_name,
+        company_name: payload.company_name,
+        phone: payload.phone,
+        code: payload.code,
+        position: payload.position,
+      });
+      setSubmitSuccess(true);
     } finally {
       setSubmitting(false);
     }
   };
 
+  const handleBackFromSuccess = () => {
+    form.resetFields([
+      "user_name",
+      "position",
+      "phone",
+      "code",
+      "company_name",
+      "privacy",
+    ]);
+    setSubmittedSnapshot(null);
+    setSubmitSuccess(false);
+    setCountdown(0);
+  };
+
   return (
-    <div className="pt-32 pb-24 px-6 max-w-7xl mx-auto text-slate-100">
+    <div className="pb-16 px-6 max-w-7xl mx-auto text-slate-100 max-lg:pt-[calc(5rem+env(safe-area-inset-top,0px)+2.75rem)] lg:pt-32 lg:pb-24">
       {contextHolder}
-      <div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start">
+      <div className="grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-12 items-start">
         <motion.div
-          style={{ marginTop: 82 }}
-          className="lg:col-span-5 space-y-10"
+          className="mt-0 lg:mt-[82px] lg:col-span-5 space-y-10"
           {...sectionReveal}
         >
           <motion.div
             initial={{ opacity: 0, y: 20 }}
             animate={{ opacity: 1, y: 0 }}
-            className="space-y-4"
+            className="flex flex-col gap-3 lg:gap-0"
           >
             <h1 className="font-headline text-5xl font-extrabold tracking-tight text-white leading-tight">
-              联系我们 <br />
-              <div style={{ marginTop: 36 }} className="text-secondary">
+              联系我们
+              <div className="mt-3 text-secondary lg:mt-9">
                 开启渠道价格管控之旅
               </div>
             </h1>
-            <p
-              style={{ marginTop: 76 }}
-              className="text-lg text-slate-300 leading-relaxed max-w-md"
-            >
+            <p className="mt-4 text-lg text-slate-300 leading-relaxed max-w-md lg:mt-[76px]">
               填写您的信息,专业顾问将在24小时内与您取得联系,为您提供专属的解决方案。
             </p>
           </motion.div>
@@ -164,177 +205,218 @@ export default function ContactPage() {
           </div> */}
         </motion.div>
 
-        <motion.div className="lg:col-span-7" {...sectionReveal}>
+        <motion.div
+          className="lg:col-span-7"
+          {...(isNarrowViewport ? formColumnRevealMobile : sectionReveal)}
+        >
           <motion.div
             initial={{ opacity: 0, y: 16 }}
             animate={{ opacity: 1, y: 0 }}
             className="bg-slate-900 rounded-2xl p-8 md:p-12 shadow-xl border border-slate-800"
           >
-            <div className="mb-10">
-              <h2 className="font-headline text-3xl font-bold text-white mb-2">
-                留下您的信息
-              </h2>
-            </div>
-            <Form
-              form={form}
-              layout="vertical"
-              className="space-y-6"
-              onFinish={handleSubmit}
-            >
-              <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    称呼
-                  </label>
-                  <Form.Item
-                    name="user_name"
-                    className="!mb-0"
-                    rules={[{ required: true, message: "请输入称呼" }]}
-                  >
-                    <Input
-                      className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                      placeholder="请输入您的姓名"
-                    />
-                  </Form.Item>
-                </div>
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    部门和职务(可选)
-                  </label>
-                  <Form.Item name="position" className="!mb-0">
-                    <Input
-                      className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                      placeholder="例如:销售部 总监"
-                    />
-                  </Form.Item>
+            {submitSuccess && submittedSnapshot ? (
+              <div className="space-y-8">
+                <h2 className="font-headline text-2xl md:text-3xl font-bold text-white leading-snug">
+                  信息提交成功,专业顾问将在24小时内与您取得联系,为您提供专属的解决方案。
+                </h2>
+                <div className="rounded-xl border border-slate-800 bg-slate-950/80 p-6 space-y-4">
+                  <p className="text-xs font-semibold uppercase tracking-wider text-slate-500">
+                    您提交的信息
+                  </p>
+                  <dl className="space-y-3 text-sm">
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">姓名</dt>
+                      <dd className="text-slate-100 font-medium">{submittedSnapshot.user_name}</dd>
+                    </div>
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">公司名称</dt>
+                      <dd className="text-slate-100 font-medium">{submittedSnapshot.company_name}</dd>
+                    </div>
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">手机号</dt>
+                      <dd className="text-slate-100 font-medium">{submittedSnapshot.phone}</dd>
+                    </div>
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">部门和职务</dt>
+                      <dd className="text-slate-100 font-medium">
+                        {submittedSnapshot.position?.trim()
+                          ? submittedSnapshot.position
+                          : "—"}
+                      </dd>
+                    </div>
+                  </dl>
                 </div>
+                <Button
+                  type="default"
+                  size="large"
+                  onClick={handleBackFromSuccess}
+                  className="!h-auto !w-full !py-4 !rounded-lg !font-headline !text-base !font-bold !bg-slate-800 !text-white !border-slate-600 hover:!bg-slate-700 hover:!text-white hover:!border-slate-500"
+                >
+                  返回
+                </Button>
               </div>
-              <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    手机号
-                  </label>
-                  <Form.Item
-                    name="phone"
-                    className="!mb-0"
-                    rules={[
-                      { required: true, message: "请输入手机号" },
-                      {
-                        pattern: /^1\d{10}$/,
-                        message: "请输入正确的11位手机号",
-                      },
-                    ]}
-                  >
-                    <Input
-                      className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                      placeholder="请输入手机号码"
-                    />
-                  </Form.Item>
+            ) : (
+              <>
+                <div className="mb-10">
+                  <h2 className="font-headline text-3xl font-bold text-white mb-2">
+                    留下您的信息
+                  </h2>
                 </div>
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    验证码
-                  </label>
-                  <div className="relative">
-                    <Form.Item
-                      name="code"
-                      className="!mb-0"
-                      rules={[{ required: true, message: "请输入验证码" }]}
-                    >
+                <Form
+                  form={form}
+                  layout="vertical"
+                  className="space-y-6"
+                  onFinish={handleSubmit}
+                  initialValues={{
+                    privacy: true,
+                  }}
+                >
+                  <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        姓名(必填)
+                      </label>
+                      <Form.Item
+                        name="user_name"
+                        className="!mb-0"
+                        rules={[{ required: true, message: "请输入称呼" }]}
+                      >
+                        <Input
+                          className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                          placeholder="请输入您的姓名"
+                        />
+                      </Form.Item>
+                    </div>
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        公司名称(必填)
+                      </label>
+                      <Form.Item
+                        name="company_name"
+                        className="!mb-0"
+                        rules={[{ required: true, message: "请输入公司名称" }]}
+                      >
+                        <Input
+                          className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                          placeholder="请输入您的公司全称"
+                        />
+                      </Form.Item>
+                    </div>
+                  </div>
+                  <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        手机号(必填)
+                      </label>
+                      <Form.Item
+                        name="phone"
+                        className="!mb-0"
+                        rules={[
+                          { required: true, message: "请输入手机号" },
+                          {
+                            pattern: /^1\d{10}$/,
+                            message: "请输入正确的11位手机号",
+                          },
+                        ]}
+                      >
+                        <Input
+                          className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                          placeholder="请输入手机号码"
+                        />
+                      </Form.Item>
+                    </div>
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        验证码(必填)
+                      </label>
+                      <div className="relative">
+                        <Form.Item
+                          name="code"
+                          className="!mb-0"
+                          rules={[{ required: true, message: "请输入验证码" }]}
+                        >
+                          <Input
+                            className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !pr-24 !text-slate-100 placeholder:!text-slate-500"
+                            placeholder="请输入验证码"
+                            maxLength={6}
+                          />
+                        </Form.Item>
+                        <Button
+                          type="text"
+                          loading={sendingCode}
+                          disabled={sendingCode || sentJustNow || countdown > 0}
+                          onClick={handleSendCode}
+                          className="!absolute !right-2 !top-1.5 !bottom-1.5 !px-3 !text-xs !font-bold !text-blue-300 !bg-slate-800 !rounded-md hover:!bg-secondary hover:!text-white !transition-all"
+                        >
+                          {sentJustNow
+                            ? "已发送"
+                            : countdown > 0
+                              ? `${countdown}s`
+                              : "获取验证码"}
+                        </Button>
+                      </div>
+                    </div>
+                  </div>
+                  <div className="space-y-2">
+                    <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                      部门和职务(可选)
+                    </label>
+                    <Form.Item name="position" className="!mb-0">
                       <Input
-                        className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !pr-24 !text-slate-100 placeholder:!text-slate-500"
-                        placeholder="请输入验证码"
+                        className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                        placeholder="例如:销售部 总监"
                       />
                     </Form.Item>
-                    <Button
-                      type="text"
-                      loading={sendingCode}
-                      disabled={sendingCode || sentJustNow || countdown > 0}
-                      onClick={handleSendCode}
-                      className="!absolute !right-2 !top-1.5 !bottom-1.5 !px-3 !text-xs !font-bold !text-blue-300 !bg-slate-800 !rounded-md hover:!bg-secondary hover:!text-white !transition-all"
+                  </div>
+                  <div className="flex items-center gap-3 py-2">
+                    <Form.Item
+                      name="privacy"
+                      valuePropName="checked"
+                      className="!mb-0"
+                      rules={[
+                        {
+                          validator: (_, value) =>
+                            value
+                              ? Promise.resolve()
+                              : Promise.reject(
+                                  new Error("请先阅读并同意隐私协议与用户协议"),
+                                ),
+                        },
+                      ]}
                     >
-                      {sentJustNow
-                        ? "已发送"
-                        : countdown > 0
-                          ? `${countdown}s`
-                          : "获取验证码"}
-                    </Button>
+                      <Checkbox className="[&_.ant-checkbox-inner]:!bg-slate-900 [&_.ant-checkbox-inner]:!border-slate-600">
+                        <span className="text-xs text-slate-400">
+                          我已阅读并同意
+                          <a
+                            className="text-secondary hover:underline"
+                            href="/privacy"
+                            target="_blank"
+                            rel="noreferrer"
+                          >
+                            《隐私协议》
+                          </a>
+                          <a
+                            className="text-secondary hover:underline"
+                            href="/agreement"
+                            target="_blank"
+                            rel="noreferrer"
+                          >
+                            《用户协议》
+                          </a>
+                        </span>
+                      </Checkbox>
+                    </Form.Item>
                   </div>
-                </div>
-              </div>
-              <div className="space-y-2">
-                <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                  公司名称
-                </label>
-                <Form.Item
-                  name="company_name"
-                  className="!mb-0"
-                  rules={[{ required: true, message: "请输入公司名称" }]}
-                >
-                  <Input
-                    className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                    placeholder="请输入您的公司全称"
-                  />
-                </Form.Item>
-              </div>
-              {/* <div className="space-y-2">
-                <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                  具体需求 (可选)
-                </label>
-                <textarea
-                  className="w-full bg-slate-950 border border-slate-800 rounded-lg px-4 py-3 text-slate-100 placeholder:text-slate-500 focus:ring-1 focus:ring-secondary outline-none resize-none"
-                  placeholder="请简述您面临的业务挑战"
-                  rows={3}
-                  name="requirement"
-                ></textarea>
-              </div> */}
-              <div className="flex items-center gap-3 py-2">
-                <Form.Item
-                  name="privacy"
-                  valuePropName="checked"
-                  className="!mb-0"
-                  rules={[
-                    {
-                      validator: (_, value) =>
-                        value
-                          ? Promise.resolve()
-                          : Promise.reject(
-                              new Error("请先阅读并同意隐私协议与用户协议"),
-                            ),
-                    },
-                  ]}
-                >
-                  <Checkbox className="[&_.ant-checkbox-inner]:!bg-slate-900 [&_.ant-checkbox-inner]:!border-slate-600">
-                    <span className="text-xs text-slate-400">
-                      我已阅读并同意
-                      <a
-                        className="text-secondary hover:underline"
-                        href="/privacy"
-                        target="_blank"
-                        rel="noreferrer"
-                      >
-                        《隐私协议》
-                      </a>
-                      <a
-                        className="text-secondary hover:underline"
-                        href="/agreement"
-                        target="_blank"
-                        rel="noreferrer"
-                      >
-                        《用户协议》
-                      </a>
-                    </span>
-                  </Checkbox>
-                </Form.Item>
-              </div>
-              <button
-                type="submit"
-                disabled={submitting}
-                className="w-full bg-primary text-white py-4 rounded-lg font-bold text-lg shadow-lg hover:bg-secondary transition-all active:scale-95 disabled:opacity-60 disabled:cursor-not-allowed"
-              >
-                提交信息
-              </button>
-            </Form>
+                  <button
+                    type="submit"
+                    disabled={submitting}
+                    className="w-full bg-primary text-white py-4 rounded-lg font-bold text-lg shadow-lg hover:bg-secondary transition-all active:scale-95 disabled:opacity-60 disabled:cursor-not-allowed"
+                  >
+                    提交信息
+                  </button>
+                </Form>
+              </>
+            )}
           </motion.div>
         </motion.div>
       </div>

+ 260 - 178
saas/src/pages/Solution/ContactPage.tsx

@@ -11,6 +11,21 @@ const sectionReveal = {
   transition: { duration: 0.7, ease: "easeOut" as const },
 };
 
+/** 与 Tailwind lg 断点一致:窄屏下表单在首屏下方,whileInView 可能长期不触发,改为进场动画直接播放 */
+const formColumnRevealMobile = {
+  initial: { opacity: 0, y: 40 },
+  animate: { opacity: 1, y: 0 },
+  transition: { duration: 0.7, ease: "easeOut" as const },
+};
+
+type SubmittedLeadSnapshot = {
+  user_name: string;
+  company_name: string;
+  phone: string;
+  code: string;
+  position?: string;
+};
+
 export default function ContactPage() {
   const [form] = Form.useForm();
   const [messageApi, contextHolder] = message.useMessage();
@@ -18,6 +33,15 @@ export default function ContactPage() {
   const [countdown, setCountdown] = useState(0);
   const [submitting, setSubmitting] = useState(false);
   const [sentJustNow, setSentJustNow] = useState(false);
+  const [submitSuccess, setSubmitSuccess] = useState(false);
+  const [submittedSnapshot, setSubmittedSnapshot] = useState<SubmittedLeadSnapshot | null>(
+    null,
+  );
+  const [isNarrowViewport, setIsNarrowViewport] = useState(() =>
+    typeof window !== "undefined"
+      ? window.matchMedia("(max-width: 1023px)").matches
+      : false,
+  );
   const sentTimerRef = useRef<number | null>(null);
 
   useEffect(() => {
@@ -34,6 +58,14 @@ export default function ContactPage() {
     };
   }, []);
 
+  useEffect(() => {
+    const mq = window.matchMedia("(max-width: 1023px)");
+    const sync = () => setIsNarrowViewport(mq.matches);
+    sync();
+    mq.addEventListener("change", sync);
+    return () => mq.removeEventListener("change", sync);
+  }, []);
+
   const isSuccessResponse = (res: ApiResponse) => {
     if (res?.code === undefined || res?.code === null || res?.code === "")
       return true;
@@ -86,44 +118,53 @@ export default function ContactPage() {
         return;
       }
       messageApi.success(res?.msg || "提交成功");
-      form.resetFields([
-        "user_name",
-        "position",
-        "phone",
-        "code",
-        "company_name",
-        "privacy",
-      ]);
-      setCountdown(0);
+      setSubmittedSnapshot({
+        user_name: payload.user_name,
+        company_name: payload.company_name,
+        phone: payload.phone,
+        code: payload.code,
+        position: payload.position,
+      });
+      setSubmitSuccess(true);
     } finally {
       setSubmitting(false);
     }
   };
 
+  const handleBackFromSuccess = () => {
+    form.resetFields([
+      "user_name",
+      "position",
+      "phone",
+      "code",
+      "company_name",
+      "privacy",
+    ]);
+    setSubmittedSnapshot(null);
+    setSubmitSuccess(false);
+    setCountdown(0);
+  };
+
   return (
-    <div className="pt-32 pb-24 px-6 max-w-7xl mx-auto text-slate-100">
+    <div className="pb-16 px-6 max-w-7xl mx-auto text-slate-100 max-lg:pt-[calc(5rem+env(safe-area-inset-top,0px)+2.75rem)] lg:pt-32 lg:pb-24">
       {contextHolder}
-      <div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start">
+      <div className="grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-12 items-start">
         <motion.div
-          style={{ marginTop: 82 }}
-          className="lg:col-span-5 space-y-10"
+          className="mt-0 lg:mt-[82px] lg:col-span-5 space-y-10"
           {...sectionReveal}
         >
           <motion.div
             initial={{ opacity: 0, y: 20 }}
             animate={{ opacity: 1, y: 0 }}
-            className="space-y-4"
+            className="flex flex-col gap-3 lg:gap-0"
           >
             <h1 className="font-headline text-5xl font-extrabold tracking-tight text-white leading-tight">
-              联系我们 <br />
-              <div style={{ marginTop: 36 }} className="text-secondary">
+              联系我们
+              <div className="mt-3 text-secondary lg:mt-9">
                 开启企微私域一体化增长之旅
               </div>
             </h1>
-            <p
-              style={{ marginTop: 76 }}
-              className="text-lg text-slate-300 leading-relaxed max-w-md"
-            >
+            <p className="mt-4 text-lg text-slate-300 leading-relaxed max-w-md lg:mt-[76px]">
               填写您的信息,专业顾问将在24小时内与您取得联系,为您提供专属的解决方案。
             </p>
           </motion.div>
@@ -164,177 +205,218 @@ export default function ContactPage() {
           </div> */}
         </motion.div>
 
-        <motion.div className="lg:col-span-7" {...sectionReveal}>
+        <motion.div
+          className="lg:col-span-7"
+          {...(isNarrowViewport ? formColumnRevealMobile : sectionReveal)}
+        >
           <motion.div
             initial={{ opacity: 0, y: 16 }}
             animate={{ opacity: 1, y: 0 }}
             className="bg-slate-900 rounded-2xl p-8 md:p-12 shadow-xl border border-slate-800"
           >
-            <div className="mb-10">
-              <h2 className="font-headline text-3xl font-bold text-white mb-2">
-                留下您的信息
-              </h2>
-            </div>
-            <Form
-              form={form}
-              layout="vertical"
-              className="space-y-6"
-              onFinish={handleSubmit}
-            >
-              <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    称呼
-                  </label>
-                  <Form.Item
-                    name="user_name"
-                    className="!mb-0"
-                    rules={[{ required: true, message: "请输入称呼" }]}
-                  >
-                    <Input
-                      className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                      placeholder="请输入您的姓名"
-                    />
-                  </Form.Item>
-                </div>
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    部门和职务(可选)
-                  </label>
-                  <Form.Item name="position" className="!mb-0">
-                    <Input
-                      className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                      placeholder="例如:销售部 总监"
-                    />
-                  </Form.Item>
+            {submitSuccess && submittedSnapshot ? (
+              <div className="space-y-8">
+                <h2 className="font-headline text-2xl md:text-3xl font-bold text-white leading-snug">
+                  信息提交成功,专业顾问将在24小时内与您取得联系,为您提供专属的解决方案。
+                </h2>
+                <div className="rounded-xl border border-slate-800 bg-slate-950/80 p-6 space-y-4">
+                  <p className="text-xs font-semibold uppercase tracking-wider text-slate-500">
+                    您提交的信息
+                  </p>
+                  <dl className="space-y-3 text-sm">
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">姓名</dt>
+                      <dd className="text-slate-100 font-medium">{submittedSnapshot.user_name}</dd>
+                    </div>
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">公司名称</dt>
+                      <dd className="text-slate-100 font-medium">{submittedSnapshot.company_name}</dd>
+                    </div>
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">手机号</dt>
+                      <dd className="text-slate-100 font-medium">{submittedSnapshot.phone}</dd>
+                    </div>
+                    <div className="flex flex-col gap-0.5 sm:flex-row sm:gap-3">
+                      <dt className="shrink-0 text-slate-500 w-28">部门和职务</dt>
+                      <dd className="text-slate-100 font-medium">
+                        {submittedSnapshot.position?.trim()
+                          ? submittedSnapshot.position
+                          : "—"}
+                      </dd>
+                    </div>
+                  </dl>
                 </div>
+                <Button
+                  type="default"
+                  size="large"
+                  onClick={handleBackFromSuccess}
+                  className="!h-auto !w-full !py-4 !rounded-lg !font-headline !text-base !font-bold !bg-slate-800 !text-white !border-slate-600 hover:!bg-slate-700 hover:!text-white hover:!border-slate-500"
+                >
+                  返回
+                </Button>
               </div>
-              <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    手机号
-                  </label>
-                  <Form.Item
-                    name="phone"
-                    className="!mb-0"
-                    rules={[
-                      { required: true, message: "请输入手机号" },
-                      {
-                        pattern: /^1\d{10}$/,
-                        message: "请输入正确的11位手机号",
-                      },
-                    ]}
-                  >
-                    <Input
-                      className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                      placeholder="请输入手机号码"
-                    />
-                  </Form.Item>
+            ) : (
+              <>
+                <div className="mb-10">
+                  <h2 className="font-headline text-3xl font-bold text-white mb-2">
+                    留下您的信息
+                  </h2>
                 </div>
-                <div className="space-y-2">
-                  <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                    验证码
-                  </label>
-                  <div className="relative">
-                    <Form.Item
-                      name="code"
-                      className="!mb-0"
-                      rules={[{ required: true, message: "请输入验证码" }]}
-                    >
+                <Form
+                  form={form}
+                  layout="vertical"
+                  className="space-y-6"
+                  onFinish={handleSubmit}
+                  initialValues={{
+                    privacy: true,
+                  }}
+                >
+                  <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        姓名(必填)
+                      </label>
+                      <Form.Item
+                        name="user_name"
+                        className="!mb-0"
+                        rules={[{ required: true, message: "请输入称呼" }]}
+                      >
+                        <Input
+                          className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                          placeholder="请输入您的姓名"
+                        />
+                      </Form.Item>
+                    </div>
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        公司名称(必填)
+                      </label>
+                      <Form.Item
+                        name="company_name"
+                        className="!mb-0"
+                        rules={[{ required: true, message: "请输入公司名称" }]}
+                      >
+                        <Input
+                          className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                          placeholder="请输入您的公司全称"
+                        />
+                      </Form.Item>
+                    </div>
+                  </div>
+                  <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        手机号(必填)
+                      </label>
+                      <Form.Item
+                        name="phone"
+                        className="!mb-0"
+                        rules={[
+                          { required: true, message: "请输入手机号" },
+                          {
+                            pattern: /^1\d{10}$/,
+                            message: "请输入正确的11位手机号",
+                          },
+                        ]}
+                      >
+                        <Input
+                          className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                          placeholder="请输入手机号码"
+                        />
+                      </Form.Item>
+                    </div>
+                    <div className="space-y-2">
+                      <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                        验证码(必填)
+                      </label>
+                      <div className="relative">
+                        <Form.Item
+                          name="code"
+                          className="!mb-0"
+                          rules={[{ required: true, message: "请输入验证码" }]}
+                        >
+                          <Input
+                            className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !pr-24 !text-slate-100 placeholder:!text-slate-500"
+                            placeholder="请输入验证码"
+                            maxLength={6}
+                          />
+                        </Form.Item>
+                        <Button
+                          type="text"
+                          loading={sendingCode}
+                          disabled={sendingCode || sentJustNow || countdown > 0}
+                          onClick={handleSendCode}
+                          className="!absolute !right-2 !top-1.5 !bottom-1.5 !px-3 !text-xs !font-bold !text-blue-300 !bg-slate-800 !rounded-md hover:!bg-secondary hover:!text-white !transition-all"
+                        >
+                          {sentJustNow
+                            ? "已发送"
+                            : countdown > 0
+                              ? `${countdown}s`
+                              : "获取验证码"}
+                        </Button>
+                      </div>
+                    </div>
+                  </div>
+                  <div className="space-y-2">
+                    <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
+                      部门和职务(可选)
+                    </label>
+                    <Form.Item name="position" className="!mb-0">
                       <Input
-                        className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !pr-24 !text-slate-100 placeholder:!text-slate-500"
-                        placeholder="请输入验证码"
+                        className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
+                        placeholder="例如:销售部 总监"
                       />
                     </Form.Item>
-                    <Button
-                      type="text"
-                      loading={sendingCode}
-                      disabled={sendingCode || sentJustNow || countdown > 0}
-                      onClick={handleSendCode}
-                      className="!absolute !right-2 !top-1.5 !bottom-1.5 !px-3 !text-xs !font-bold !text-blue-300 !bg-slate-800 !rounded-md hover:!bg-secondary hover:!text-white !transition-all"
+                  </div>
+                  <div className="flex items-center gap-3 py-2">
+                    <Form.Item
+                      name="privacy"
+                      valuePropName="checked"
+                      className="!mb-0"
+                      rules={[
+                        {
+                          validator: (_, value) =>
+                            value
+                              ? Promise.resolve()
+                              : Promise.reject(
+                                  new Error("请先阅读并同意隐私协议与用户协议"),
+                                ),
+                        },
+                      ]}
                     >
-                      {sentJustNow
-                        ? "已发送"
-                        : countdown > 0
-                          ? `${countdown}s`
-                          : "获取验证码"}
-                    </Button>
+                      <Checkbox className="[&_.ant-checkbox-inner]:!bg-slate-900 [&_.ant-checkbox-inner]:!border-slate-600">
+                        <span className="text-xs text-slate-400">
+                          我已阅读并同意
+                          <a
+                            className="text-secondary hover:underline"
+                            href="/privacy"
+                            target="_blank"
+                            rel="noreferrer"
+                          >
+                            《隐私协议》
+                          </a>
+                          <a
+                            className="text-secondary hover:underline"
+                            href="/agreement"
+                            target="_blank"
+                            rel="noreferrer"
+                          >
+                            《用户协议》
+                          </a>
+                        </span>
+                      </Checkbox>
+                    </Form.Item>
                   </div>
-                </div>
-              </div>
-              <div className="space-y-2">
-                <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                  公司名称
-                </label>
-                <Form.Item
-                  name="company_name"
-                  className="!mb-0"
-                  rules={[{ required: true, message: "请输入公司名称" }]}
-                >
-                  <Input
-                    className="!w-full !bg-slate-950 !border !border-slate-800 !rounded-lg !px-4 !py-3 !text-slate-100 placeholder:!text-slate-500"
-                    placeholder="请输入您的公司全称"
-                  />
-                </Form.Item>
-              </div>
-              {/* <div className="space-y-2">
-                <label className="text-xs font-semibold uppercase tracking-wider text-slate-500 ml-1">
-                  具体需求 (可选)
-                </label>
-                <textarea
-                  className="w-full bg-slate-950 border border-slate-800 rounded-lg px-4 py-3 text-slate-100 placeholder:text-slate-500 focus:ring-1 focus:ring-secondary outline-none resize-none"
-                  placeholder="请简述您面临的业务挑战"
-                  rows={3}
-                  name="requirement"
-                ></textarea>
-              </div> */}
-              <div className="flex items-center gap-3 py-2">
-                <Form.Item
-                  name="privacy"
-                  valuePropName="checked"
-                  className="!mb-0"
-                  rules={[
-                    {
-                      validator: (_, value) =>
-                        value
-                          ? Promise.resolve()
-                          : Promise.reject(
-                              new Error("请先阅读并同意隐私协议与用户协议"),
-                            ),
-                    },
-                  ]}
-                >
-                  <Checkbox className="[&_.ant-checkbox-inner]:!bg-slate-900 [&_.ant-checkbox-inner]:!border-slate-600">
-                    <span className="text-xs text-slate-400">
-                      我已阅读并同意
-                      <a
-                        className="text-secondary hover:underline"
-                        href="/privacy"
-                        target="_blank"
-                        rel="noreferrer"
-                      >
-                        《隐私协议》
-                      </a>
-                      <a
-                        className="text-secondary hover:underline"
-                        href="/agreement"
-                        target="_blank"
-                        rel="noreferrer"
-                      >
-                        《用户协议》
-                      </a>
-                    </span>
-                  </Checkbox>
-                </Form.Item>
-              </div>
-              <button
-                type="submit"
-                disabled={submitting}
-                className="w-full bg-primary text-white py-4 rounded-lg font-bold text-lg shadow-lg hover:bg-secondary transition-all active:scale-95 disabled:opacity-60 disabled:cursor-not-allowed"
-              >
-                提交信息
-              </button>
-            </Form>
+                  <button
+                    type="submit"
+                    disabled={submitting}
+                    className="w-full bg-primary text-white py-4 rounded-lg font-bold text-lg shadow-lg hover:bg-secondary transition-all active:scale-95 disabled:opacity-60 disabled:cursor-not-allowed"
+                  >
+                    提交信息
+                  </button>
+                </Form>
+              </>
+            )}
           </motion.div>
         </motion.div>
       </div>