const { message, Spin } = antd;

function App() {
  const lang = localStorage.getItem('aili_lang') ? localStorage.getItem('aili_lang') == 'zh' : true;
  const mapContainerRef = React.useRef(null);
  const mapRef = React.useRef(null);
  const [yuyan, $yuyan] = React.useState(localStorage.getItem('aili_lang')||'zh');
  const [center, setCenter] = React.useState({ longitude: 116.404, latitude: 39.915 });
  const [slideList, $slideList] = React.useState([]);
  // footer 
  const [linkes, $linkes] = React.useState([]);
  const [inquiry, $inquiry] = React.useState({});
  const [products, $products] = React.useState([]);

  const [load, $load] = React.useState(false);
  const [isLargeScreen, $isLargeScreen] = React.useState(window.innerWidth > 1024);

  const t = (key) => {
    const langData = i18n[lang ? 'zh' : 'en'];
    return langData[key] || key;
  };

  React.useEffect(() => {
    
    ALanimation();

     // window.GetMenuInfo(new URLSearchParams({ siteId: lang ? 1 : 2, menuAlias: lang ? 'goumaizixun' : 'goumaizixunen' }));

    getSlideList()
    getFooter()

    var form = document.getElementById('messageForm');
    if (!form) { return; }
    var feedback = document.getElementById('msgFeedback');
    form.addEventListener('submit', function (e) {
      e.preventDefault();
      var name = (document.getElementById('msgName').value || '').trim();
      var phone = (document.getElementById('msgPhone').value || '').trim();
      var email = (document.getElementById('msgEmail').value || '').trim();
      var content = (document.getElementById('msgContent').value || '').trim();

      if (!name || !phone || !content) {
        message.error(t('请填写姓名、联系电话和留言内容'))
        return;
      }
      if (!/^[一-龥a-zA-Z·\s]{2,20}$/.test(name)) {
        message.error(t('姓名格式不正确（2–20 个中文或英文字符）'))
        return;
      }
      if (!/^1[3-9]\d{9}$/.test(phone)) {
        message.error(t('请输入正确的 11 位手机号码'))
        return;
      }
      if (email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
        message.error(t('邮箱格式不正确，请检查后重试'))
        return;
      }
      if (content.length > 500) {
        message.error(t('留言内容过长（最多 500 字）'))
        return;
      }
      $load(true);
      getJSON(`${API_BASE}/api/v1/Systen.WebApi/FeedbackApi/AddFeedback`, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          RealName: name,
          Tel: phone,
          Email: email,
          Content: content,
          MenuAlias: 'message'
        })
      }).then(res => {
        $load(false);
        if (res.StatusCode == 1) {
          message.success(res.Message || 'ok')
          form.reset();
        }
      })
    });

    const handleResize = () => {
      $isLargeScreen(window.innerWidth > 1024);
    };

    window.addEventListener('resize', handleResize);
    
    // 清理事件监听
    return () => window.removeEventListener('resize', handleResize);
  }, []);

  React.useEffect(() => {
    if (slideList.length) {
      const swiper = new Swiper('.swiper', {
      loop: true,               // 循环模式
      autoplay: {
        delay: 3000,          // 3秒切换一次
        disableOnInteraction: false,
      },
      pagination: {
        el: '.swiper-pagination',
        clickable: true,
      },
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
    });
    }
  }, [slideList])

    // 初始化地图
  React.useEffect(() => {
    // 确保高德地图 API 已加载
    if (typeof AMap === 'undefined') {
      console.warn('高德地图 API 未加载');
      return;
    }

    // 确保容器存在
    if (!mapContainerRef.current) return;

    // 如果地图已存在，先销毁
    if (mapRef.current) {
      mapRef.current.destroy();
      mapRef.current = null;
    }

    // 公司坐标（默认重庆高新区金凤镇）
    const lng = 106.29;
    const lat = 29.51;

    // 创建地图实例
    const map = new AMap.Map(mapContainerRef.current, {
      zoom: 16,
      center: [lng, lat],
      viewMode: '2D',
      mapStyle: 'amap://styles/whitesmoke',
    });

    mapRef.current = map;

    // 添加控件
    AMap.plugin(['AMap.ToolBar', 'AMap.Scale'], function() {
      map.addControl(new AMap.ToolBar({ position: 'RT' }));
      map.addControl(new AMap.Scale());
    });

    // 添加标记
    const marker = new AMap.Marker({
      position: [lng, lat],
      title: '艾丽公司',
      animation: 'AMAP_ANIMATION_DROP',
    });
    map.add(marker);

    // 信息窗口
    const infoWindow = new AMap.InfoWindow({
      content: '<div style="padding:8px 12px;"><strong>植恩生物技术股份有限公司</strong><br/>重庆市高新区金凤镇新州大道5号1-5幢</div>',
      offset: new AMap.Pixel(0, -30),
    });

    marker.on('click', function() {
      infoWindow.open(map, marker.getPosition());
    });

    // 自动打开信息窗口
    setTimeout(() => {
      infoWindow.open(map, marker.getPosition());
    }, 500);

    // 如果有地址，尝试解析
    if (inquiry.Address && inquiry.Address !== '重庆市高新区金凤镇新州大道5号1-5幢') {
      geocodeAddress(inquiry.Address, map, marker);
    }

    // 清理函数
    return () => {
      if (mapRef.current) {
        mapRef.current.destroy();
        mapRef.current = null;
      }
    };
  }, [inquiry.Address]);

  // 地址解析函数
  const geocodeAddress = (address, map, marker) => {
    if (typeof AMap === 'undefined') return;
    
    const geocoder = new AMap.Geocoder({
      city: '500000',
      radius: 1000,
    });

    geocoder.getLocation(address, function(status, result) {
      if (status === 'complete' && result.geocodes && result.geocodes.length > 0) {
        const location = result.geocodes[0].location;
        const lng = location.getLng();
        const lat = location.getLat();
        if (map) {
          map.setCenter([lng, lat]);
        }
        if (marker) {
          marker.setPosition([lng, lat]);
        }
      }
    });
  };

  const getSlideList = async () => {
    const obj = new URLSearchParams({ siteId: lang ? 1 : 2, count: 999, slideAlias: 'goumaizixun' });
    const res = await getJSON(`${API_BASE}/api/v1/Systen.WebApi/SlideListApi/GetSlideList?${obj}`);
    if (res.StatusCode == 1) {
      $slideList(res.Result || []);
    }
  }

  const getFooter = () => {
    getJSON(`${API_BASE}/api/v1/Systen.WebApi/PictureArticleApi/GetPictureArticleList?${new URLSearchParams({ pageNumber: 1, pageSize: 10, menuAlias: lang ? 'product' : 'producten', contentType: 'hot' }
    )}`).then(res => $products(res?.Result?.DataList || []));
    getJSON(`${API_BASE}/api/v1/Systen.WebApi/MenuApi/GetMenuList?${new URLSearchParams({ siteAlias: lang ? 'cn' : 'en', menuGroupName: 'foot' }
    )}`).then(res => $linkes(res?.Result || []));
    getJSON(`${API_BASE}/api/v1/Systen.WebApi/WebSiteApi/GetSiteByAlias?${new URLSearchParams({ alias: lang ? 'cn' : 'en' }
    )}`).then(res => {
      const inquiry = res?.Result || {};
      if (!inquiry.Address) inquiry.Address = '重庆市高新区金凤镇新州大道5号1-5幢';
      $inquiry(inquiry);
    });
  }


  return (
    <div className="app">
      {/* 导航栏 */}
      <nav class="navbar" id="navbar">
        <div class="nav-container">
          <a href="/" class="nav-logo">
            <img src="/Theme/prototype/images/logo.png" alt={t('艾丽')} />
          </a>
          <button class="nav-toggle" id="navToggle" type="button" aria-label={t('打开菜单')} aria-expanded="false">
            <span></span><span></span><span></span>
          </button>
          <ul class="nav-menu">
            <li><a href="/">{t('首页')}</a></li>
            <li><a href="/About/">{t('关于艾丽')}</a></li>
            {/* <li><a href="/cysl/">{t('产研实力')}</a></li> */}
            <li><a href="/product/">{t('产品中心')}</a></li>
            <li><a href="/shuziliaofa/">{t('数字疗法')}</a></li>
            <li><a href="/jkkp/">{t('健康科普')}</a></li>
            <li><a href="/dynamic/">{t('公司动态')}</a></li>
            <li><a href="/goumaizixun/" class="active">{t('购买咨询')}</a></li>
            <li class="lang-switch">
              <button type="button" class={`lang-btn ${yuyan == 'zh' ? 'active' : ''}`} onClick={() => {
                if (yuyan == 'zh') return;
                window.location.href = '/';
                $yuyan('zh');
                localStorage.setItem('aili_lang', 'zh');
              }}>{t('中文')}</button>
              <button type="button" class={`lang-btn ${yuyan == 'en' ? 'active' : ''}`} onClick={() => {
                if (yuyan == 'en') return;
                window.location.href = '/en/';
                $yuyan('en');
                localStorage.setItem('aili_lang', 'en');
              }}>EN</button>
            </li>
          </ul>
        </div>
      </nav>

      {/* Hero Banner */}
      <div class="swiper page-hero">
        <div class="swiper-wrapper">
          {slideList.map(v => (
            <div class="swiper-slide" key={v.Id}>
              <section class="page-hero" id="hero-about" style={{ backgroundImage: `linear-gradient(160deg, rgba(225, 247, 244, 0.8) 0%, rgba(168, 230, 224, 0.8) 100%),url("${FILE_URL}${v.ImagePath}")` }}>
                <div class="container">
                  <div class="breadcrumb">
                    <a href="/">{t('首页')}</a> &gt; <span>{v.Title}</span>
                  </div>
                  <h1>{v.Title}</h1>
                  <p class="page-hero-subtitle">{v.Note}</p>
                </div>
              </section>
            </div>
          ))}
        </div>
      </div>

      {/* <div class="qt">
        <div class="qtItem">
          <div class="qti qtImg1"></div>
          <div class="qtContent">
            <img className="qtcImg" src={FILE_URL + inquiry?.QRCodeThree} alt="" />
            <div className="qtline" />
            <div class="qtlabel">
              <img class="qtlamg" src="../images/qw.png" alt="" />
              <span>{t('企业微信')}</span>
            </div>
          </div>
        </div>
        <div class="qtItem">
          <div class="qti qtImg2"></div>
          <div class="qtContent">
            <div class="qtlabel">
              <img class="qtlamg" src="../images/gudingdianhua.png" alt="" />
              <span>{t('固定电话')}</span>
            </div>
            <div className="qtline" />
            <p style={{margin: 0, textAlign: 'center'}}>023-68889003</p>
          </div>
        </div>
        <div class="qtItem">
          <div class="qti qtImg3"></div>
          <div class="qtContent">
            <div class="qtlabel">
              <img class="qtlamg" src="../images/shouji.png" alt="" />
              <span>{t('移动电话')}</span>
            </div>
            <div className="qtline" />
            <p style={{margin: 0, textAlign: 'center'}}>023-68889003</p>
          </div>
        </div>
        <div class="qtItem">
          <div class="qti qtImg4"></div>
          <div class="qtContent">
            <div class="qtlabel">
              <img class="qtlamg" src="../images/xingxi.png" alt="" />
              <span>{t('在线咨询')}</span>
            </div>
          </div>
        </div>
      </div> */}

      {/* 线上官方购买渠道 */}
      <section class="channel-section">
        <div class="container">
          <div class="section-header reveal">
            <div class="section-label">{t('PURCHASE')}</div>
            <h2 class="section-title">{t('线上官方购买渠道')}</h2>
            <p class="section-subtitle">{t('正品保障，官方授权，多平台便捷购买')}</p>
          </div>
          <div class="channel-cards">
            <a href="#" class="channel-card">
              <div class="channel-logo tmall">
                {/* <svg viewBox="0 0 64 64" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="round" stroke-linecap="round" aria-hidden="true">
                  <path d="M16 24 L10 10 L26 20" />
                  <path d="M48 24 L54 10 L38 20" />
                  <path d="M14 30 Q14 50 32 52 Q50 50 50 30 Q50 18 32 18 Q14 18 14 30 Z" />
                  <circle cx="25" cy="34" r="2.4" fill="currentColor" stroke="none" />
                  <circle cx="39" cy="34" r="2.4" fill="currentColor" stroke="none" />
                  <path d="M32 40 L29 43 L35 43 Z" fill="currentColor" stroke="none" />
                  <path d="M18 40 L6 38 M18 44 L6 46 M46 40 L58 38 M46 44 L58 46" />
                </svg> */}
                <img style={{width: 40}} src="/Theme/prototype/images/tm.png" alt="" />
              </div>
              <h3>{t('天猫')}</h3>
              <p class="channel-name">{t('艾丽官方旗舰店')}</p>
              <div class="channel-tag">{t('官方直营 · 正品保障')}</div>
              {/*<div class="qr-box">
                <img src="/Theme/prototype/images/taobaocode.png" style={{ width: '100%', height: '100%' }} alt="" />
              </div>
			  */}
            </a>
            <a href="#" class="channel-card">
              <div class="channel-logo jd">
                {/* <svg viewBox="0 0 64 64" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="round" stroke-linecap="round" aria-hidden="true">
                  <path d="M15 26 Q8 42 17 51 Q23 45 20 30 Z" />
                  <path d="M49 26 Q56 42 47 51 Q41 45 44 30 Z" />
                  <path d="M16 32 Q16 52 32 54 Q48 52 48 32 Q48 20 32 20 Q16 20 16 32 Z" />
                  <circle cx="25" cy="34" r="2.4" fill="currentColor" stroke="none" />
                  <circle cx="39" cy="34" r="2.4" fill="currentColor" stroke="none" />
                  <ellipse cx="32" cy="44" rx="4" ry="3" fill="currentColor" stroke="none" />
                  <path d="M32 47 L32 51 M32 51 Q28 54 24 52 M32 51 Q36 54 40 52" />
                </svg> */}
                <img style={{width: 40}} src="/Theme/prototype/images/jd.png" alt="" />
              </div>
              <h3>{t('京东')}</h3>
              <p class="channel-name">{t('艾丽旗舰店')}</p>
              <div class="channel-tag">{t('极速配送 · 售后无忧')}</div>
              {/*<div class="qr-box">
                <img src="/Theme/prototype/images/jdcode.png" style={{ width: '100%', height: '100%' }} alt="" />
              </div>
			  */}
            </a>
          </div>
          <p class="channel-warning">
            <i class="fas fa-exclamation-triangle"></i>
            <span>{t('线上购买请认准各大平台旗舰店，谨防假冒伪劣产品')}</span>
          </p>
        </div>
      </section>

      {/* 联系我们 */}
      <section class="contact-info-section">
        <div class="container">
          <div class="section-header reveal">
            <div class="section-label">{t('CONTACT')}</div>
            <h2 class="section-title">{t('联系我们')}</h2>
            <p class="section-subtitle">{t('专业团队，为您提供及时响应与贴心服务')}</p>
          </div>
          <div class="contact-info-grid">
            <div class="contact-map-wrap">
              <div class="contact-map-placeholder">
                {/* <div class="map-pin"><i class="fas fa-map-marker-alt"></i></div>
                <p>{t('公司位置地图')}</p>
                <span>{t('重庆市高新区金凤镇新州大道')}</span> */}

                <div className="contact-map-wrap">
                  <div
                    ref={mapContainerRef}
                    style={{ width: '100%', height: isLargeScreen ? 400 : 300, borderRadius: '12px', overflow: 'hidden' }}
                  ></div>
                </div>
              </div>
            </div>

            <div class="contact-details">
              <div class="contact-detail-item">
                <div class="contact-detail-icon"><i class="fas fa-phone-alt"></i></div>
                <div class="contact-detail-text">
                  <strong>{t('咨询电话')}</strong>
                  <span>{inquiry.Tel}</span>
                </div>
              </div>
              <div class="contact-detail-item">
                <div class="contact-detail-icon"><i class="fas fa-envelope"></i></div>
                <div class="contact-detail-text">
                  <strong>{t('电子邮箱')}</strong>
                  <span>{inquiry.Email}</span>
                </div>
              </div>
              <div class="contact-detail-item">
                <div class="contact-detail-icon"><i class="fas fa-map-marker-alt"></i></div>
                <div class="contact-detail-text">
                  <strong>{t('公司地址')}</strong>
                  <span>{t(inquiry.Address)}</span>
                </div>
              </div>

              <div class="contact-qrcodes">
                <div class="contact-qrcode-item">
                  <div class="contact-qr-img">
                    <img src={FILE_URL + inquiry.QRCode} alt="" />
                  </div>
                  <span>{t('微信公众号')}</span>
                </div>
                <div class="contact-qrcode-item">
                  <div class="contact-qr-img">
                    <img src={FILE_URL + inquiry.QRCodeOne} alt="" />
                  </div>
                  <span>{t('微信视频号')}</span>
                </div>
                <div class="contact-qrcode-item">
                  <div class="contact-qr-img">
                    <img src={FILE_URL + inquiry.QRCodeTwo} alt="" />
                  </div>
                  <span>{t('新浪微博')}</span>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>

      {/* 在线留言 */}
      <section class="message-section">
        <div class="container">
          <div class="section-header reveal">
            <div class="section-label">{t('MESSAGE')}</div>
            <h2 class="section-title">{t('在线留言')}</h2>
            <p class="section-subtitle">{t('欢迎留言，我们将尽快回复您')}</p>
          </div>
          <div class="message-form-wrapper">
            <Spin spinning={load}>
              <form id="messageForm" novalidate>
                <div class="form-row-2col">
                  <div class="form-group">
                    <label>{t('您的姓名')} <span class="required">*</span></label>
                    <input type="text" id="msgName" name="name" maxlength="20" placeholder={t('请输入您的姓名')} />
                  </div>
                  <div class="form-group">
                    <label>{t('联系电话')} <span class="required">*</span></label>
                    <input type="tel" id="msgPhone" name="phone" maxlength="11" placeholder={t('请输入您的手机号')} />
                  </div>
                </div>
                <div class="form-group">
                  <label>{t('电子邮箱')}</label>
                  <input type="email" id="msgEmail" name="email" maxlength="80" placeholder={t('请输入您的邮箱（选填）')} />
                </div>
                <div class="form-group">
                  <label>{t('留言内容')} <span class="required">*</span></label>
                  <textarea id="msgContent" name="content" maxlength="500" placeholder={t('请描述您的需求或问题，我们将尽快回复您...（最多 500 字）')}></textarea>
                </div>
                <button type="submit" class="form-submit">{t('提交留言')}</button>
                <p class="form-note">{t('您的信息仅用于沟通回复，不会对外公开')}</p>
                <p class="form-feedback" id="msgFeedback" hidden></p>
              </form>
            </Spin>
          </div>
        </div>
      </section>

      {/* Footer */}
      <footer class="footer">
        <div class="container">
          <div class="footer-grid">
            <div class="footer-brand">
              <div class="footer-logo">
                <img src="/Theme/prototype/images/logo.png" alt={t('艾丽')} />
              </div>
              <p class="footer-brand-text">{t('植恩生物旗下女性健康管理品牌，围绕体重管理、营养补充、私密健康、情绪与睡眠等领域，为女性提供科学、安心的产品与服务。')}</p>
            </div>

            <div class="footer-links-section">
              <h4 class="footer-title">{t('相关产品')}</h4>
              <ul class="footer-links">
                {products.map(v => (
                  <li key={v.Id}><a href={`/product/cpxq/?id=${v.Id}`}>{v.Title}</a></li>
                ))}
              </ul>
            </div>

            <div class="footer-links-section">
              <h4 class="footer-title">{t('相关链接')}</h4>
              <ul class="footer-links">
                {linkes.map(v => (
                  <li key={v.Id}><a href={v.LinkUrl}>{v.Name}</a></li>
                ))}
              </ul>
            </div>

            <div class="footer-contact-section">
              <h4 class="footer-title">{t('联系我们')}</h4>
              <div class="footer-contact-item">
                <i class="fas fa-phone footer-contact-icon"></i>
                <span>{inquiry.Tel}</span>
              </div>
              <div class="footer-contact-item">
                <i class="fas fa-envelope footer-contact-icon"></i>
                <span>{inquiry.Email}</span>
              </div>
              <div class="footer-contact-item">
                <i class="fas fa-map-marker-alt footer-contact-icon"></i>
                <span>{t(inquiry.Address)}</span>
              </div>
            </div>

            <div class="footer-qrcode-section">
              <h4 class="footer-title">{t('关注我们')}</h4>
              <div class="footer-qrcodes">
                <div class="footer-qrcode-item">
                  <div style={{ width: 100, height: 100, background: '#fff', borderRadius: 'var(--radius-md)', padding: 5, marginBottom: '0.5rem', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
                    <img style={{ width: '100%', height: '100%' }} src={FILE_URL + inquiry.QRCode} alt="" />
                  </div>
                  <span class="footer-qrcode-label">{t('微信公众号')}</span>
                </div>
                <div class="footer-qrcode-item">
                  <div style={{ width: '100px', height: '100px', background: '#fff', borderRadius: 'var(--radius-md)', padding: 5, marginBottom: '0.5rem', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
                    <img style={{ width: '100%', height: '100%' }} src={FILE_URL + inquiry.QRCodeOne} alt="" />
                  </div>
                  <span class="footer-qrcode-label">{t('微信视频号')}</span>
                </div>
              </div>
            </div>
          </div>

          <div dangerouslySetInnerHTML={{__html: inquiry.Copyright}}></div>
        </div>
      </footer>
    </div>
  );
}

ReactDOM.createRoot(document.getElementById('root')).render(<App />);