{"id":488,"date":"2025-11-06T19:26:18","date_gmt":"2025-11-06T11:26:18","guid":{"rendered":"http:\/\/www.dqxdao.com\/?page_id=488"},"modified":"2025-12-26T17:40:56","modified_gmt":"2025-12-26T09:40:56","slug":"liuyan","status":"publish","type":"page","link":"https:\/\/www.dqxdao.com\/index.php\/zh\/liuyan\/","title":{"rendered":"liuyan"},"content":{"rendered":"\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-9ba6dbca wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>\u4e1c\u79cb\u897f\u7a3b &#8211; \u8054\u7cfb\u6211\u4eec<\/title>\n  \n  <!-- \u5f15\u5165\u5916\u90e8\u8d44\u6e90 -->\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/font-awesome@4.7.0\/css\/font-awesome.min.css\" rel=\"stylesheet\">\n  \n  <!-- \u81ea\u5b9a\u4e49\u914d\u7f6e -->\n  <script>\n    tailwind.config = {\n      theme: {\n        extend: {\n          colors: {\n            primary: '#1a4a9e',\n            secondary: '#e6f0ff',\n            accent: '#3b82f6',\n            dark: '#012257',\n            light: '#f8fafc',\n            error: '#ef4444',\n            success: '#10b981'\n          },\n          fontFamily: {\n            sans: ['Inter', 'system-ui', 'sans-serif'],\n          },\n          maxWidth: {\n            '1250': '1250px',\n          },\n          lineHeight: {\n            'relaxed': '1.7',\n          },\n          backdropBlur: {\n            'xs': '2px',\n          }\n        },\n      }\n    }\n  <\/script>\n  \n  <!-- \u57fa\u7840\u6837\u5f0f\u91cd\u7f6e\u548c\u5168\u5c40\u6837\u5f0f -->\n  <style>\n    \/* \u5168\u5c4f\u8bbe\u7f6e *\/\n    html, body {\n      margin: 0;\n      padding: 0;\n      width: 100%;\n      min-height: 100vh;\n      scroll-behavior: smooth;\n      background-color: white;\n      background-image: \n        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.9) 0%, transparent 50%),\n        radial-gradient(circle at 80% 70%, rgba(230,240,255,0.7) 0%, transparent 50%),\n        radial-gradient(circle at 50% 50%, rgba(58,130,246,0.1) 0%, transparent 70%);\n      background-attachment: fixed;\n    }\n    \n    \/* \u56fa\u5b9a\u5b57\u4f53\u989c\u8272 *\/\n    .fixed-text-color {\n      color: #012257 !important;\n    }\n    .fixed-text-color-70 {\n      color: rgba(1, 34, 87, 0.7) !important;\n    }\n    \n    \/* \u52a8\u753b\u6548\u679c *\/\n    @keyframes fadeIn {\n      from {\n        opacity: 0;\n        transform: translateY(20px);\n      }\n      to {\n        opacity: 1;\n        transform: translateY(0);\n      }\n    }\n    \n    @keyframes scaleIn {\n      from {\n        opacity: 0;\n        transform: scale(0.95);\n      }\n      to {\n        opacity: 1;\n        transform: scale(1);\n      }\n    }\n    \n    @keyframes fadeOut {\n      from {\n        opacity: 1;\n        transform: scale(1);\n      }\n      to {\n        opacity: 0;\n        transform: scale(0.95);\n      }\n    }\n    \n    @keyframes shake {\n      0%, 100% { transform: translateX(0); }\n      10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }\n      20%, 40%, 60%, 80% { transform: translateX(5px); }\n    }\n    \n    \/* \u9519\u8bef\u72b6\u6001 *\/\n    .error-field {\n      border-color: #ef4444 !important;\n      animation: shake 0.5s ease-in-out;\n    }\n    \n    .error-message {\n      color: #ef4444;\n      font-size: 0.75rem;\n      margin-top: 0.25rem;\n      display: block;\n    }\n    \n    \/* \u78e8\u7802\u73bb\u7483\u6548\u679c\u5bf9\u8bdd\u6846 *\/\n    .dialog-overlay {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      background-color: rgba(0, 0, 0, 0.25);\n      backdrop-filter: blur(3px);\n      -webkit-backdrop-filter: blur(3px);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      z-index: 9999;\n      opacity: 0;\n      visibility: hidden;\n      transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n    }\n    \n    .dialog-overlay.active {\n      opacity: 1;\n      visibility: visible;\n    }\n    \n    .dialog-overlay.closing {\n      opacity: 0;\n    }\n    \n    .dialog-content {\n      background: rgba(255, 255, 255, 0.92);\n      backdrop-filter: blur(16px) saturate(180%);\n      -webkit-backdrop-filter: blur(16px) saturate(180%);\n      border: 1px solid rgba(255, 255, 255, 0.4);\n      padding: 1.5rem 1.25rem;\n      border-radius: 14px;\n      box-shadow: \n        0 8px 24px rgba(0, 0, 0, 0.08),\n        0 1px 2px rgba(0, 0, 0, 0.03),\n        inset 0 1px 0 rgba(255, 255, 255, 0.6);\n      max-width: 300px;\n      width: 82%;\n      transform: translateY(-8px) scale(0.98);\n      transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);\n      text-align: center;\n      position: relative;\n      overflow: hidden;\n    }\n    \n    \/* \u73bb\u7483\u6548\u679c\u8fb9\u7f18\u9ad8\u5149 *\/\n    .dialog-content::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      height: 1px;\n      background: linear-gradient(90deg, \n        transparent 0%, \n        rgba(255, 255, 255, 0.9) 50%, \n        transparent 100%);\n      z-index: 1;\n    }\n    \n    \/* \u8fb9\u7f18\u53cd\u5c04\u6548\u679c *\/\n    .dialog-content::after {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      border-radius: 14px;\n      pointer-events: none;\n      background: linear-gradient(135deg, \n        rgba(255, 255, 255, 0.3) 0%, \n        transparent 20%,\n        transparent 80%,\n        rgba(255, 255, 255, 0.1) 100%);\n    }\n    \n    .dialog-overlay.active .dialog-content {\n      transform: translateY(0) scale(1);\n      animation: scaleIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);\n    }\n    \n    .dialog-overlay.closing .dialog-content {\n      animation: fadeOut 0.25s ease-out forwards;\n    }\n    \n    \/* \u6210\u529f\u5bf9\u8bdd\u6846\u56fe\u6807 *\/\n    .dialog-icon.success {\n      background: linear-gradient(135deg, #10b981, #34d399);\n      box-shadow: \n        0 4px 12px rgba(16, 185, 129, 0.25),\n        inset 0 1px 0 rgba(255, 255, 255, 0.2);\n    }\n    \n    \/* \u9519\u8bef\u5bf9\u8bdd\u6846\u56fe\u6807 *\/\n    .dialog-icon.error {\n      background: linear-gradient(135deg, #ef4444, #f87171);\n      box-shadow: \n        0 4px 12px rgba(239, 68, 68, 0.25),\n        inset 0 1px 0 rgba(255, 255, 255, 0.2);\n    }\n    \n    .dialog-icon {\n      width: 56px;\n      height: 56px;\n      border-radius: 50%;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin: 0 auto 1rem;\n      position: relative;\n      overflow: hidden;\n    }\n    \n    .dialog-icon::after {\n      content: '';\n      position: absolute;\n      top: -8px;\n      left: -8px;\n      right: -8px;\n      bottom: -8px;\n      background: linear-gradient(45deg, \n        transparent 30%, \n        rgba(255, 255, 255, 0.4) 50%, \n        transparent 70%);\n      transform: rotate(45deg);\n      animation: shimmer 2.5s infinite linear;\n    }\n    \n    @keyframes shimmer {\n      0% {\n        transform: translateX(-100%) rotate(45deg);\n      }\n      100% {\n        transform: translateX(100%) rotate(45deg);\n      }\n    }\n    \n    .dialog-icon i {\n      font-size: 1.5rem;\n      color: white;\n      position: relative;\n      z-index: 1;\n      filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));\n    }\n    \n    .dialog-content h3 {\n      font-size: 1.125rem;\n      font-weight: 600;\n      margin-bottom: 0.375rem;\n      color: #012257;\n      letter-spacing: -0.01em;\n    }\n    \n    .dialog-content p {\n      color: rgba(1, 34, 87, 0.7);\n      font-size: 0.825rem;\n      line-height: 1.4;\n      margin-bottom: 1.25rem;\n    }\n    \n    #closeDialog, #closeErrorDialog {\n      background: linear-gradient(to right, #1a4a9e, #3b82f6);\n      border: none;\n      padding: 0.625rem 1.25rem;\n      border-radius: 8px;\n      color: white;\n      font-weight: 500;\n      font-size: 0.825rem;\n      cursor: pointer;\n      transition: all 0.2s ease;\n      box-shadow: \n        0 3px 8px rgba(26, 74, 158, 0.15),\n        inset 0 1px 0 rgba(255, 255, 255, 0.2);\n      display: inline-block;\n      min-width: 90px;\n      position: relative;\n      overflow: hidden;\n    }\n    \n    #closeDialog::before, #closeErrorDialog::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: -100%;\n      width: 100%;\n      height: 100%;\n      background: linear-gradient(90deg, \n        transparent, \n        rgba(255, 255, 255, 0.2), \n        transparent);\n      transition: left 0.5s ease;\n    }\n    \n    #closeDialog:hover::before, #closeErrorDialog:hover::before {\n      left: 100%;\n    }\n    \n    #closeDialog:hover, #closeErrorDialog:hover {\n      transform: translateY(-1px);\n      box-shadow: \n        0 5px 12px rgba(26, 74, 158, 0.2),\n        inset 0 1px 0 rgba(255, 255, 255, 0.2);\n    }\n    \n    #closeDialog:active, #closeErrorDialog:active {\n      transform: translateY(0);\n      box-shadow: \n        0 2px 6px rgba(26, 74, 158, 0.15),\n        inset 0 1px 0 rgba(255, 255, 255, 0.2);\n    }\n    \n    .delay-1 {\n      animation-delay: 0.2s;\n    }\n    .delay-2 {\n      animation-delay: 0.4s;\n    }\n    .delay-3 {\n      animation-delay: 0.6s;\n    }\n    \n    \/* \u54cd\u5e94\u5f0f\u5e03\u5c40\u8c03\u6574 *\/\n    .contact-content {\n      order: 2; \/* \u9ed8\u8ba4\u987a\u5e8f\u4e3a2\uff08\u5728\u79fb\u52a8\u7aef\u663e\u793a\u5728\u540e\u9762\uff09 *\/\n    }\n    \n    .contact-form {\n      order: 1; \/* \u9ed8\u8ba4\u987a\u5e8f\u4e3a1\uff08\u5728\u79fb\u52a8\u7aef\u663e\u793a\u5728\u524d\u9762\uff09 *\/\n    }\n    \n    @media (min-width: 1024px) {\n      .contact-content {\n        order: 1; \/* \u5728\u7535\u8111\u7aef\u6062\u590d\u4e3a\u987a\u5e8f1\uff08\u663e\u793a\u5728\u5de6\u4fa7\uff09 *\/\n      }\n      \n      .contact-form {\n        order: 2; \/* \u5728\u7535\u8111\u7aef\u6062\u590d\u4e3a\u987a\u5e8f2\uff08\u663e\u793a\u5728\u53f3\u4fa7\uff09 *\/\n      }\n    }\n    \n    \/* \u79fb\u52a8\u7aef\u4f18\u5316 *\/\n    @media (max-width: 768px) {\n      .contact-info-item {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 0.5rem;\n      }\n      \n      .contact-info-item .w-12 {\n        width: 2.5rem;\n        height: 2.5rem;\n      }\n      \n      .contact-info-item .text-xl {\n        font-size: 1.125rem;\n      }\n    }\n    \n    \/* \u6de1\u5165\u52a8\u753b *\/\n    .fade-in {\n      animation: fadeIn 0.8s ease-out forwards;\n      opacity: 0;\n    }\n    \n    \/* Contact Form 7 \u6837\u5f0f\u8986\u76d6 *\/\n    .wpcf7-form-control-wrap {\n      display: block;\n      width: 100%;\n    }\n    \n    .wpcf7-not-valid-tip {\n      color: #ef4444;\n      font-size: 0.75rem;\n      margin-top: 0.25rem;\n      display: block;\n    }\n    \n    .wpcf7-response-output {\n      margin: 1rem 0 0 0 !important;\n      padding: 0.75rem 1rem !important;\n      border-radius: 0.5rem;\n      font-size: 0.875rem;\n      border-width: 1px;\n    }\n    \n    .wpcf7-form.sent .wpcf7-response-output {\n      border-color: #10b981 !important;\n      background-color: #f0fdf4;\n      color: #065f46;\n    }\n    \n    .wpcf7-form.failed .wpcf7-response-output,\n    .wpcf7-form.aborted .wpcf7-response-output {\n      border-color: #ef4444 !important;\n      background-color: #fef2f2;\n      color: #991b1b;\n    }\n    \n    .wpcf7-spinner {\n      margin: 0 0 0 0.5rem;\n      vertical-align: middle;\n    }\n    \n    .wpcf7 form.invalid .wpcf7-response-output,\n    .wpcf7 form.unaccepted .wpcf7-response-output,\n    .wpcf7 form.payment-required .wpcf7-response-output {\n      border-color: #f59e0b !important;\n      background-color: #fffbeb;\n      color: #92400e;\n    }\n    \n    \/* \u9690\u85cf\u9ed8\u8ba4\u7684\u63d0\u4ea4\u72b6\u6001\u4fe1\u606f *\/\n    .ajax-loader {\n      display: none !important;\n    }\n  <\/style>\n<\/head>\n\n<body>\n\n  \n  <!-- \u8054\u7cfb\u6211\u4eec -->\n  <section class=\"w-full py-8 md:py-16 flex items-center justify-center\">\n    <div class=\"w-full mx-auto px-4 md:px-6\">\n      <div class=\"w-full p-6 md:p-8 lg:p-10 relative overflow-hidden\">\n        <!-- \u4f7f\u7528 flex \u548c order \u63a7\u5236\u54cd\u5e94\u5f0f\u5e03\u5c40 -->\n        <div class=\"relative z-10 flex flex-col lg:grid lg:grid-cols-2 gap-8 lg:gap-12 items-center max-w-1250 mx-auto\">\n          \n          <!-- \u8868\u5355\u90e8\u5206 - \u79fb\u52a8\u7aef\u663e\u793a\u5728\u524d\u9762\uff0c\u7535\u8111\u7aef\u663e\u793a\u5728\u53f3\u4fa7 -->\n          <div class=\"contact-form w-full\">\n            <div class=\"bg-white p-6 md:p-8 shadow-lg border border-gray-100 rounded-xl fade-in delay-1\">\n              <h3 class=\"text-2xl font-bold mb-6 text-center fixed-text-color\">\u8054\u7cfb\u6211\u4eec<\/h3>\n              \n              <!-- Contact Form 7 \u8868\u5355\u5d4c\u5165 -->\n              <div >\n                \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f1000-o1\" lang=\"zh-CN\" dir=\"ltr\" data-wpcf7-id=\"1000\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/index.php\/wp-json\/wp\/v2\/pages\/488#wpcf7-f1000-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"\u7559\u8a00\u8868\u5355\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"1000\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.3\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"zh_CN\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f1000-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><label> \u4f01\u4e1a\u540d\u79f0<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n<\/p>\n<p><label> \u8054\u7cfb\u7535\u8bdd<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel-540\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel title\" aria-invalid=\"false\" value=\"\" type=\"tel\" name=\"tel-540\" \/><\/span><\/label>\n<\/p>\n<p><label> \u8054\u7cfb\u5730\u5740<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"text-169\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"text-169\" \/><\/span><\/label>\n<\/p>\n<p><label> \u54a8\u8be2\u95ee\u9898<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-subject\" \/><\/span> <\/label>\n<\/p>\n<p><label> \u60a8\u7684\u6d88\u606f (\u53ef\u9009)<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"text-295\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"text-295\" \/><\/span> <\/label>\n<\/p>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"\u63d0\u4ea4\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n              <\/div>\n              \n            <\/div>\n          <\/div>\n          \n          <!-- \u5185\u5bb9\u90e8\u5206 - \u79fb\u52a8\u7aef\u663e\u793a\u5728\u540e\u9762\uff0c\u7535\u8111\u7aef\u663e\u793a\u5728\u5de6\u4fa7 -->\n          <div class=\"contact-content w-full\">\n            <h2 class=\"text-[clamp(1.8rem,4vw,2.8rem)] font-bold mb-6 fixed-text-color fade-in leading-relaxed\">  \n              \u643a\u624b<span style=\"color: #205CBC\">Dqxdao<\/span><br \/>\u5171\u521b\u6570\u5b57\u5316\u672a\u6765\n            <\/h2>\n            <p class=\"mb-8 text-lg fixed-text-color-70 fade-in delay-1 leading-relaxed\">\n              \u65e0\u8bba\u60a8\u662f\u94f6\u884c\u3001\u653f\u5e9c\u673a\u6784\u8fd8\u662f\u4f01\u4e8b\u4e1a\u5355\u4f4d\uff0c\u6211\u4eec\u90fd\u80fd\u4e3a\u60a8\u63d0\u4f9b\u5b9a\u5236\u5316\u7684\u6570\u5b57\u5316\u8f6c\u578b\u89e3\u51b3\u65b9\u6848\u3002\n            <\/p>\n            <div class=\"space-y-5\">\n              <div class=\"flex items-start gap-4 fade-in delay-1 contact-info-item\">\n                <div class=\"w-12 h-12 rounded-full bg-primary\/20 flex items-center justify-center text-primary mt-1 flex-shrink-0\">\n                  <i class=\"fa fa-map-marker text-xl\" style=\"font-size: 24px\"><\/i>\n                <\/div>\n                <div class=\"leading-relaxed\">\n                  <h3 class=\"font-bold text-lg mb-2 fixed-text-color\">\u603b\u90e8\u5730\u5740<\/h3>\n                  <p class=\"fixed-text-color-70 font-medium text-base\"><strong>\u6df1\u5733\u5e02\u7f57\u6e56\u533a\u5357\u6e56\u8857\u9053\u5929\u5b89\u56fd\u9645\u5927\u53a6C\u5ea71502<\/strong><\/p>\n                <\/div>\n              <\/div>\n              <div class=\"flex items-start gap-4 fade-in delay-2 contact-info-item\">\n                <div class=\"w-12 h-12 rounded-full bg-primary\/20 flex items-center justify-center text-primary mt-1 flex-shrink-0\">\n                  <i class=\"fa fa-phone text-xl\"><\/i>\n                <\/div>\n                <div class=\"leading-relaxed\">\n                  <h3 class=\"font-bold text-lg mb-2 fixed-text-color\">\u8054\u7cfb\u7535\u8bdd<\/h3>\n                  <p class=\"fixed-text-color-70 font-medium text-base\"><strong>0755-2888-9987<\/strong><\/p>\n                <\/div>\n              <\/div>\n              <div class=\"flex items-start gap-4 fade-in delay-3 contact-info-item\">\n                <div class=\"w-12 h-12 rounded-full bg-primary\/20 flex items-center justify-center text-primary mt-1 flex-shrink-0\">\n                  <i class=\"fa fa-envelope text-xl\"><\/i>\n                <\/div>\n                <div class=\"leading-relaxed\">\n                  <h3 class=\"font-bold text-lg mb-2 fixed-text-color\">\u7535\u5b50\u90ae\u7bb1<\/h3>\n                  <p class=\"fixed-text-color-70 font-medium text-base\"><strong>maijy_dqxd@163.com<\/strong><\/p>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          \n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  \n  <!-- JavaScript \u4ea4\u4e92\u6548\u679c -->\n  <script>\n    \/\/ DOM\u5143\u7d20\n    const successDialog = document.getElementById('successDialog');\n    const errorDialog = document.getElementById('errorDialog');\n    const closeDialogBtn = document.getElementById('closeDialog');\n    const closeErrorDialogBtn = document.getElementById('closeErrorDialog');\n    const errorTitle = document.getElementById('errorTitle');\n    const errorMessage = document.getElementById('errorMessage');\n    \n    \/\/ \u663e\u793a\u5bf9\u8bdd\u6846\n    function showDialog(dialog, title, message, isError = false) {\n      if (isError) {\n        errorTitle.textContent = title;\n        errorMessage.textContent = message;\n        dialog.classList.add('active');\n      } else {\n        dialog.classList.add('active');\n      }\n    }\n    \n    \/\/ \u5173\u95ed\u5bf9\u8bdd\u6846\n    function closeDialog(dialog) {\n      dialog.classList.add('closing');\n      \n      setTimeout(() => {\n        dialog.classList.remove('active', 'closing');\n      }, 250);\n    }\n    \n    \/\/ \u52a0\u8f7d Contact Form 7 \u8868\u5355\n    function loadContactForm7() {\n      const container = document.getElementById('contact-form-7-container');\n      \n      \/\/ \u8fd9\u91cc\u5e94\u8be5\u66ff\u6362\u4e3a\u4eceWordPress API\u83b7\u53d6\u8868\u5355HTML\u7684\u4ee3\u7801\n      \/\/ \u7531\u4e8e\u6211\u4eec\u4e0d\u80fd\u76f4\u63a5\u8bbf\u95eeWordPress REST API\uff08\u9700\u8981\u5904\u7406CORS\uff09\uff0c\u8fd9\u91cc\u63d0\u4f9b\u4e00\u4e2a\u793a\u4f8bHTML\u7ed3\u6784\n      \/\/ \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u9700\u8981\u901a\u8fc7WordPress REST API\u83b7\u53d6\u8868\u5355HTML\n      \n      const formHTML = `\n        <form action=\"\/wp-json\/contact-form-7\/v1\/contact-forms\/ad19cb1\/feedback\" method=\"post\" class=\"wpcf7-form init space-y-4\">\n          <div style=\"display: none;\">\n            <input type=\"hidden\" name=\"_wpcf7\" value=\"ad19cb1\">\n            <input type=\"hidden\" name=\"_wpcf7_version\" value=\"5.8\">\n            <input type=\"hidden\" name=\"_wpcf7_locale\" value=\"zh_CN\">\n            <input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-fad19cb1-o1\">\n            <input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\">\n            <input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\">\n          <\/div>\n          \n          <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n            <div class=\"wpcf7-form-control-wrap your-name\">\n              <label for=\"cf7-name\" class=\"block text-sm font-medium mb-1 fixed-text-color-70\">\u59d3\u540d <span class=\"text-error\">*<\/span><\/label>\n              <input type=\"text\" id=\"cf7-name\" name=\"your-name\" required class=\"w-full px-4 py-2 border border-gray-200 focus:outline-none focus:ring-2 focus:ring-primary\/50 focus:border-primary transition-all rounded-lg hover:shadow-md wpcf7-form-control wpcf7-text\" placeholder=\"\u8bf7\u8f93\u5165\u60a8\u7684\u59d3\u540d\" \/>\n              <span class=\"wpcf7-not-valid-tip\"><\/span>\n            <\/div>\n            \n            <div class=\"wpcf7-form-control-wrap your-phone\">\n              <label for=\"cf7-phone\" class=\"block text-sm font-medium mb-1 fixed-text-color-70\">\u7535\u8bdd <span class=\"text-error\">*<\/span><\/label>\n              <input type=\"tel\" id=\"cf7-phone\" name=\"your-phone\" required class=\"w-full px-4 py-2 border border-gray-200 focus:outline-none focus:ring-2 focus:ring-primary\/50 focus:border-primary transition-all rounded-lg hover:shadow-md wpcf7-form-control wpcf7-text wpcf7-tel\" placeholder=\"\u8bf7\u8f93\u5165\u60a8\u7684\u7535\u8bdd\" \/>\n              <span class=\"wpcf7-not-valid-tip\"><\/span>\n            <\/div>\n          <\/div>\n          \n          <div class=\"wpcf7-form-control-wrap your-company\">\n            <label for=\"cf7-company\" class=\"block text-sm font-medium mb-1 fixed-text-color-70\">\u516c\u53f8\u540d\u79f0<\/label>\n            <input type=\"text\" id=\"cf7-company\" name=\"your-company\" class=\"w-full px-4 py-2 border border-gray-200 focus:outline-none focus:ring-2 focus:ring-primary\/50 focus:border-primary transition-all rounded-lg hover:shadow-md wpcf7-form-control wpcf7-text\" placeholder=\"\u8bf7\u8f93\u5165\u60a8\u7684\u516c\u53f8\u540d\u79f0\" \/>\n            <span class=\"wpcf7-not-valid-tip\"><\/span>\n          <\/div>\n          \n          <div class=\"wpcf7-form-control-wrap your-email\">\n            <label for=\"cf7-email\" class=\"block text-sm font-medium mb-1 fixed-text-color-70\">\u7535\u5b50\u90ae\u7bb1 <span class=\"text-error\">*<\/span><\/label>\n            <input type=\"email\" id=\"cf7-email\" name=\"your-email\" required class=\"w-full px-4 py-2 border border-gray-200 focus:outline-none focus:ring-2 focus:ring-primary\/50 focus:border-primary transition-all rounded-lg hover:shadow-md wpcf7-form-control wpcf7-text wpcf7-email\" placeholder=\"\u8bf7\u8f93\u5165\u60a8\u7684\u7535\u5b50\u90ae\u7bb1\" \/>\n            <span class=\"wpcf7-not-valid-tip\"><\/span>\n          <\/div>\n          \n          <div class=\"wpcf7-form-control-wrap your-message\">\n            <label for=\"cf7-message\" class=\"block text-sm font-medium mb-1 fixed-text-color-70\">\u54a8\u8be2\u5185\u5bb9 <span class=\"text-error\">*<\/span><\/label>\n            <textarea id=\"cf7-message\" name=\"your-message\" rows=\"4\" required class=\"w-full px-4 py-2 border border-gray-200 focus:outline-none focus:ring-2 focus:ring-primary\/50 focus:border-primary transition-all rounded-lg hover:shadow-md wpcf7-form-control wpcf7-textarea\" placeholder=\"\u8bf7\u8f93\u5165\u60a8\u7684\u54a8\u8be2\u5185\u5bb9\"><\/textarea>\n            <span class=\"wpcf7-not-valid-tip\"><\/span>\n          <\/div>\n          \n          <button type=\"submit\" class=\"w-full py-3 bg-primary text-white font-medium hover:bg-primary\/90 transition-all shadow-lg shadow-primary\/20 flex items-center justify-center gap-2 rounded-lg hover:scale-[1.02] transform transition-transform duration-300 wpcf7-form-control wpcf7-submit\">\n            <i class=\"fa fa-paper-plane\"><\/i> \u63d0\u4ea4\u54a8\u8be2\n            <span class=\"wpcf7-spinner\"><\/span>\n          <\/button>\n          \n          <div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n        <\/form>\n      `;\n      \n      container.innerHTML = formHTML;\n      \n      \/\/ \u521d\u59cb\u5316\u8868\u5355\u4e8b\u4ef6\n      initContactForm7();\n    }\n    \n    \/\/ \u521d\u59cb\u5316 Contact Form 7 \u8868\u5355\u4e8b\u4ef6\n    function initContactForm7() {\n      const form = document.querySelector('.wpcf7-form');\n      if (!form) return;\n      \n      \/\/ \u8868\u5355\u63d0\u4ea4\u5904\u7406\n      form.addEventListener('submit', async function(e) {\n        e.preventDefault();\n        \n        const submitBtn = form.querySelector('button[type=\"submit\"]');\n        const originalText = submitBtn.innerHTML;\n        \n        \/\/ \u7981\u7528\u63d0\u4ea4\u6309\u94ae\u5e76\u663e\u793a\u52a0\u8f7d\u72b6\u6001\n        submitBtn.disabled = true;\n        submitBtn.innerHTML = '<i class=\"fa fa-spinner fa-spin\"><\/i> \u63d0\u4ea4\u4e2d...';\n        \n        \/\/ \u6e05\u9664\u4e4b\u524d\u7684\u54cd\u5e94\u6d88\u606f\n        const responseOutput = form.querySelector('.wpcf7-response-output');\n        if (responseOutput) {\n          responseOutput.textContent = '';\n          responseOutput.className = 'wpcf7-response-output';\n          responseOutput.style.display = 'none';\n        }\n        \n        \/\/ \u6e05\u9664\u9a8c\u8bc1\u9519\u8bef\n        form.querySelectorAll('.wpcf7-not-valid-tip').forEach(el => {\n          el.textContent = '';\n        });\n        form.querySelectorAll('.wpcf7-form-control').forEach(el => {\n          el.classList.remove('wpcf7-not-valid');\n        });\n        \n        try {\n          const formData = new FormData(form);\n          \n          \/\/ \u53d1\u9001\u5230 Contact Form 7 REST API\n          const response = await fetch(form.action, {\n            method: 'POST',\n            body: formData,\n            headers: {\n              'Accept': 'application\/json'\n            }\n          });\n          \n          const result = await response.json();\n          \n          \/\/ \u6062\u590d\u6309\u94ae\u72b6\u6001\n          submitBtn.disabled = false;\n          submitBtn.innerHTML = originalText;\n          \n          if (response.ok && result.status === 'mail_sent') {\n            \/\/ \u6210\u529f\u63d0\u4ea4\n            showDialog(successDialog, '\u63d0\u4ea4\u6210\u529f\uff01', '\u611f\u8c22\u60a8\u7684\u54a8\u8be2\uff0c\u6211\u4eec\u5c06\u5c3d\u5feb\u4e0e\u60a8\u8054\u7cfb\u3002');\n            form.reset();\n            \n            \/\/ \u66f4\u65b0\u8868\u5355\u72b6\u6001\n            form.classList.add('sent');\n            form.classList.remove('invalid', 'failed', 'aborted', 'spam');\n            \n            if (responseOutput) {\n              responseOutput.textContent = result.message;\n              responseOutput.className = 'wpcf7-response-output wpcf7-mail-sent-ok';\n              responseOutput.style.display = 'block';\n            }\n          } else {\n            \/\/ \u5904\u7406\u9a8c\u8bc1\u9519\u8bef\n            if (result.invalid_fields) {\n              form.classList.add('invalid');\n              form.classList.remove('sent', 'failed', 'aborted', 'spam');\n              \n              result.invalid_fields.forEach(field => {\n                const fieldWrap = form.querySelector(`.wpcf7-form-control-wrap.${field.into}`);\n                if (fieldWrap) {\n                  const input = fieldWrap.querySelector('.wpcf7-form-control');\n                  const errorTip = fieldWrap.querySelector('.wpcf7-not-valid-tip');\n                  \n                  if (input) {\n                    input.classList.add('wpcf7-not-valid');\n                    input.classList.add('error-field');\n                  }\n                  \n                  if (errorTip) {\n                    errorTip.textContent = field.message;\n                  }\n                }\n              });\n              \n              if (responseOutput) {\n                responseOutput.textContent = result.message || '\u8bf7\u68c0\u67e5\u8868\u5355\u4e2d\u7684\u9519\u8bef\u4fe1\u606f';\n                responseOutput.className = 'wpcf7-response-output wpcf7-validation-errors';\n                responseOutput.style.display = 'block';\n              }\n            } else {\n              \/\/ \u5176\u4ed6\u9519\u8bef\n              form.classList.add('failed');\n              form.classList.remove('sent', 'invalid', 'aborted', 'spam');\n              \n              if (responseOutput) {\n                responseOutput.textContent = result.message || '\u63d0\u4ea4\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5';\n                responseOutput.className = 'wpcf7-response-output wpcf7-mail-failed';\n                responseOutput.style.display = 'block';\n              }\n              \n              showDialog(errorDialog, '\u63d0\u4ea4\u5931\u8d25', result.message || '\u63d0\u4ea4\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5', true);\n            }\n          }\n          \n        } catch (error) {\n          console.error('\u63d0\u4ea4\u9519\u8bef:', error);\n          \n          \/\/ \u6062\u590d\u6309\u94ae\u72b6\u6001\n          submitBtn.disabled = false;\n          submitBtn.innerHTML = originalText;\n          \n          form.classList.add('failed');\n          form.classList.remove('sent', 'invalid', 'aborted', 'spam');\n          \n          if (responseOutput) {\n            responseOutput.textContent = '\u7f51\u7edc\u9519\u8bef\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u540e\u91cd\u8bd5';\n            responseOutput.className = 'wpcf7-response-output wpcf7-mail-failed';\n            responseOutput.style.display = 'block';\n          }\n          \n          showDialog(errorDialog, '\u7f51\u7edc\u9519\u8bef', '\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u540e\u91cd\u8bd5\u3002', true);\n        }\n      });\n      \n      \/\/ \u5b9e\u65f6\u9a8c\u8bc1\u8f93\u5165\n      form.querySelectorAll('.wpcf7-form-control').forEach(input => {\n        input.addEventListener('blur', function() {\n          \/\/ \u7b80\u5355\u7684\u524d\u7aef\u9a8c\u8bc1\n          const value = this.value.trim();\n          const fieldWrap = this.closest('.wpcf7-form-control-wrap');\n          const errorTip = fieldWrap ? fieldWrap.querySelector('.wpcf7-not-valid-tip') : null;\n          \n          if (this.required && value.length === 0) {\n            this.classList.add('wpcf7-not-valid', 'error-field');\n            if (errorTip) errorTip.textContent = '\u6b64\u9879\u4e3a\u5fc5\u586b\u9879';\n          } else {\n            this.classList.remove('wpcf7-not-valid', 'error-field');\n            if (errorTip) errorTip.textContent = '';\n          }\n          \n          \/\/ \u90ae\u7bb1\u683c\u5f0f\u9a8c\u8bc1\n          if (this.type === 'email' && value.length > 0) {\n            const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n            if (!emailRegex.test(value)) {\n              this.classList.add('wpcf7-not-valid', 'error-field');\n              if (errorTip) errorTip.textContent = '\u8bf7\u8f93\u5165\u6709\u6548\u7684\u7535\u5b50\u90ae\u7bb1';\n            }\n          }\n          \n          \/\/ \u7535\u8bdd\u683c\u5f0f\u9a8c\u8bc1\n          if (this.name === 'your-phone' && value.length > 0) {\n            const phoneRegex = \/^[\\d\\s\\-\\+\\(\\)]+$\/;\n            if (!phoneRegex.test(value)) {\n              this.classList.add('wpcf7-not-valid', 'error-field');\n              if (errorTip) errorTip.textContent = '\u8bf7\u8f93\u5165\u6709\u6548\u7684\u7535\u8bdd\u53f7\u7801';\n            }\n          }\n        });\n        \n        \/\/ \u8f93\u5165\u65f6\u6e05\u9664\u9519\u8bef\u72b6\u6001\n        input.addEventListener('input', function() {\n          this.classList.remove('wpcf7-not-valid', 'error-field');\n          const fieldWrap = this.closest('.wpcf7-form-control-wrap');\n          const errorTip = fieldWrap ? fieldWrap.querySelector('.wpcf7-not-valid-tip') : null;\n          if (errorTip) errorTip.textContent = '';\n        });\n      });\n    }\n    \n    \/\/ \u5173\u95ed\u6210\u529f\u5bf9\u8bdd\u6846\n    closeDialogBtn.addEventListener('click', function() {\n      closeDialog(successDialog);\n    });\n    \n    \/\/ \u5173\u95ed\u9519\u8bef\u5bf9\u8bdd\u6846\n    closeErrorDialogBtn.addEventListener('click', function() {\n      closeDialog(errorDialog);\n    });\n    \n    \/\/ \u70b9\u51fb\u5bf9\u8bdd\u6846\u5916\u90e8\u5173\u95ed\n    [successDialog, errorDialog].forEach(dialog => {\n      dialog.addEventListener('click', function(e) {\n        if (e.target === dialog) {\n          closeDialog(dialog);\n        }\n      });\n    });\n    \n    \/\/ \u9875\u9762\u52a0\u8f7d\u65f6\u521d\u59cb\u5316\n    document.addEventListener('DOMContentLoaded', () => {\n      \/\/ \u52a0\u8f7d Contact Form 7 \u8868\u5355\n      loadContactForm7();\n      \n      \/\/ \u9875\u9762\u52a0\u8f7d\u52a8\u753b\n      const elements = document.querySelectorAll('.fade-in');\n      elements.forEach(el => {\n        el.style.opacity = '0';\n      });\n      \n      setTimeout(() => {\n        elements.forEach(el => {\n          el.style.opacity = '1';\n        });\n      }, 100);\n    });\n  <\/script>\n<\/body>\n<\/html>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-9ba6dbca wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e1c\u79cb\u897f\u7a3b &#8211; \u8054\u7cfb\u6211\u4eec \u8054\u7cfb\u6211\u4eec \u643a\u624bDqxdao\u5171\u521b\u6570\u5b57\u5316\u672a\u6765 \u65e0\u8bba\u60a8\u662f\u94f6\u884c\u3001\u653f\u5e9c\u673a\u6784\u8fd8\u662f\u4f01\u4e8b\u4e1a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_themeisle_gutenberg_block_has_review":false,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-488","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/pages\/488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/comments?post=488"}],"version-history":[{"count":81,"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/pages\/488\/revisions"}],"predecessor-version":[{"id":3609,"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/pages\/488\/revisions\/3609"}],"wp:attachment":[{"href":"https:\/\/www.dqxdao.com\/index.php\/wp-json\/wp\/v2\/media?parent=488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}