peijunlei 2 weeks ago
parent
commit
8f04247b6c
  1. BIN
      public/themes/dist_static/static/assets/about-1hlZrO-H.mp4
  2. BIN
      public/themes/dist_static/static/assets/banner-BKfbidi-.mp4
  3. BIN
      public/themes/dist_static/static/assets/section-2-1-MEsYcAL_.mp4
  4. BIN
      public/themes/dist_static/static/assets/section-2-2-VFHwnpi3.mp4
  5. BIN
      public/themes/dist_static/static/assets/section-2-3-D15Ewnv2.mp4
  6. BIN
      public/themes/dist_static/static/assets/section-2-4-CaD6k-5h.mp4
  7. BIN
      public/themes/dist_static/static/assets/section-2-5-BYEdx4uK.mp4
  8. BIN
      public/themes/dist_static/static/assets/section-2-6-DS25huj5.mp4
  9. 664
      public/themes/website/1/en/demo/about.html
  10. 262
      public/themes/website/1/en/demo/announce.html
  11. 454
      public/themes/website/1/en/demo/category.html
  12. 16
      public/themes/website/1/en/demo/components/empty.html
  13. 118
      public/themes/website/1/en/demo/components/footer.html
  14. 1160
      public/themes/website/1/en/demo/components/header.html
  15. 402
      public/themes/website/1/en/demo/components/mask.html
  16. 504
      public/themes/website/1/en/demo/contact.html
  17. 296
      public/themes/website/1/en/demo/download.html
  18. 252
      public/themes/website/1/en/demo/faq.html
  19. 558
      public/themes/website/1/en/demo/investment.html
  20. 436
      public/themes/website/1/en/demo/news-detail.html
  21. 476
      public/themes/website/1/en/demo/news.html
  22. 964
      public/themes/website/1/en/demo/product.html
  23. 384
      public/themes/website/1/en/demo/search.html
  24. 1926
      public/themes/website/1/en/demo/single_index.html
  25. 592
      public/themes/website/1/en/demo/single_search.html
  26. 518
      public/themes/website/1/en/demo/solution.html
  27. 558
      public/themes/website/1/en/demo/solution2.html
  28. 292
      public/themes/website/1/en/demo/video.html

BIN
public/themes/dist_static/static/assets/about-1hlZrO-H.mp4

BIN
public/themes/dist_static/static/assets/banner-BKfbidi-.mp4

BIN
public/themes/dist_static/static/assets/section-2-1-MEsYcAL_.mp4

BIN
public/themes/dist_static/static/assets/section-2-2-VFHwnpi3.mp4

BIN
public/themes/dist_static/static/assets/section-2-3-D15Ewnv2.mp4

BIN
public/themes/dist_static/static/assets/section-2-4-CaD6k-5h.mp4

BIN
public/themes/dist_static/static/assets/section-2-5-BYEdx4uK.mp4

BIN
public/themes/dist_static/static/assets/section-2-6-DS25huj5.mp4

664
public/themes/website/1/en/demo/about.html

@ -1,333 +1,333 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>关于我们 - 睿能科技</title>
<meta name="keywords" content="关于睿能,公司简介,发展历程,企业文化,全球布局,睿能科技">
<meta name="description" content="国内领先的工业自动化控制产品及解决方案供应商。了解睿能科技公司简介、发展历程、企业文化与全球布局。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/about.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/earth.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/about.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-about" data-nav="{$current_cate.title}">
<section class="ab-hero">
<div class="ab-hero__title section__wrap" data-header-dark>
<h1>
<span>{$current_cate.content|raw}</span>
</h1>
</div>
<div class="ab-hero__media" aria-hidden="true">
<video src="{$current_cate.description}" muted autoplay loop playsinline width="1920" height="720"></video>
</div>
</section>
{hcTaglib:category id="372" item="vo" field="*"}
<section class="ab-intro section__wrap" id="intro" data-header-dark>
<h2 class="ab-intro__title">{$vo.title}</h2>
<div class="ab-intro__body">
<div class="ab-intro__texts">
<p>{:nl2br($vo.description)}</p>
</div>
{php}
$stats_raw = explode(',', $vo['desc']);
$stats_list = [];
foreach ($stats_raw as $item) {
$parts = explode(';', $item);
if (count($parts) === 3) {
$stats_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'text' => $parts[2]];
}
}
{/php}
<ul class="ab-intro__stats">
{volist name="stats_list" id="stat"}
<li>
<strong><span class="counter">{$stat.num}</span><span class="ab-intro__stats-unit">{$stat.unit}</span></strong>
<span>{$stat.text}</span>
</li>
{/volist}
</ul>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="373" item="vo" field="*"}
<section class="ab-history" id="history" data-header-dark style="background-image: url({$vo.thumbnail.url ?? ''})">
<div class="ab-history__head section__wrap">
<h2 class="ab-history__title">{$vo.title}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="ab-history__swiper swiper section__wrap">
<div class="swiper-wrapper">
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<article class="swiper-slide ab-history__slide">
<time class="ab-history__year" datetime="2025">{$case_top.sub_title}<span></span></time>
<div class="ab-history__dot" aria-hidden="true"></div>
<h3 class="ab-history__slide-title">{$case_top.title}</h3>
<p class="ab-history__slide-desc">{$case_top.content|strip_tags}</p>
<div class="ab-history__media">
<img src="{$case_top.thumbnail.url ?? ''}" alt="" width="400" height="260" loading="lazy" />
</div>
</article>
{/hcTaglib:content}
</div>
</div>
<div class="ab-history__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="374" item="vo" field="*"}
<section class="ab-culture" id="culture">
<div class="ab-culture__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
</div>
<div class="ab-culture__inner section__wrap">
<h2 class="ab-culture__title">{$vo.title}</h2>
{php}
$culture_raw = explode('#', $vo['description']);
$culture_list = [];
foreach ($culture_raw as $item) {
$parts = explode(';', $item);
if (count($parts) === 3) {
$culture_list[] = ['zh' => $parts[0], 'en' => $parts[1], 'text' => $parts[2]];
}
}
{/php}
<div class="ab-culture__list">
{volist name="culture_list" id="culture"}
<div class="ab-culture__item">
<div class="ab-culture__label">
<span class="ab-culture__label-zh">{$culture.zh}</span>
<span class="ab-culture__label-en">{$culture.en}</span>
</div>
<p class="ab-culture__text">{$culture.text|raw}</p>
</div>
{/volist}
</div>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="375" item="vo" field="*"}
<section class="ab-global section__wrap" id="global" data-header-dark>
<h2 class="ab-global__title">{$vo.title}</h2>
{php}
$global_raw = explode(',', $vo['description']);
$global_list = [];
foreach ($global_raw as $item) {
$parts = explode(';', $item, 3);
if (count($parts) >= 2) {
$desc = isset($parts[2]) ? str_replace(';', '<br>', $parts[2]) : '';
$global_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'desc' => $desc];
}
}
$global_left = array_slice($global_list, 0, 3);
$global_right = array_slice($global_list, 3);
{/php}
<div class="ab-global__layout">
<ul class="ab-global__side ab-global__side--left">
{volist name="global_left" id="item"}
<li>
<strong><span class="counter">{$item.num}</span><span>{$item.unit}</span></strong>
{if $item.desc}<span class="ab-global__side-desc">{$item.desc|raw}</span>{/if}
</li>
{/volist}
</ul>
<div class="ab-global__visual">
<canvas id="earth-canvas" class="ab-global__earth"></canvas>
</div>
<ul class="ab-global__side ab-global__side--right">
{volist name="global_right" id="item"}
<li>
<strong><span class="counter">{$item.num}</span><span>{$item.unit}</span></strong>
{if $item.desc}<span class="ab-global__side-desc">{$item.desc|raw}</span>{/if}
</li>
{/volist}
</ul>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="376" item="vo" field="*"}
<section class="ab-members" id="members">
<div class="ab-members__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
</div>
<div class="ab-members__inner section__wrap">
<h2 class="ab-members__title">{$vo.title}</h2>
<div class="ab-members__card">
<div class="ab-members__panels tab-content">
{php}$member_idx = 0;{/php}
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,url,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<div class="ab-members__panel tab-pane fade {if $member_idx == 0}show active{/if}" id="ab-member-panel-{$case_top.id}" role="tabpanel" aria-labelledby="ab-member-tab-{$case_top.id}" tabindex="{$case_top.id}">
<div class="ab-members__content">
<div>
<h3 class="ab-members__name">{$case_top.title}</h3>
<p class="ab-members__desc">
{$case_top.content|strip_tags}
</p>
</div>
<a target="_blank" class="s-btn s-btn--outline s-btn--pill ab-members__more" href="{$case_top.url ?? '#'}">探索更多</a>
</div>
</div>
{php}$member_idx++;{/php}
{/hcTaglib:content}
</div>
<div class="ab-members__logos nav" role="tablist" aria-label="集团成员">
{php}$member_idx = 0;{/php}
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<button type="button" class="ab-members__logo nav-link {if $member_idx == 0}active{/if}" id="ab-member-tab-{$case_top.id}"
data-bs-toggle="tab" data-bs-target="#ab-member-panel-{$case_top.id}"
role="tab" aria-controls="ab-member-panel-{$case_top.id}" aria-selected="{if $member_idx == 0}true{else}false{/if}">
<img src="{$case_top.thumbnail.url ?? ''}" alt="{$case_top.title}" width="160" height="60" />
</button>
{php}$member_idx++;{/php}
{/hcTaglib:content}
</div>
</div>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="377" item="vo" field="*"}
<section class="ab-honors section__wrap" id="honors" data-header-dark>
<div class="ab-honors__head">
<h2 class="ab-honors__title">{$vo.title}</h2>
<p class="ab-honors__desc">{$vo.description}</p>
</div>
<div class="ab-honors__body">
<ul class="ab-honors__list">
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,url,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<li class="ab-honors__item">
<span class="ab-honors__name">{$case_top.title}</span>
<a class="ab-honors__view" href="javascript:;">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none">
<g id="eye">
<path d="M12.0019 15.5799C10.0219 15.5799 8.42188 13.9799 8.42188 11.9999C8.42188 10.0199 10.0219 8.41992 12.0019 8.41992C13.9819 8.41992 15.5819 10.0199 15.5819 11.9999C15.5819 13.9799 13.9819 15.5799 12.0019 15.5799Z" fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" />
<path d="M21.1098 14.5907C22.0098 13.1807 22.0098 10.8107 21.1098 9.4007C18.8198 5.8007 15.5298 3.7207 11.9998 3.7207C8.46984 3.7207 5.17984 5.8007 2.88984 9.4007C1.98984 10.8107 1.98984 13.1807 2.88984 14.5907C5.17984 18.1907 8.46984 20.2707 11.9998 20.2707C15.5298 20.2707 18.8198 18.1907 21.1098 14.5907Z" fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" />
</g>
</svg>
<span>查看证书</span>
<span class="ab-honors__pop" aria-hidden="true">
<img class="ab-honors__cert-img" src="{$case_top.thumbnail.url ?? ''}" alt="荣誉证书" />
</span>
</a>
</li>
{/hcTaglib:content}
</ul>
<button type="button" class="ab-honors__more">
<span>展开更多</span>
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2011.2728%206.90918'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='11.272827'%20height='6.909180'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='矢量%202'%20d='M0.636353%200.636272L5.63635%205.63627L10.6364%200.63623'%20stroke='rgb(102,102,102)'%20stroke-width='1.800000'%20/%3e%3c/svg%3e" alt="" width="12" height="6" />
</button>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="378" item="vo" field="*"}
<section class="ab-csr" id="csr">
<div class="ab-csr__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
<div class="ab-csr__inner section__wrap">
<h2 class="ab-csr__title">{$vo.title}</h2>
<div class="ab-csr__content">
<p class="ab-csr__desc">
{$vo.description}
</p>
<a class="s-btn s-btn--light s-btn--pill" href="/download.html?cid=691">社会责任报告</a>
</div>
</div>
</section>
{/hcTaglib:category}
</main>
{include file="components/mask"}
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
<script src="/themes/dist_static/js/lib/three-r128.min.js"></script>
<script src="/themes/dist_static/js/lib/three-128-orbitControls.js"></script>
</body>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>关于我们 - 睿能科技</title>
<meta name="keywords" content="关于睿能,公司简介,发展历程,企业文化,全球布局,睿能科技">
<meta name="description" content="国内领先的工业自动化控制产品及解决方案供应商。了解睿能科技公司简介、发展历程、企业文化与全球布局。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/about.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/earth.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/about.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-about" data-nav="{$current_cate.title}">
<section class="ab-hero">
<div class="ab-hero__title section__wrap" data-header-dark>
<h1>
<span>{$current_cate.content|raw}</span>
</h1>
</div>
<div class="ab-hero__media" aria-hidden="true">
<video src="{$current_cate.description}" muted autoplay loop playsinline width="1920" height="720"></video>
</div>
</section>
{hcTaglib:category id="372" item="vo" field="*"}
<section class="ab-intro section__wrap" id="intro" data-header-dark>
<h2 class="ab-intro__title">{$vo.title}</h2>
<div class="ab-intro__body">
<div class="ab-intro__texts">
<p>{:nl2br($vo.description)}</p>
</div>
{php}
$stats_raw = explode(',', $vo['desc']);
$stats_list = [];
foreach ($stats_raw as $item) {
$parts = explode(';', $item);
if (count($parts) === 3) {
$stats_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'text' => $parts[2]];
}
}
{/php}
<ul class="ab-intro__stats">
{volist name="stats_list" id="stat"}
<li>
<strong><span class="counter">{$stat.num}</span><span class="ab-intro__stats-unit">{$stat.unit}</span></strong>
<span>{$stat.text}</span>
</li>
{/volist}
</ul>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="373" item="vo" field="*"}
<section class="ab-history" id="history" data-header-dark style="background-image: url({$vo.thumbnail.url ?? ''})">
<div class="ab-history__head section__wrap">
<h2 class="ab-history__title">{$vo.title}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="ab-history__swiper swiper section__wrap">
<div class="swiper-wrapper">
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<article class="swiper-slide ab-history__slide">
<time class="ab-history__year" datetime="2025">{$case_top.sub_title}<span></span></time>
<div class="ab-history__dot" aria-hidden="true"></div>
<h3 class="ab-history__slide-title">{$case_top.title}</h3>
<p class="ab-history__slide-desc">{$case_top.content|strip_tags}</p>
<div class="ab-history__media">
<img src="{$case_top.thumbnail.url ?? ''}" alt="" width="400" height="260" loading="lazy" />
</div>
</article>
{/hcTaglib:content}
</div>
</div>
<div class="ab-history__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="374" item="vo" field="*"}
<section class="ab-culture" id="culture">
<div class="ab-culture__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
</div>
<div class="ab-culture__inner section__wrap">
<h2 class="ab-culture__title">{$vo.title}</h2>
{php}
$culture_raw = explode('#', $vo['description']);
$culture_list = [];
foreach ($culture_raw as $item) {
$parts = explode(';', $item);
if (count($parts) === 3) {
$culture_list[] = ['zh' => $parts[0], 'en' => $parts[1], 'text' => $parts[2]];
}
}
{/php}
<div class="ab-culture__list">
{volist name="culture_list" id="culture"}
<div class="ab-culture__item">
<div class="ab-culture__label">
<span class="ab-culture__label-zh">{$culture.zh}</span>
<span class="ab-culture__label-en">{$culture.en}</span>
</div>
<p class="ab-culture__text">{$culture.text|raw}</p>
</div>
{/volist}
</div>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="375" item="vo" field="*"}
<section class="ab-global section__wrap" id="global" data-header-dark>
<h2 class="ab-global__title">{$vo.title}</h2>
{php}
$global_raw = explode(',', $vo['description']);
$global_list = [];
foreach ($global_raw as $item) {
$parts = explode(';', $item, 3);
if (count($parts) >= 2) {
$desc = isset($parts[2]) ? str_replace(';', '<br>', $parts[2]) : '';
$global_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'desc' => $desc];
}
}
$global_left = array_slice($global_list, 0, 3);
$global_right = array_slice($global_list, 3);
{/php}
<div class="ab-global__layout">
<ul class="ab-global__side ab-global__side--left">
{volist name="global_left" id="item"}
<li>
<strong><span class="counter">{$item.num}</span><span>{$item.unit}</span></strong>
{if $item.desc}<span class="ab-global__side-desc">{$item.desc|raw}</span>{/if}
</li>
{/volist}
</ul>
<div class="ab-global__visual">
<canvas id="earth-canvas" class="ab-global__earth"></canvas>
</div>
<ul class="ab-global__side ab-global__side--right">
{volist name="global_right" id="item"}
<li>
<strong><span class="counter">{$item.num}</span><span>{$item.unit}</span></strong>
{if $item.desc}<span class="ab-global__side-desc">{$item.desc|raw}</span>{/if}
</li>
{/volist}
</ul>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="376" item="vo" field="*"}
<section class="ab-members" id="members">
<div class="ab-members__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="900" />
</div>
<div class="ab-members__inner section__wrap">
<h2 class="ab-members__title">{$vo.title}</h2>
<div class="ab-members__card">
<div class="ab-members__panels tab-content">
{php}$member_idx = 0;{/php}
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,url,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<div class="ab-members__panel tab-pane fade {if $member_idx == 0}show active{/if}" id="ab-member-panel-{$case_top.id}" role="tabpanel" aria-labelledby="ab-member-tab-{$case_top.id}" tabindex="{$case_top.id}">
<div class="ab-members__content">
<div>
<h3 class="ab-members__name">{$case_top.title}</h3>
<p class="ab-members__desc">
{$case_top.content|strip_tags}
</p>
</div>
<a target="_blank" class="s-btn s-btn--outline s-btn--pill ab-members__more" href="{$case_top.url ?? '#'}">探索更多</a>
</div>
</div>
{php}$member_idx++;{/php}
{/hcTaglib:content}
</div>
<div class="ab-members__logos nav" role="tablist" aria-label="集团成员">
{php}$member_idx = 0;{/php}
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<button type="button" class="ab-members__logo nav-link {if $member_idx == 0}active{/if}" id="ab-member-tab-{$case_top.id}"
data-bs-toggle="tab" data-bs-target="#ab-member-panel-{$case_top.id}"
role="tab" aria-controls="ab-member-panel-{$case_top.id}" aria-selected="{if $member_idx == 0}true{else}false{/if}">
<img src="{$case_top.thumbnail.url ?? ''}" alt="{$case_top.title}" width="160" height="60" />
</button>
{php}$member_idx++;{/php}
{/hcTaglib:content}
</div>
</div>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="377" item="vo" field="*"}
<section class="ab-honors section__wrap" id="honors" data-header-dark>
<div class="ab-honors__head">
<h2 class="ab-honors__title">{$vo.title}</h2>
<p class="ab-honors__desc">{$vo.description}</p>
</div>
<div class="ab-honors__body">
<ul class="ab-honors__list">
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,url,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<li class="ab-honors__item">
<span class="ab-honors__name">{$case_top.title}</span>
<a class="ab-honors__view" href="javascript:;">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none">
<g id="eye">
<path d="M12.0019 15.5799C10.0219 15.5799 8.42188 13.9799 8.42188 11.9999C8.42188 10.0199 10.0219 8.41992 12.0019 8.41992C13.9819 8.41992 15.5819 10.0199 15.5819 11.9999C15.5819 13.9799 13.9819 15.5799 12.0019 15.5799Z" fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" />
<path d="M21.1098 14.5907C22.0098 13.1807 22.0098 10.8107 21.1098 9.4007C18.8198 5.8007 15.5298 3.7207 11.9998 3.7207C8.46984 3.7207 5.17984 5.8007 2.88984 9.4007C1.98984 10.8107 1.98984 13.1807 2.88984 14.5907C5.17984 18.1907 8.46984 20.2707 11.9998 20.2707C15.5298 20.2707 18.8198 18.1907 21.1098 14.5907Z" fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" />
</g>
</svg>
<span>查看证书</span>
<span class="ab-honors__pop" aria-hidden="true">
<img class="ab-honors__cert-img" src="{$case_top.thumbnail.url ?? ''}" alt="荣誉证书" />
</span>
</a>
</li>
{/hcTaglib:content}
</ul>
<button type="button" class="ab-honors__more">
<span>展开更多</span>
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2011.2728%206.90918'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='11.272827'%20height='6.909180'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='矢量%202'%20d='M0.636353%200.636272L5.63635%205.63627L10.6364%200.63623'%20stroke='rgb(102,102,102)'%20stroke-width='1.800000'%20/%3e%3c/svg%3e" alt="" width="12" height="6" />
</button>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="378" item="vo" field="*"}
<section class="ab-csr" id="csr">
<div class="ab-csr__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
<div class="ab-csr__inner section__wrap">
<h2 class="ab-csr__title">{$vo.title}</h2>
<div class="ab-csr__content">
<p class="ab-csr__desc">
{$vo.description}
</p>
<a class="s-btn s-btn--light s-btn--pill" href="/download.html?cid=691">社会责任报告</a>
</div>
</div>
</section>
{/hcTaglib:category}
</main>
{include file="components/mask"}
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
<script src="/themes/dist_static/js/lib/three-r128.min.js"></script>
<script src="/themes/dist_static/js/lib/three-128-orbitControls.js"></script>
</body>
</html>

262
public/themes/website/1/en/demo/announce.html

@ -1,131 +1,131 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>产品公告 - 睿能科技</title>
<meta name="keywords" content="产品公告,停产公告,产品动态,睿能科技">
<meta name="description" content="了解睿能科技产品最新动态,查看产品停产公告及相关通知。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/announce.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/announce.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-announce" data-header-dark data-nav="服务支持">
<div class="a-page section__wrap">
<div class="a-head">
<h1 class="a-head__title">{$current_cate.title}</h1>
<p class="a-head__desc">{$current_cate.description}</p>
</div>
<div class="a-toolbar">
<div class="a-filter__group">
<button type="button" class="a-filter" aria-haspopup="listbox" aria-expanded="false" data-filter-trigger>
<span>按产品筛选</span>
<svg class="a-filter__chevron" viewBox="0 0 11.2728 6.90918" width="11" height="7" fill="none" aria-hidden="true">
<path d="M0.636353 0.636272L5.63635 5.63627L10.6364 0.63623" stroke="currentColor" stroke-width="1.8" />
</svg>
</button>
<div class="a-filter__dropdown" data-filter-dropdown hidden>
<button type="button" class="a-filter__dropdown-item is-active" data-tab="{$current_cate.id}" data-filter-clear>全部</button>
{volist name="sub_cates" id="vo"}
<button type="button" class="a-filter__dropdown-item" data-tab="{$vo.id}">{$vo.title}</button>
{/volist}
</div>
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想搜索公告的关键词" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="a-grid">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="8" item="vo"}
<a class="a-card" href="{$vo.url ?? ''}" target="_blank">
<time class="a-card__date" datetime="{$vo.publish_time}">{$vo.publish_time}</time>
<h2 class="a-card__title">{$vo.title}</h2>
<span class="a-card__link">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</span>
</a>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关公告';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>产品公告 - 睿能科技</title>
<meta name="keywords" content="产品公告,停产公告,产品动态,睿能科技">
<meta name="description" content="了解睿能科技产品最新动态,查看产品停产公告及相关通知。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/announce.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/announce.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-announce" data-header-dark data-nav="服务支持">
<div class="a-page section__wrap">
<div class="a-head">
<h1 class="a-head__title">{$current_cate.title}</h1>
<p class="a-head__desc">{$current_cate.description}</p>
</div>
<div class="a-toolbar">
<div class="a-filter__group">
<button type="button" class="a-filter" aria-haspopup="listbox" aria-expanded="false" data-filter-trigger>
<span>按产品筛选</span>
<svg class="a-filter__chevron" viewBox="0 0 11.2728 6.90918" width="11" height="7" fill="none" aria-hidden="true">
<path d="M0.636353 0.636272L5.63635 5.63627L10.6364 0.63623" stroke="currentColor" stroke-width="1.8" />
</svg>
</button>
<div class="a-filter__dropdown" data-filter-dropdown hidden>
<button type="button" class="a-filter__dropdown-item is-active" data-tab="{$current_cate.id}" data-filter-clear>全部</button>
{volist name="sub_cates" id="vo"}
<button type="button" class="a-filter__dropdown-item" data-tab="{$vo.id}">{$vo.title}</button>
{/volist}
</div>
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想搜索公告的关键词" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="a-grid">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="8" item="vo"}
<a class="a-card" href="{$vo.url ?? ''}" target="_blank">
<time class="a-card__date" datetime="{$vo.publish_time}">{$vo.publish_time}</time>
<h2 class="a-card__title">{$vo.title}</h2>
<span class="a-card__link">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</span>
</a>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关公告';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

454
public/themes/website/1/en/demo/category.html

@ -1,227 +1,227 @@
<!doctype html>
<html lang="zh-CN">
{php}
// var_dump($current_cate);
$current_cate_id = $current_cate['id'] ?? '';
//exit();
{/php}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>工业控制产品 - 睿能科技</title>
<meta name="keywords" content="工业控制,PLC,HMI,物联网,睿能科技" />
<meta name="description" content="睿能科技工业控制产品,涵盖运动控制PLC、过程控制PLC、人机界面HMI与物联网产品。" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement;
// 设计稿宽度
var DESIGN_WIDTH = 1920;
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16;
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14;
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width;
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN;
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE;
h.style.fontSize = size + "px";
}
setRootFontSize();
var resizeRaf = 0;
window.addEventListener("resize", function () {
if (resizeRaf) return;
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0;
setRootFontSize();
});
});
})();
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link
href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="module" crossorigin src="/themes/dist_static/static/js/category.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/category.css" />
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-category" data-header-dark data-nav="产品">
<div class="c-page section__wrap">
<nav class="c-breadcrumb" aria-label="面包屑">
<a class="c-breadcrumb__link" href="/">首页</a>
<span class="c-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
{hcTaglib:category id="333" item="vo" field="*"}
<a class="c-breadcrumb__link" href="{$vo.alias}">{$vo.title}</a>
{/hcTaglib:category}
<span class="c-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
<span class="c-breadcrumb__current" data-breadcrumb-current>工业控制产品</span>
</nav>
<div class="c-layout">
<aside class="c-sidebar" aria-label="产品分类" data-lenis-prevent>
<ul class="c-sidebar__list" data-category-nav>
<!-- 获取所有一级分类 -->
{hcTaglib:subcategory pid="333" item="vo" sort="" key="key_top"}
{php}
$sub_cate_id = $vo['id'];
$need_show_sub_content = (int)($vo['need_show_sub_content'] ?? 0);
{/php}
{hcTaglib:subcategory pid="$sub_cate_id" onlyData="1"}
{/hcTaglib:subcategory}
{php}
$level2_list = $hc_subcategory ?? [];
$has_level2 = !empty($level2_list);
{/php}
<li class="c-sidebar__item {if $key_top==1}is-active{/if}{if !$has_level2} is-leaf{/if}" data-category-item="product-control-{$vo.id}">
<button type="button" class="c-sidebar__trigger" data-category-id="product-control-{$vo.id}" data-category-name="{$vo.title}" aria-expanded="{if $key_top==1}true{else /}false{/if}">
<span>{$vo.title}</span>
{if $has_level2}
<span class="c-sidebar__chevron" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
{/if}
</button>
{if $has_level2}
<ul class="c-sidebar__subs">
{volist name="level2_list" id="vo_sub" key="key_sub"}
<li>
<button type="button" class="c-sidebar__sub" data-category-id="product-control-{$vo.id}" data-sub-id="product-plc-{$vo_sub.id}">{$vo_sub.title}</button>
</li>
{/volist}
</ul>
{/if}
</li>
{/hcTaglib:subcategory}
</ul>
</aside>
<div class="c-main">
{hcTaglib:subcategory pid="333" item="vo" sort="" key="key_top"}
{php}
$sub_cate_id = $vo['id'];
$need_show_sub_content = (int)($vo['need_show_sub_content'] ?? 0);
{/php}
{hcTaglib:subcategory pid="$sub_cate_id" onlyData="1"}
{/hcTaglib:subcategory}
{php}
$level2_list = $hc_subcategory ?? [];
$has_level2 = !empty($level2_list);
{/php}
<div class="c-panel" data-category-panel="product-control-{$vo.id}" {if $key_top!=1}hidden{/if}>
<div class="c-grid" data-product-grid>
{if $has_level2}
{volist name="level2_list" id="vo_sub" key="key_sub"}
{hcTaglib:contentPage2 cid="$vo_sub.id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="100" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="s-product-card" data-sub="product-plc-{$vo_sub.id}">
<a class="s-product-card__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="s-product-card__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" alt="{$vo_content.title}" loading="lazy" />
</div>
<div class="s-product-card__foot">
<h3 class="s-product-card__name">{$vo_content.title}</h3>
<span class="s-product-card__arrow" aria-hidden="true">
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.252930'%20height='11.313965'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="12"
height="11"
/>
</span>
</div>
</a>
</article>
{/volist}
{/volist}
{else /}
<!-- 仅一级分类:直接按一级 id 取产品 -->
{hcTaglib:contentPage2 cid="$vo.id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="100" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="s-product-card">
<a class="s-product-card__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="s-product-card__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" alt="{$vo_content.title}" loading="lazy" />
</div>
<div class="s-product-card__foot">
<h3 class="s-product-card__name">{$vo_content.title}</h3>
<span class="s-product-card__arrow" aria-hidden="true">
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.252930'%20height='11.313965'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="12"
height="11"
/>
</span>
</div>
</a>
</article>
{/volist}
{/if}
</div>
<div class="c-empty" data-product-empty hidden>
<p class="c-empty__text">暂无产品</p>
</div>
</div>
{/hcTaglib:subcategory}
</div>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script
src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
<!doctype html>
<html lang="zh-CN">
{php}
// var_dump($current_cate);
$current_cate_id = $current_cate['id'] ?? '';
//exit();
{/php}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>工业控制产品 - 睿能科技</title>
<meta name="keywords" content="工业控制,PLC,HMI,物联网,睿能科技" />
<meta name="description" content="睿能科技工业控制产品,涵盖运动控制PLC、过程控制PLC、人机界面HMI与物联网产品。" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement;
// 设计稿宽度
var DESIGN_WIDTH = 1920;
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16;
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14;
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width;
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN;
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE;
h.style.fontSize = size + "px";
}
setRootFontSize();
var resizeRaf = 0;
window.addEventListener("resize", function () {
if (resizeRaf) return;
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0;
setRootFontSize();
});
});
})();
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link
href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="module" crossorigin src="/themes/dist_static/static/js/category.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/category.css" />
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-category" data-header-dark data-nav="产品">
<div class="c-page section__wrap">
<nav class="c-breadcrumb" aria-label="面包屑">
<a class="c-breadcrumb__link" href="/">首页</a>
<span class="c-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
{hcTaglib:category id="333" item="vo" field="*"}
<a class="c-breadcrumb__link" href="{$vo.alias}">{$vo.title}</a>
{/hcTaglib:category}
<span class="c-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
<span class="c-breadcrumb__current" data-breadcrumb-current>工业控制产品</span>
</nav>
<div class="c-layout">
<aside class="c-sidebar" aria-label="产品分类" data-lenis-prevent>
<ul class="c-sidebar__list" data-category-nav>
<!-- 获取所有一级分类 -->
{hcTaglib:subcategory pid="333" item="vo" sort="" key="key_top"}
{php}
$sub_cate_id = $vo['id'];
$need_show_sub_content = (int)($vo['need_show_sub_content'] ?? 0);
{/php}
{hcTaglib:subcategory pid="$sub_cate_id" onlyData="1"}
{/hcTaglib:subcategory}
{php}
$level2_list = $hc_subcategory ?? [];
$has_level2 = !empty($level2_list);
{/php}
<li class="c-sidebar__item {if $key_top==1}is-active{/if}{if !$has_level2} is-leaf{/if}" data-category-item="product-control-{$vo.id}">
<button type="button" class="c-sidebar__trigger" data-category-id="product-control-{$vo.id}" data-category-name="{$vo.title}" aria-expanded="{if $key_top==1}true{else /}false{/if}">
<span>{$vo.title}</span>
{if $has_level2}
<span class="c-sidebar__chevron" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
{/if}
</button>
{if $has_level2}
<ul class="c-sidebar__subs">
{volist name="level2_list" id="vo_sub" key="key_sub"}
<li>
<button type="button" class="c-sidebar__sub" data-category-id="product-control-{$vo.id}" data-sub-id="product-plc-{$vo_sub.id}">{$vo_sub.title}</button>
</li>
{/volist}
</ul>
{/if}
</li>
{/hcTaglib:subcategory}
</ul>
</aside>
<div class="c-main">
{hcTaglib:subcategory pid="333" item="vo" sort="" key="key_top"}
{php}
$sub_cate_id = $vo['id'];
$need_show_sub_content = (int)($vo['need_show_sub_content'] ?? 0);
{/php}
{hcTaglib:subcategory pid="$sub_cate_id" onlyData="1"}
{/hcTaglib:subcategory}
{php}
$level2_list = $hc_subcategory ?? [];
$has_level2 = !empty($level2_list);
{/php}
<div class="c-panel" data-category-panel="product-control-{$vo.id}" {if $key_top!=1}hidden{/if}>
<div class="c-grid" data-product-grid>
{if $has_level2}
{volist name="level2_list" id="vo_sub" key="key_sub"}
{hcTaglib:contentPage2 cid="$vo_sub.id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="100" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="s-product-card" data-sub="product-plc-{$vo_sub.id}">
<a class="s-product-card__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="s-product-card__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" alt="{$vo_content.title}" loading="lazy" />
</div>
<div class="s-product-card__foot">
<h3 class="s-product-card__name">{$vo_content.title}</h3>
<span class="s-product-card__arrow" aria-hidden="true">
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.252930'%20height='11.313965'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="12"
height="11"
/>
</span>
</div>
</a>
</article>
{/volist}
{/volist}
{else /}
<!-- 仅一级分类:直接按一级 id 取产品 -->
{hcTaglib:contentPage2 cid="$vo.id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="100" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="s-product-card">
<a class="s-product-card__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="s-product-card__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" alt="{$vo_content.title}" loading="lazy" />
</div>
<div class="s-product-card__foot">
<h3 class="s-product-card__name">{$vo_content.title}</h3>
<span class="s-product-card__arrow" aria-hidden="true">
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.252930'%20height='11.313965'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="12"
height="11"
/>
</span>
</div>
</a>
</article>
{/volist}
{/if}
</div>
<div class="c-empty" data-product-empty hidden>
<p class="c-empty__text">暂无产品</p>
</div>
</div>
{/hcTaglib:subcategory}
</div>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script
src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

16
public/themes/website/1/en/demo/components/empty.html

@ -1,8 +1,8 @@
{php}
if (!isset($empty_text) || $empty_text === '') {
$empty_text = '暂无相关内容';
}
{/php}
<div class="s-empty" role="status">
<p class="s-empty__text">{$empty_text}</p>
</div>
{php}
if (!isset($empty_text) || $empty_text === '') {
$empty_text = '暂无相关内容';
}
{/php}
<div class="s-empty" role="status">
<p class="s-empty__text">{$empty_text}</p>
</div>

118
public/themes/website/1/en/demo/components/footer.html

@ -1,60 +1,60 @@
<!-- 模块:底部 -->
<footer class="site-footer section__wrap" id="footer" data-header-dark>
<div class="site-footer__inner">
<div class="site-footer__main">
<div class="site-footer__brand">
<div class="site-footer__logo" aria-label="睿能科技">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="RAYNEN 睿能科技" width="252" height="26" />
</div>
<p class="site-footer__stock">股票代码: 603933</p>
<p class="site-footer__quote" aria-label="股票行情占位">
<span class="site-footer__quote-price">20.34</span>
<span class="site-footer__quote-unit"></span>
<span class="site-footer__quote-change">+2.34 +9.99%</span>
</p>
<p class="site-footer__follow">关注我们:</p>
<div class="site-footer__qrs">
<div class="site-footer__qr">
<img src="{hcTaglib:setting name='wechat_code' type='2' /}" alt="官方微信" />
<span>官方微信</span>
</div>
<div class="site-footer__qr">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="官方视频号" />
<span>官方视频号</span>
</div>
</div>
</div>
<nav class="site-footer__cols" aria-label="底部导航">
{hcTaglib:nav cid="48" max-level="2" item="vo" name="hc_nav" sort="sort asc"}
{php}
$ft_is_product = ((int)($vo['category_id'] ?? 0) === 333);
{/php}
<div class="site-footer__col">
<div class="site-footer__colTitle">{$vo.title}</div>
<div class="site-footer__links">
{volist name="$vo.children" id="child"}
{php}
$ft_href = $child['href'] ?? '';
$ft_child_cid = (int)($child['category_id'] ?? 0);
// 产品列:与头部一致,拼接 cat=product-control-{栏目ID}
if ($ft_is_product && $ft_child_cid > 0 && $ft_href !== '') {
$ft_href .= (strpos($ft_href, '?') !== false ? '&' : '?') . 'cat=product-control-' . $ft_child_cid;
}
{/php}
<a href="{$ft_href}">{$child.title}</a>
{/volist}
</div>
</div>
{/hcTaglib:nav}
</nav>
</div>
<div class="site-footer__bottom">
<p class="site-footer__copyright">Copyright 2026 {hcTaglib:setting name="company_name" type="1" /} 版权所有 | {hcTaglib:setting name="icp" type="2" /} | <img
class="site-footer__gongan" src="/themes/dist_static/static/images/gongan-DdFBmJbc.png" alt="" /> {hcTaglib:setting name="gwa" type="2" /}</p>
<div class="site-footer__legal">
<a href="/sitemap.html">网站地图</a>
<a href="/privacy.html">隐私声明</a>
</div>
</div>
</div>
<!-- 模块:底部 -->
<footer class="site-footer section__wrap" id="footer" data-header-dark>
<div class="site-footer__inner">
<div class="site-footer__main">
<div class="site-footer__brand">
<div class="site-footer__logo" aria-label="睿能科技">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="RAYNEN 睿能科技" width="252" height="26" />
</div>
<p class="site-footer__stock">股票代码: 603933</p>
<p class="site-footer__quote" aria-label="股票行情占位">
<span class="site-footer__quote-price">20.34</span>
<span class="site-footer__quote-unit"></span>
<span class="site-footer__quote-change">+2.34 +9.99%</span>
</p>
<p class="site-footer__follow">关注我们:</p>
<div class="site-footer__qrs">
<div class="site-footer__qr">
<img src="{hcTaglib:setting name='wechat_code' type='2' /}" alt="官方微信" />
<span>官方微信</span>
</div>
<div class="site-footer__qr">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="官方视频号" />
<span>官方视频号</span>
</div>
</div>
</div>
<nav class="site-footer__cols" aria-label="底部导航">
{hcTaglib:nav cid="48" max-level="2" item="vo" name="hc_nav" sort="sort asc"}
{php}
$ft_is_product = ((int)($vo['category_id'] ?? 0) === 333);
{/php}
<div class="site-footer__col">
<div class="site-footer__colTitle">{$vo.title}</div>
<div class="site-footer__links">
{volist name="$vo.children" id="child"}
{php}
$ft_href = $child['href'] ?? '';
$ft_child_cid = (int)($child['category_id'] ?? 0);
// 产品列:与头部一致,拼接 cat=product-control-{栏目ID}
if ($ft_is_product && $ft_child_cid > 0 && $ft_href !== '') {
$ft_href .= (strpos($ft_href, '?') !== false ? '&' : '?') . 'cat=product-control-' . $ft_child_cid;
}
{/php}
<a href="{$ft_href}">{$child.title}</a>
{/volist}
</div>
</div>
{/hcTaglib:nav}
</nav>
</div>
<div class="site-footer__bottom">
<p class="site-footer__copyright">Copyright 2026 {hcTaglib:setting name="company_name" type="1" /} 版权所有 | {hcTaglib:setting name="icp" type="2" /} | <img
class="site-footer__gongan" src="/themes/dist_static/static/images/gongan-DdFBmJbc.png" alt="" /> {hcTaglib:setting name="gwa" type="2" /}</p>
<div class="site-footer__legal">
<a href="/sitemap.html">网站地图</a>
<a href="/privacy.html">隐私声明</a>
</div>
</div>
</div>
</footer>

1160
public/themes/website/1/en/demo/components/header.html
File diff suppressed because it is too large
View File

402
public/themes/website/1/en/demo/components/mask.html

@ -1,202 +1,202 @@
<div class="mask" id="mask">
<header class="mask-header">
<a href="/" class="mask-header__logo" aria-label="睿能科技">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="RAYNEN 睿能科技" width="252" height="26" />
</a>
<div class="mask-header__actions">
<button class="mask-header__icon-btn lang" type="button" aria-label="切换语言">
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.000000" height="32.000000" fill="none" customFrame="#000000">
<path
id="矢量 10"
d="M19.746 28.3C19.392 27.626 19.014 26.646 19.222 26.06C19.2708 25.8903 19.3486 25.7304 19.4519 25.5872C19.5551 25.4441 19.6824 25.3198 19.828 25.22C20.21 24.908 20.734 24.482 21.15 23.402C21.31 22.984 21.416 22.564 21.516 22.16C21.884 20.69 22.016 20.464 23.082 20.586C23.882 20.682 24.378 21.066 24.952 21.512C25.516 21.95 26.158 22.414 27.04 22.566C26.2295 23.9294 25.1741 25.1314 23.927 26.1115C22.6798 27.0915 21.2624 27.8328 19.746 28.298M4.972 22.588C5.902 22.476 6.918 22.152 7.644 21.36C8.446 20.484 8.452 19.34 8.456 18.424C8.462 17.174 8.532 16.83 9.164 16.594C10.028 16.274 10.42 16.58 11.232 17.3C11.708 17.724 12.248 18.204 12.966 18.424C13.812 18.684 14.826 18.564 15.674 18.098C16.52 17.638 17.148 16.856 17.414 15.928L17.42 15.928L17.428 15.898L17.436 15.874C17.446 15.842 17.446 15.814 17.456 15.782C17.518 15.564 17.562 15.344 17.59 15.126C17.604 15.028 17.61 14.94 17.616 14.846C17.622 14.77 17.632 14.694 17.636 14.62C17.6617 14.1266 17.6524 13.632 17.608 13.14C17.5897 12.9224 17.5777 12.7043 17.572 12.486C17.5671 12.2843 17.6176 12.085 17.718 11.91C17.894 11.826 18.362 11.742 18.684 11.686C19.578 11.528 20.672 11.328 21.332 10.552L21.342 10.546L21.34 10.546C21.38 10.498 21.422 10.458 21.458 10.406C22.574 8.834 22.506 7.208 21.282 6.164C21.1849 6.08469 21.0841 6.00994 20.98 5.94C20.26 5.44 19.952 5.086 20.162 4.436C20.224 4.24 20.292 4.07 20.358 3.916C22.8457 4.81129 24.9968 6.45204 26.5179 8.61455C28.039 10.7771 28.8562 13.3561 28.858 16C28.858 17.548 28.568 19.026 28.068 20.4C27.9135 20.4466 27.7547 20.4774 27.594 20.492C27.154 20.492 26.834 20.262 26.266 19.818C25.578 19.284 24.722 18.622 23.332 18.458C20.336 18.102 19.77 20.318 19.438 21.638C19.354 21.976 19.272 22.318 19.148 22.634C18.938 23.182 18.764 23.324 18.474 23.56C18.098 23.868 17.582 24.288 17.206 25.34C16.786 26.506 17.168 27.812 17.586 28.748C17.066 28.814 16.538 28.858 16 28.858C13.7766 28.857 11.5915 28.2786 9.65872 27.1796C7.72594 26.0805 6.11169 24.4983 4.974 22.588M15.998 3.142C16.778 3.142 17.536 3.222 18.276 3.356C18.2199 3.49487 18.1685 3.63562 18.122 3.778C17.388 6.052 19.172 7.292 19.756 7.698L19.89 7.792C20.02 7.904 20.352 8.202 19.77 9.076C19.562 9.254 19.35 9.286 18.83 9.31C18.134 9.344 17.084 9.394 16.152 10.43L16.148 10.436L16.146 10.438L16.134 10.448C16.114 10.47 16.102 10.494 16.084 10.516C15.59 11.096 15.45 11.73 15.434 12.352C15.4195 12.7589 15.4289 13.1662 15.462 13.572C15.488 14.002 15.512 14.414 15.476 14.78C15.4534 14.9575 15.4186 15.1332 15.372 15.306C15.3192 15.4999 15.2272 15.6809 15.1016 15.8377C14.9761 15.9946 14.8196 16.124 14.642 16.218C14.302 16.406 13.888 16.468 13.598 16.378C13.324 16.292 12.998 16.004 12.652 15.698C11.804 14.944 10.52 13.804 8.416 14.586C6.328 15.366 6.32 17.198 6.314 18.412C6.31 19.048 6.306 19.648 6.064 19.912C5.616 20.402 4.698 20.506 3.964 20.488C3.42378 19.0533 3.14602 17.5331 3.144 16C3.144 13.7432 3.738 11.5261 4.86631 9.57158C5.99462 7.61705 7.61749 5.99393 9.57184 4.86531C11.5262 3.7367 13.7432 3.14235 16 3.142M16 1C7.728 1 1 7.728 1 16C1 24.272 7.728 31 16 31C24.272 31 31 24.272 31 16C31 7.728 24.272 1 16 1Z"
fill="currentColor"
fill-rule="nonzero"
/>
<path
id="矢量 10"
d="M16 0C24.8235 0 32 7.17653 32 16C32 24.8235 24.8235 32 16 32C7.17653 32 0 24.8235 0 16C0 7.17653 7.17653 0 16 0ZM1 16C1 7.728 7.728 1 16 1C24.272 1 31 7.728 31 16C31 24.272 24.272 31 16 31C7.728 31 1 24.272 1 16Z"
fill="currentColor"
fill-rule="evenodd"
/>
</svg>
</button>
<a href="/search.html" class="mask-header__icon-btn search" aria-label="搜索">
<svg viewBox="0 0 32.9434 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.943359" height="32.000000" fill="none" customFrame="#000000">
<path
id="矢量 3"
d="M22.7394 24.9684C20.3451 26.8783 17.3108 28.0198 14.0099 28.0198C6.27256 28.0198 0 21.7474 0 14.0099C0 6.27246 6.27256 0 14.0099 0C21.7473 0 28.0198 6.27246 28.0198 14.0099C28.0198 16.9923 27.088 19.757 25.4995 22.0287L32.944 28.9999L29.7711 32L22.7394 24.9684ZM23.8675 14.0099C23.8675 8.01334 20.0063 4.15222 14.0099 4.15222C8.01354 4.15222 4.15232 8.01334 4.15232 14.0099C4.15232 20.0065 8.01354 23.8676 14.0099 23.8676C20.0063 23.8676 23.8675 20.0065 23.8675 14.0099Z"
fill="currentColor"
fill-rule="evenodd"
/>
</svg>
</a>
<button class="mask-header__icon-btn mask-header__icon-btn--close close" type="button" aria-expanded="false" aria-controls="mask" aria-label="关闭导航菜单">
<svg class="nav-toggle-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<rect class="nav-toggle-icon__bar nav-toggle-icon__bar--top" x="4" y="6" width="16" height="2" rx="1" />
<rect class="nav-toggle-icon__bar nav-toggle-icon__bar--mid" x="4" y="11" width="16" height="2" rx="1" />
<rect class="nav-toggle-icon__bar nav-toggle-icon__bar--bot" x="4" y="16" width="16" height="2" rx="1" />
</svg>
</button>
</div>
</header>
<div class="mask-content">
<nav class="mask-nav" aria-label="移动导航">
<ul class="mask-nav__list">
{hcTaglib:nav cid="47" max-level="2" item="vo" name="hc_mask_nav" sort="sort asc"}
{php}
$mask_title = $vo['title'] ?? '';
$mask_href = $vo['href'] ?? '';
$mask_cid = (int)($vo['category_id'] ?? 0);
$mask_children = $vo['children'] ?? [];
$mask_is_solution = ($mask_cid === 345);
{/php}
{if $mask_is_solution}
<!-- 解决方案:一级可继续展开二级(栏目树) -->
<li class="mask-nav__item mask-nav__item--expandable" data-expanded="false">
<button class="mask-nav__link mask-nav__toggle" type="button" aria-expanded="false">
<span>{$mask_title}</span>
<svg
class="mask-nav__icon"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M12 5v14" />
<path d="M5 12h14" />
</svg>
</button>
<div class="mask-nav__sublist-wrapper">
<ul class="mask-nav__sublist">
{hcTaglib:allSubCategory pid="345" item="sol" sort=""}
{php}
$sol_children = $sol['children'] ?? [];
$sol_has_children = !empty($sol_children);
$sol_href = $sol['alias'] ?? '';
{/php}
{if $sol_has_children}
<li class="mask-nav__subitem mask-nav__subitem--expandable" data-expanded="false">
<button class="mask-nav__sublink mask-nav__toggle" type="button" aria-expanded="false">
<span>{$sol.title}</span>
<svg
class="mask-nav__icon"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M12 5v14" />
<path d="M5 12h14" />
</svg>
</button>
<div class="mask-nav__sublist-wrapper">
<ul class="mask-nav__sublist mask-nav__sublist--l2">
{volist name="sol_children" id="sol2"}
<li class="mask-nav__subitem">
<a href="{$sol2.alias}" class="mask-nav__sublink">
<span>{$sol2.title}</span>
<svg
class="mask-nav__arrow"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="m9 18 6-6-6-6" />
</svg>
</a>
</li>
{/volist}
</ul>
</div>
</li>
{else /}
<li class="mask-nav__subitem">
<a href="{$sol_href}" class="mask-nav__sublink">
<span>{$sol.title}</span>
<svg
class="mask-nav__arrow"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="m9 18 6-6-6-6" />
</svg>
</a>
</li>
{/if}
{/hcTaglib:allSubCategory}
</ul>
</div>
</li>
{elseif condition="!empty($mask_children)" /}
<li class="mask-nav__item mask-nav__item--expandable" data-expanded="false">
<button class="mask-nav__link mask-nav__toggle" type="button" aria-expanded="false">
<span>{$mask_title}</span>
<svg
class="mask-nav__icon"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M12 5v14" />
<path d="M5 12h14" />
</svg>
</button>
<div class="mask-nav__sublist-wrapper">
<ul class="mask-nav__sublist">
{volist name="mask_children" id="child"}
<li class="mask-nav__subitem">
<a href="{$child.href ?? ''}" class="mask-nav__sublink">
<span>{$child.title}</span>
<svg
class="mask-nav__arrow"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="m9 18 6-6-6-6" />
</svg>
</a>
</li>
{/volist}
</ul>
</div>
</li>
{else /}
<li class="mask-nav__item">
<a href="{$mask_href}" class="mask-nav__link">{$mask_title}</a>
</li>
{/if}
{/hcTaglib:nav}
</ul>
</nav>
</div>
<div class="mask" id="mask">
<header class="mask-header">
<a href="/" class="mask-header__logo" aria-label="睿能科技">
<img src="{hcTaglib:setting name='dark_logo' type='2' /}" alt="RAYNEN 睿能科技" width="252" height="26" />
</a>
<div class="mask-header__actions">
<button class="mask-header__icon-btn lang" type="button" aria-label="切换语言">
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.000000" height="32.000000" fill="none" customFrame="#000000">
<path
id="矢量 10"
d="M19.746 28.3C19.392 27.626 19.014 26.646 19.222 26.06C19.2708 25.8903 19.3486 25.7304 19.4519 25.5872C19.5551 25.4441 19.6824 25.3198 19.828 25.22C20.21 24.908 20.734 24.482 21.15 23.402C21.31 22.984 21.416 22.564 21.516 22.16C21.884 20.69 22.016 20.464 23.082 20.586C23.882 20.682 24.378 21.066 24.952 21.512C25.516 21.95 26.158 22.414 27.04 22.566C26.2295 23.9294 25.1741 25.1314 23.927 26.1115C22.6798 27.0915 21.2624 27.8328 19.746 28.298M4.972 22.588C5.902 22.476 6.918 22.152 7.644 21.36C8.446 20.484 8.452 19.34 8.456 18.424C8.462 17.174 8.532 16.83 9.164 16.594C10.028 16.274 10.42 16.58 11.232 17.3C11.708 17.724 12.248 18.204 12.966 18.424C13.812 18.684 14.826 18.564 15.674 18.098C16.52 17.638 17.148 16.856 17.414 15.928L17.42 15.928L17.428 15.898L17.436 15.874C17.446 15.842 17.446 15.814 17.456 15.782C17.518 15.564 17.562 15.344 17.59 15.126C17.604 15.028 17.61 14.94 17.616 14.846C17.622 14.77 17.632 14.694 17.636 14.62C17.6617 14.1266 17.6524 13.632 17.608 13.14C17.5897 12.9224 17.5777 12.7043 17.572 12.486C17.5671 12.2843 17.6176 12.085 17.718 11.91C17.894 11.826 18.362 11.742 18.684 11.686C19.578 11.528 20.672 11.328 21.332 10.552L21.342 10.546L21.34 10.546C21.38 10.498 21.422 10.458 21.458 10.406C22.574 8.834 22.506 7.208 21.282 6.164C21.1849 6.08469 21.0841 6.00994 20.98 5.94C20.26 5.44 19.952 5.086 20.162 4.436C20.224 4.24 20.292 4.07 20.358 3.916C22.8457 4.81129 24.9968 6.45204 26.5179 8.61455C28.039 10.7771 28.8562 13.3561 28.858 16C28.858 17.548 28.568 19.026 28.068 20.4C27.9135 20.4466 27.7547 20.4774 27.594 20.492C27.154 20.492 26.834 20.262 26.266 19.818C25.578 19.284 24.722 18.622 23.332 18.458C20.336 18.102 19.77 20.318 19.438 21.638C19.354 21.976 19.272 22.318 19.148 22.634C18.938 23.182 18.764 23.324 18.474 23.56C18.098 23.868 17.582 24.288 17.206 25.34C16.786 26.506 17.168 27.812 17.586 28.748C17.066 28.814 16.538 28.858 16 28.858C13.7766 28.857 11.5915 28.2786 9.65872 27.1796C7.72594 26.0805 6.11169 24.4983 4.974 22.588M15.998 3.142C16.778 3.142 17.536 3.222 18.276 3.356C18.2199 3.49487 18.1685 3.63562 18.122 3.778C17.388 6.052 19.172 7.292 19.756 7.698L19.89 7.792C20.02 7.904 20.352 8.202 19.77 9.076C19.562 9.254 19.35 9.286 18.83 9.31C18.134 9.344 17.084 9.394 16.152 10.43L16.148 10.436L16.146 10.438L16.134 10.448C16.114 10.47 16.102 10.494 16.084 10.516C15.59 11.096 15.45 11.73 15.434 12.352C15.4195 12.7589 15.4289 13.1662 15.462 13.572C15.488 14.002 15.512 14.414 15.476 14.78C15.4534 14.9575 15.4186 15.1332 15.372 15.306C15.3192 15.4999 15.2272 15.6809 15.1016 15.8377C14.9761 15.9946 14.8196 16.124 14.642 16.218C14.302 16.406 13.888 16.468 13.598 16.378C13.324 16.292 12.998 16.004 12.652 15.698C11.804 14.944 10.52 13.804 8.416 14.586C6.328 15.366 6.32 17.198 6.314 18.412C6.31 19.048 6.306 19.648 6.064 19.912C5.616 20.402 4.698 20.506 3.964 20.488C3.42378 19.0533 3.14602 17.5331 3.144 16C3.144 13.7432 3.738 11.5261 4.86631 9.57158C5.99462 7.61705 7.61749 5.99393 9.57184 4.86531C11.5262 3.7367 13.7432 3.14235 16 3.142M16 1C7.728 1 1 7.728 1 16C1 24.272 7.728 31 16 31C24.272 31 31 24.272 31 16C31 7.728 24.272 1 16 1Z"
fill="currentColor"
fill-rule="nonzero"
/>
<path
id="矢量 10"
d="M16 0C24.8235 0 32 7.17653 32 16C32 24.8235 24.8235 32 16 32C7.17653 32 0 24.8235 0 16C0 7.17653 7.17653 0 16 0ZM1 16C1 7.728 7.728 1 16 1C24.272 1 31 7.728 31 16C31 24.272 24.272 31 16 31C7.728 31 1 24.272 1 16Z"
fill="currentColor"
fill-rule="evenodd"
/>
</svg>
</button>
<a href="/search.html" class="mask-header__icon-btn search" aria-label="搜索">
<svg viewBox="0 0 32.9434 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.943359" height="32.000000" fill="none" customFrame="#000000">
<path
id="矢量 3"
d="M22.7394 24.9684C20.3451 26.8783 17.3108 28.0198 14.0099 28.0198C6.27256 28.0198 0 21.7474 0 14.0099C0 6.27246 6.27256 0 14.0099 0C21.7473 0 28.0198 6.27246 28.0198 14.0099C28.0198 16.9923 27.088 19.757 25.4995 22.0287L32.944 28.9999L29.7711 32L22.7394 24.9684ZM23.8675 14.0099C23.8675 8.01334 20.0063 4.15222 14.0099 4.15222C8.01354 4.15222 4.15232 8.01334 4.15232 14.0099C4.15232 20.0065 8.01354 23.8676 14.0099 23.8676C20.0063 23.8676 23.8675 20.0065 23.8675 14.0099Z"
fill="currentColor"
fill-rule="evenodd"
/>
</svg>
</a>
<button class="mask-header__icon-btn mask-header__icon-btn--close close" type="button" aria-expanded="false" aria-controls="mask" aria-label="关闭导航菜单">
<svg class="nav-toggle-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<rect class="nav-toggle-icon__bar nav-toggle-icon__bar--top" x="4" y="6" width="16" height="2" rx="1" />
<rect class="nav-toggle-icon__bar nav-toggle-icon__bar--mid" x="4" y="11" width="16" height="2" rx="1" />
<rect class="nav-toggle-icon__bar nav-toggle-icon__bar--bot" x="4" y="16" width="16" height="2" rx="1" />
</svg>
</button>
</div>
</header>
<div class="mask-content">
<nav class="mask-nav" aria-label="移动导航">
<ul class="mask-nav__list">
{hcTaglib:nav cid="47" max-level="2" item="vo" name="hc_mask_nav" sort="sort asc"}
{php}
$mask_title = $vo['title'] ?? '';
$mask_href = $vo['href'] ?? '';
$mask_cid = (int)($vo['category_id'] ?? 0);
$mask_children = $vo['children'] ?? [];
$mask_is_solution = ($mask_cid === 345);
{/php}
{if $mask_is_solution}
<!-- 解决方案:一级可继续展开二级(栏目树) -->
<li class="mask-nav__item mask-nav__item--expandable" data-expanded="false">
<button class="mask-nav__link mask-nav__toggle" type="button" aria-expanded="false">
<span>{$mask_title}</span>
<svg
class="mask-nav__icon"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M12 5v14" />
<path d="M5 12h14" />
</svg>
</button>
<div class="mask-nav__sublist-wrapper">
<ul class="mask-nav__sublist">
{hcTaglib:allSubCategory pid="345" item="sol" sort=""}
{php}
$sol_children = $sol['children'] ?? [];
$sol_has_children = !empty($sol_children);
$sol_href = $sol['alias'] ?? '';
{/php}
{if $sol_has_children}
<li class="mask-nav__subitem mask-nav__subitem--expandable" data-expanded="false">
<button class="mask-nav__sublink mask-nav__toggle" type="button" aria-expanded="false">
<span>{$sol.title}</span>
<svg
class="mask-nav__icon"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M12 5v14" />
<path d="M5 12h14" />
</svg>
</button>
<div class="mask-nav__sublist-wrapper">
<ul class="mask-nav__sublist mask-nav__sublist--l2">
{volist name="sol_children" id="sol2"}
<li class="mask-nav__subitem">
<a href="{$sol2.alias}" class="mask-nav__sublink">
<span>{$sol2.title}</span>
<svg
class="mask-nav__arrow"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="m9 18 6-6-6-6" />
</svg>
</a>
</li>
{/volist}
</ul>
</div>
</li>
{else /}
<li class="mask-nav__subitem">
<a href="{$sol_href}" class="mask-nav__sublink">
<span>{$sol.title}</span>
<svg
class="mask-nav__arrow"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="m9 18 6-6-6-6" />
</svg>
</a>
</li>
{/if}
{/hcTaglib:allSubCategory}
</ul>
</div>
</li>
{elseif condition="!empty($mask_children)" /}
<li class="mask-nav__item mask-nav__item--expandable" data-expanded="false">
<button class="mask-nav__link mask-nav__toggle" type="button" aria-expanded="false">
<span>{$mask_title}</span>
<svg
class="mask-nav__icon"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M12 5v14" />
<path d="M5 12h14" />
</svg>
</button>
<div class="mask-nav__sublist-wrapper">
<ul class="mask-nav__sublist">
{volist name="mask_children" id="child"}
<li class="mask-nav__subitem">
<a href="{$child.href ?? ''}" class="mask-nav__sublink">
<span>{$child.title}</span>
<svg
class="mask-nav__arrow"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="m9 18 6-6-6-6" />
</svg>
</a>
</li>
{/volist}
</ul>
</div>
</li>
{else /}
<li class="mask-nav__item">
<a href="{$mask_href}" class="mask-nav__link">{$mask_title}</a>
</li>
{/if}
{/hcTaglib:nav}
</ul>
</nav>
</div>
</div>

504
public/themes/website/1/en/demo/contact.html

@ -1,252 +1,252 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>联系我们 - 睿能科技</title>
<meta name="keywords" content="联系我们,客服热线,服务支持,睿能科技">
<meta name="description" content="以客户为中心,持续为客户创造价值。填写信息我们第一时间回复,或拨打客服热线 400-0898-188。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/contact.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/contact.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-contact" data-header-dark>
<section class="c-intro section__wrap">
<h1 class="c-intro__title">
<span>{$current_cate.sub_title}<br/>{$current_cate.desc}</span>
</h1>
<div class="c-intro__hotline">
<div class="c-intro__hotline-label">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32.000000'%20height='32.000000'%20fill='none'%3e%3crect%20id='Linear%20/%20Call%20/%20Incoming%20Call%20Rounded'%20width='32.000000'%20height='32.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%204.26667L4.26667%200M1.06667%200L4.26667%200L4.26667%203.2'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-width='1.500000'%20transform='matrix(-1,0,0,-1,23.4668,12.7998)'%20/%3e%3cpath%20id='Vector'%20d='M13.9069%208.87071C12.9635%207.18033%2010.5929%206.9807%209.10712%208.46651C8.21432%209.35931%207.51962%2010.453%207.47379%2011.6621C7.39663%2013.6974%207.91173%2017.154%2011.379%2020.6212C14.8463%2024.0885%2018.3028%2024.6036%2020.3382%2024.5265C21.5472%2024.4806%2022.6409%2023.7859%2023.5338%2022.8931C25.0196%2021.4073%2024.8199%2019.0367%2023.1295%2018.0934L21.8891%2017.4011C20.7696%2016.7763%2019.3011%2017.0271%2018.3171%2018.0111C18.3171%2018.0111%2017.1236%2019.2046%2014.9596%2017.0406C12.7956%2014.8767%2013.9892%2013.6831%2013.9892%2013.6831C14.9731%2012.6991%2015.2239%2011.2306%2014.5992%2010.1112L13.9069%208.87071Z'%20fill-rule='evenodd'%20stroke='rgb(239,67,53)'%20stroke-width='1.500000'%20/%3e%3c/svg%3e" alt="" width="19" height="19" />
<span>客服热线</span>
</div>
<a class="c-intro__phone" href="tel:400-0898-188">{hcTaglib:setting name="company_phone" type="1" /}</a>
<p class="c-intro__hours">{$current_cate.description}</p>
</div>
</section>
<section class="c-banner" aria-label="服务入口">
<div class="c-banner__media" aria-hidden="true">
<img src="{$current_cate.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
<div class="c-banner__cards section__wrap">
<a class="c-card" href="/download.html">
<div class="c-card__head">
<span class="c-card__title">下载中心</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20279'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='download--02'%3e%3cpath%20id='矢量%20486'%20d='M33.3333%2018.667L44%2018.667L44%2044.0003L4%2044.0003L4%2018.667L14.6667%2018.667'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20487'%20d='M32%2028L24%2036L16%2028M24%204L24%2036'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-width='2.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">获取产品相关资料</p>
</a>
<a class="c-card" href="/faq.html">
<div class="c-card__head">
<span class="c-card__title">常见问题</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='Question_and_answer'%3e%3cg%20id='question-and-answer'%3e%3cpath%20id='矢量%20484'%20d='M16.6667%2046L10.8%2037.2L4.93333%2037.2C3.32%2037.2%202%2035.88%202%2034.2667L2%2019.6C2%2017.9867%203.32%2016.6667%204.93333%2016.6667L26.9333%2016.6667C28.5467%2016.6667%2029.8667%2017.9867%2029.8667%2019.6L29.8667%2034.2667C29.8667%2035.88%2028.5467%2037.2%2026.9333%2037.2L16.6667%2037.2M35.7333%2025.4667L38.6667%2019.6L43.0667%2019.6C44.68%2019.6%2046%2018.28%2046%2016.6667L46%204.93333C46%203.32%2044.68%202%2043.0667%202L25.4667%202C23.8533%202%2022.5333%203.32%2022.5333%204.93333L22.5333%2016.6667M34.2667%2019.6L29.8667%2019.6M34.296%2013C34.296%2011.372%2034.5307%2010.9027%2035.5133%2010.3307C36.232%209.92%2036.9213%209.31867%2036.9213%208.10133C36.9213%206.54667%2035.7333%205.66667%2034.2813%205.66667C32.8293%205.66667%2031.6267%206.708%2031.6267%208.10133'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20485'%20d='M17.3995%2026.9332C17.3995%2027.7399%2016.7395%2028.3999%2015.9328%2028.3999C15.1261%2028.3999%2014.4661%2027.7399%2014.4661%2026.9332C14.4661%2026.1265%2015.1261%2025.4665%2015.9328%2025.4665C16.7395%2025.4665%2017.3995%2026.1265%2017.3995%2026.9332ZM23.2661%2025.4665C22.4595%2025.4665%2021.7995%2026.1265%2021.7995%2026.9332C21.7995%2027.7399%2022.4595%2028.3999%2023.2661%2028.3999C24.0728%2028.3999%2024.7328%2027.7399%2024.7328%2026.9332C24.7328%2026.1265%2024.0728%2025.4665%2023.2661%2025.4665ZM8.59948%2025.4665C7.79281%2025.4665%207.13281%2026.1265%207.13281%2026.9332C7.13281%2027.7399%207.79281%2028.3999%208.59948%2028.3999C9.40615%2028.3999%2010.0661%2027.7399%2010.0661%2026.9332C10.0661%2026.1265%209.40615%2025.4665%208.59948%2025.4665ZM34.2661%2016.1239C34.7795%2016.1239%2035.1901%2015.7132%2035.1901%2015.2145C35.1901%2014.7159%2034.7795%2014.2905%2034.2661%2014.2905C33.7528%2014.2905%2033.3568%2014.7012%2033.3568%2015.2145C33.3568%2015.7279%2033.7675%2016.1239%2034.2661%2016.1239Z'%20fill='rgb(239,67,53)'%20fill-rule='nonzero'%20/%3e%3c/g%3e%3crect%20id='Transparent_Rectangle'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">在这里,寻找想要的答案</p>
</a>
<a class="c-card" href="/video.html">
<div class="c-card__head">
<span class="c-card__title">视频教程</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='vuesax/linear/play-circle'%3e%3cg%20id='play-circle'%3e%3cpath%20id='Vector'%20d='M23.9395%2044C12.8938%2044%203.93945%2035.0457%203.93945%2024C3.93945%2012.9543%2012.8938%204%2023.9395%204C34.9852%204%2043.9395%2012.9543%2043.9395%2024C43.9395%2035.0457%2034.9852%2044%2023.9395%2044Z'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M17.4805%2021.1202C17.4805%2016.9602%2020.4205%2015.2602%2024.0205%2017.3402L26.9205%2019.0202L29.8205%2020.7002C33.4205%2022.7803%2033.4205%2026.1802%2029.8205%2028.2603L26.9205%2029.9403L24.0205%2031.6203C20.4205%2033.7002%2017.4805%2032.0003%2017.4805%2027.8402L17.4805%2024.4602L17.4805%2021.1202Z'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20opacity='0'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">提供相关视频进行培训</p>
</a>
<a class="c-card" href="/announce.html">
<div class="c-card__head">
<span class="c-card__title">产品公告</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20280'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='Vector'%20d='M4%2028.091C4%2032.1719%206.07692%2034.2124%2010.2308%2034.2124L13.2036%2034.2124C13.9774%2034.2124%2014.7511%2034.4324%2015.4027%2034.8325L21.4706%2038.5534C26.724%2041.7741%2031%2039.4336%2031%2033.3522L31%2014.6478C31%208.56641%2026.7036%206.22587%2021.4706%209.44662L15.4027%2013.1875C14.7308%2013.5876%2013.9774%2013.8076%2013.2036%2013.8076L10.2308%2013.8076C6.07692%2013.8076%204%2015.8481%204%2019.9291L4%2028.091Z'%20fill-rule='nonzero'%20stroke='rgb(41,45,50)'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,-0.5,0.5,0.866025,36.5352,15.001)'%20/%3e%3cpath%20id='Vector'%20d='M36%2024L44%2024'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,0.5,-0.5,0.866025,36.5352,33)'%20/%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">了解产品最新动态</p>
</a>
</div>
</section>
<section class="c-form-section section__wrap" id="form">
<h2 class="c-form-section__title">
<span>填写以下信息我们</span>
<span>第一时间回复</span>
</h2>
<form class="c-form section-contact-form" action="#" method="post">
<div class="c-form__grid">
<label class="c-field">
<span class="c-field__label">姓名 *</span>
<input class="c-field__input" type="text" name="name" placeholder="请输入姓名" autocomplete="name" />
</label>
<label class="c-field">
<span class="c-field__label">手机 *</span>
<input class="c-field__input" type="tel" name="phone" placeholder="请输入手机" autocomplete="tel" />
</label>
<label class="c-field">
<span class="c-field__label">公司 *</span>
<input class="c-field__input" type="text" name="company" placeholder="请输入公司名称" autocomplete="organization" />
</label>
<label class="c-field">
<span class="c-field__label">邮箱 *</span>
<input class="c-field__input" type="email" name="email" placeholder="请输入邮箱" autocomplete="email" />
</label>
<label class="c-field">
<span class="c-field__label">所属行业 *</span>
<select class="c-field__input c-field__select" name="industry">
<option value="" disabled selected>请选择所属行业</option>
<option value="包装机械">包装机械</option>
<option value="机床">机床</option>
<option value="3C电子">3C电子</option>
<option value="其他">其他</option>
</select>
</label>
<label class="c-field">
<span class="c-field__label">业务类型 *</span>
<select class="c-field__input c-field__select" name="bizType">
<option value="" disabled selected>请选择业务类型</option>
<option value="产品咨询">产品咨询</option>
<option value="技术支持">技术支持</option>
<option value="商务合作">商务合作</option>
<option value="其他">其他</option>
</select>
</label>
<label class="c-field c-field--full">
<span class="c-field__label">咨询描述</span>
<input class="c-field__input" type="text" name="content" placeholder="请输入咨询描述" />
</label>
</div>
<label class="c-form__agree">
<input type="checkbox" name="agree" />
<span>我已阅读并同意《隐私条款》</span>
</label>
<button class="c-form__submit" type="submit">提交</button>
</form>
</section>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
<script>
$(function () {
var $form = $('.section-contact-form');
var $submitBtn = $form.find('.c-form__submit');
var submitting = false; // 防重复提交标志
$form.on('submit', function (e) {
e.preventDefault();
e.stopPropagation();
if (submitting) return false;
// 表单验证
var name = $form.find('[name="name"]').val().trim();
var phone = $form.find('[name="phone"]').val().trim();
var company = $form.find('[name="company"]').val().trim();
var email = $form.find('[name="email"]').val().trim();
var industry = $form.find('[name="industry"]').val();
var bizType = $form.find('[name="bizType"]').val();
var agree = $form.find('[name="agree"]').prop('checked');
if (!name) { alert('请输入姓名'); return; }
if (!phone) { alert('请输入手机号'); return; }
if (!company) { alert('请输入公司名称'); return; }
if (!email) { alert('请输入邮箱'); return; }
if (!industry) { alert('请选择所属行业'); return; }
if (!bizType) { alert('请选择业务类型'); return; }
if (!agree) { alert('请阅读并同意《隐私条款》'); return; }
// 收集表单数据(字段映射到数据库 hc_inquiry 表)
var content = $form.find('[name="content"]').val().trim();
var data = {
contacts_name: name, // 联系人姓名
phone: phone, // 联系人手机号
company_name: company, // 客户名称
email: email, // 邮箱
telphone: bizType, // 固定电话字段存放业务类型
explain: industry, // 询盘类型(所属行业)
content: content, // 询盘内容(咨询描述)
referer: 'website' // 询盘来源
};
// 禁用提交按钮,防止重复提交
submitting = true;
$submitBtn.prop('disabled', true).text('提交中...');
// 发送请求
$.ajax({
url: '/inquiry/save',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function (res) {
if (res.code === 0 || res.code === 200) {
$form[0].reset();
} else {
alert(res.msg || '提交失败,请稍后重试');
}
},
error: function () {
alert('网络错误,请稍后重试');
},
complete: function () {
submitting = false;
$submitBtn.prop('disabled', false).text('提交');
}
});
return false;
});
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>联系我们 - 睿能科技</title>
<meta name="keywords" content="联系我们,客服热线,服务支持,睿能科技">
<meta name="description" content="以客户为中心,持续为客户创造价值。填写信息我们第一时间回复,或拨打客服热线 400-0898-188。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/contact.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/contact.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-contact" data-header-dark>
<section class="c-intro section__wrap">
<h1 class="c-intro__title">
<span>{$current_cate.sub_title}<br/>{$current_cate.desc}</span>
</h1>
<div class="c-intro__hotline">
<div class="c-intro__hotline-label">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32.000000'%20height='32.000000'%20fill='none'%3e%3crect%20id='Linear%20/%20Call%20/%20Incoming%20Call%20Rounded'%20width='32.000000'%20height='32.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%204.26667L4.26667%200M1.06667%200L4.26667%200L4.26667%203.2'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-width='1.500000'%20transform='matrix(-1,0,0,-1,23.4668,12.7998)'%20/%3e%3cpath%20id='Vector'%20d='M13.9069%208.87071C12.9635%207.18033%2010.5929%206.9807%209.10712%208.46651C8.21432%209.35931%207.51962%2010.453%207.47379%2011.6621C7.39663%2013.6974%207.91173%2017.154%2011.379%2020.6212C14.8463%2024.0885%2018.3028%2024.6036%2020.3382%2024.5265C21.5472%2024.4806%2022.6409%2023.7859%2023.5338%2022.8931C25.0196%2021.4073%2024.8199%2019.0367%2023.1295%2018.0934L21.8891%2017.4011C20.7696%2016.7763%2019.3011%2017.0271%2018.3171%2018.0111C18.3171%2018.0111%2017.1236%2019.2046%2014.9596%2017.0406C12.7956%2014.8767%2013.9892%2013.6831%2013.9892%2013.6831C14.9731%2012.6991%2015.2239%2011.2306%2014.5992%2010.1112L13.9069%208.87071Z'%20fill-rule='evenodd'%20stroke='rgb(239,67,53)'%20stroke-width='1.500000'%20/%3e%3c/svg%3e" alt="" width="19" height="19" />
<span>客服热线</span>
</div>
<a class="c-intro__phone" href="tel:400-0898-188">{hcTaglib:setting name="company_phone" type="1" /}</a>
<p class="c-intro__hours">{$current_cate.description}</p>
</div>
</section>
<section class="c-banner" aria-label="服务入口">
<div class="c-banner__media" aria-hidden="true">
<img src="{$current_cate.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
<div class="c-banner__cards section__wrap">
<a class="c-card" href="/download.html">
<div class="c-card__head">
<span class="c-card__title">下载中心</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20279'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='download--02'%3e%3cpath%20id='矢量%20486'%20d='M33.3333%2018.667L44%2018.667L44%2044.0003L4%2044.0003L4%2018.667L14.6667%2018.667'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20487'%20d='M32%2028L24%2036L16%2028M24%204L24%2036'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-width='2.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">获取产品相关资料</p>
</a>
<a class="c-card" href="/faq.html">
<div class="c-card__head">
<span class="c-card__title">常见问题</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='Question_and_answer'%3e%3cg%20id='question-and-answer'%3e%3cpath%20id='矢量%20484'%20d='M16.6667%2046L10.8%2037.2L4.93333%2037.2C3.32%2037.2%202%2035.88%202%2034.2667L2%2019.6C2%2017.9867%203.32%2016.6667%204.93333%2016.6667L26.9333%2016.6667C28.5467%2016.6667%2029.8667%2017.9867%2029.8667%2019.6L29.8667%2034.2667C29.8667%2035.88%2028.5467%2037.2%2026.9333%2037.2L16.6667%2037.2M35.7333%2025.4667L38.6667%2019.6L43.0667%2019.6C44.68%2019.6%2046%2018.28%2046%2016.6667L46%204.93333C46%203.32%2044.68%202%2043.0667%202L25.4667%202C23.8533%202%2022.5333%203.32%2022.5333%204.93333L22.5333%2016.6667M34.2667%2019.6L29.8667%2019.6M34.296%2013C34.296%2011.372%2034.5307%2010.9027%2035.5133%2010.3307C36.232%209.92%2036.9213%209.31867%2036.9213%208.10133C36.9213%206.54667%2035.7333%205.66667%2034.2813%205.66667C32.8293%205.66667%2031.6267%206.708%2031.6267%208.10133'%20fill-rule='nonzero'%20stroke='rgb(0,0,0)'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='矢量%20485'%20d='M17.3995%2026.9332C17.3995%2027.7399%2016.7395%2028.3999%2015.9328%2028.3999C15.1261%2028.3999%2014.4661%2027.7399%2014.4661%2026.9332C14.4661%2026.1265%2015.1261%2025.4665%2015.9328%2025.4665C16.7395%2025.4665%2017.3995%2026.1265%2017.3995%2026.9332ZM23.2661%2025.4665C22.4595%2025.4665%2021.7995%2026.1265%2021.7995%2026.9332C21.7995%2027.7399%2022.4595%2028.3999%2023.2661%2028.3999C24.0728%2028.3999%2024.7328%2027.7399%2024.7328%2026.9332C24.7328%2026.1265%2024.0728%2025.4665%2023.2661%2025.4665ZM8.59948%2025.4665C7.79281%2025.4665%207.13281%2026.1265%207.13281%2026.9332C7.13281%2027.7399%207.79281%2028.3999%208.59948%2028.3999C9.40615%2028.3999%2010.0661%2027.7399%2010.0661%2026.9332C10.0661%2026.1265%209.40615%2025.4665%208.59948%2025.4665ZM34.2661%2016.1239C34.7795%2016.1239%2035.1901%2015.7132%2035.1901%2015.2145C35.1901%2014.7159%2034.7795%2014.2905%2034.2661%2014.2905C33.7528%2014.2905%2033.3568%2014.7012%2033.3568%2015.2145C33.3568%2015.7279%2033.7675%2016.1239%2034.2661%2016.1239Z'%20fill='rgb(239,67,53)'%20fill-rule='nonzero'%20/%3e%3c/g%3e%3crect%20id='Transparent_Rectangle'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">在这里,寻找想要的答案</p>
</a>
<a class="c-card" href="/video.html">
<div class="c-card__head">
<span class="c-card__title">视频教程</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='vuesax/linear/play-circle'%3e%3cg%20id='play-circle'%3e%3cpath%20id='Vector'%20d='M23.9395%2044C12.8938%2044%203.93945%2035.0457%203.93945%2024C3.93945%2012.9543%2012.8938%204%2023.9395%204C34.9852%204%2043.9395%2012.9543%2043.9395%2024C43.9395%2035.0457%2034.9852%2044%2023.9395%2044Z'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M17.4805%2021.1202C17.4805%2016.9602%2020.4205%2015.2602%2024.0205%2017.3402L26.9205%2019.0202L29.8205%2020.7002C33.4205%2022.7803%2033.4205%2026.1802%2029.8205%2028.2603L26.9205%2029.9403L24.0205%2031.6203C20.4205%2033.7002%2017.4805%2032.0003%2017.4805%2027.8402L17.4805%2024.4602L17.4805%2021.1202Z'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20opacity='0'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">提供相关视频进行培训</p>
</a>
<a class="c-card" href="/announce.html">
<div class="c-card__head">
<span class="c-card__title">产品公告</span>
<img class="c-card__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2048%2048'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='48.000000'%20height='48.000000'%20fill='none'%3e%3crect%20id='容器%20280'%20width='48.000000'%20height='48.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='Vector'%20d='M4%2028.091C4%2032.1719%206.07692%2034.2124%2010.2308%2034.2124L13.2036%2034.2124C13.9774%2034.2124%2014.7511%2034.4324%2015.4027%2034.8325L21.4706%2038.5534C26.724%2041.7741%2031%2039.4336%2031%2033.3522L31%2014.6478C31%208.56641%2026.7036%206.22587%2021.4706%209.44662L15.4027%2013.1875C14.7308%2013.5876%2013.9774%2013.8076%2013.2036%2013.8076L10.2308%2013.8076C6.07692%2013.8076%204%2015.8481%204%2019.9291L4%2028.091Z'%20fill-rule='nonzero'%20stroke='rgb(41,45,50)'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,-0.5,0.5,0.866025,36.5352,15.001)'%20/%3e%3cpath%20id='Vector'%20d='M36%2024L44%2024'%20stroke='rgb(41,45,50)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20/%3e%3cpath%20id='Vector'%20d='M0%200L8%200'%20stroke='rgb(239,67,53)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.000000'%20transform='matrix(0.866025,0.5,-0.5,0.866025,36.5352,33)'%20/%3e%3c/svg%3e" alt="" width="48" height="48" />
</div>
<p class="c-card__desc">了解产品最新动态</p>
</a>
</div>
</section>
<section class="c-form-section section__wrap" id="form">
<h2 class="c-form-section__title">
<span>填写以下信息我们</span>
<span>第一时间回复</span>
</h2>
<form class="c-form section-contact-form" action="#" method="post">
<div class="c-form__grid">
<label class="c-field">
<span class="c-field__label">姓名 *</span>
<input class="c-field__input" type="text" name="name" placeholder="请输入姓名" autocomplete="name" />
</label>
<label class="c-field">
<span class="c-field__label">手机 *</span>
<input class="c-field__input" type="tel" name="phone" placeholder="请输入手机" autocomplete="tel" />
</label>
<label class="c-field">
<span class="c-field__label">公司 *</span>
<input class="c-field__input" type="text" name="company" placeholder="请输入公司名称" autocomplete="organization" />
</label>
<label class="c-field">
<span class="c-field__label">邮箱 *</span>
<input class="c-field__input" type="email" name="email" placeholder="请输入邮箱" autocomplete="email" />
</label>
<label class="c-field">
<span class="c-field__label">所属行业 *</span>
<select class="c-field__input c-field__select" name="industry">
<option value="" disabled selected>请选择所属行业</option>
<option value="包装机械">包装机械</option>
<option value="机床">机床</option>
<option value="3C电子">3C电子</option>
<option value="其他">其他</option>
</select>
</label>
<label class="c-field">
<span class="c-field__label">业务类型 *</span>
<select class="c-field__input c-field__select" name="bizType">
<option value="" disabled selected>请选择业务类型</option>
<option value="产品咨询">产品咨询</option>
<option value="技术支持">技术支持</option>
<option value="商务合作">商务合作</option>
<option value="其他">其他</option>
</select>
</label>
<label class="c-field c-field--full">
<span class="c-field__label">咨询描述</span>
<input class="c-field__input" type="text" name="content" placeholder="请输入咨询描述" />
</label>
</div>
<label class="c-form__agree">
<input type="checkbox" name="agree" />
<span>我已阅读并同意《隐私条款》</span>
</label>
<button class="c-form__submit" type="submit">提交</button>
</form>
</section>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
<script>
$(function () {
var $form = $('.section-contact-form');
var $submitBtn = $form.find('.c-form__submit');
var submitting = false; // 防重复提交标志
$form.on('submit', function (e) {
e.preventDefault();
e.stopPropagation();
if (submitting) return false;
// 表单验证
var name = $form.find('[name="name"]').val().trim();
var phone = $form.find('[name="phone"]').val().trim();
var company = $form.find('[name="company"]').val().trim();
var email = $form.find('[name="email"]').val().trim();
var industry = $form.find('[name="industry"]').val();
var bizType = $form.find('[name="bizType"]').val();
var agree = $form.find('[name="agree"]').prop('checked');
if (!name) { alert('请输入姓名'); return; }
if (!phone) { alert('请输入手机号'); return; }
if (!company) { alert('请输入公司名称'); return; }
if (!email) { alert('请输入邮箱'); return; }
if (!industry) { alert('请选择所属行业'); return; }
if (!bizType) { alert('请选择业务类型'); return; }
if (!agree) { alert('请阅读并同意《隐私条款》'); return; }
// 收集表单数据(字段映射到数据库 hc_inquiry 表)
var content = $form.find('[name="content"]').val().trim();
var data = {
contacts_name: name, // 联系人姓名
phone: phone, // 联系人手机号
company_name: company, // 客户名称
email: email, // 邮箱
telphone: bizType, // 固定电话字段存放业务类型
explain: industry, // 询盘类型(所属行业)
content: content, // 询盘内容(咨询描述)
referer: 'website' // 询盘来源
};
// 禁用提交按钮,防止重复提交
submitting = true;
$submitBtn.prop('disabled', true).text('提交中...');
// 发送请求
$.ajax({
url: '/inquiry/save',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function (res) {
if (res.code === 0 || res.code === 200) {
$form[0].reset();
} else {
alert(res.msg || '提交失败,请稍后重试');
}
},
error: function () {
alert('网络错误,请稍后重试');
},
complete: function () {
submitting = false;
$submitBtn.prop('disabled', false).text('提交');
}
});
return false;
});
});
</script>
</body>
</html>

296
public/themes/website/1/en/demo/download.html

@ -1,149 +1,149 @@
<!DOCTYPE html>
<html lang="zh-CN">
{php}$download_keywords = input('keywords', '');{/php}
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>下载中心 - 睿能科技</title>
<meta name="keywords" content="下载中心,产品样本,图纸下载,软件下载,睿能科技">
<meta name="description" content="睿能科技下载中心,提供最新企业介绍及产品相关资料,涵盖样本手册、图纸、软件等下载。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/download.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/download.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-download" data-header-dark data-nav="服务支持">
<div class="d-page section__wrap">
<div class="d-head">
<h1 class="d-head__title">{$current_cate.title}</h1>
<p class="d-head__desc">{$current_cate.description}</p>
</div>
<div class="d-toolbar">
<div class="d-tabs" role="tablist" aria-label="资料分类">
{php}
$download_cid = (string)input('cid', '');
if ($download_cid === '') {
$download_cid = (string)($current_cate['id'] ?? '');
}
$download_all_id = (string)($current_cate['id'] ?? '');
{/php}
<button type="button" class="d-tabs__item{if $download_cid == $download_all_id} is-active{/if}" role="tab" data-tab="{$current_cate.id}" aria-selected="{if $download_cid == $download_all_id}true{else /}false{/if}">全部</button>
{volist name="sub_cates" id="vo"}
{php}
$count = getCategoryChildrenCount($vo['id']);
$vo_id = (string)($vo['id'] ?? '');
{/php}
{if $count > 0}
<div class="d-tabs__group">
<button type="button" class="d-tabs__item" role="tab" aria-selected="false" aria-expanded="false" data-dropdown-trigger data-tab="{$vo.id}">
<span>{$vo.title}</span>
<svg class="d-tabs__chevron" viewBox="0 0 11.2728 6.90918" width="11" height="7" fill="none" aria-hidden="true">
<path d="M0.636353 0.636272L5.63635 5.63627L10.6364 0.63623" stroke="currentColor" stroke-width="1.8" />
</svg>
</button>
<div class="d-tabs__dropdown" data-dropdown hidden>
{hcTaglib:subcategory pid="$vo.id" item="child" sort=""}
<button type="button" class="d-tabs__dropdown-item{if $download_cid == $child['id']} is-active{/if}" data-tab="{$child.id}">{$child.title}</button>
{/hcTaglib:subcategory}
</div>
</div>
{else}
<button type="button" class="d-tabs__item{if $download_cid == $vo_id} is-active{/if}" role="tab" aria-selected="{if $download_cid == $vo_id}true{else /}false{/if}" data-tab="{$vo.id}">{$vo.title}</button>
{/if}
{/volist}
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想下载的文件" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="d-list">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<a class="d-item" href="{$vo.url ?? ''}" download="{$vo.title}">
<div class="d-item__main">
<img class="d-item__pdf" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32.000000'%20height='32.000000'%20fill='none'%3e%3crect%20id='PDF%201'%20width='32.000000'%20height='32.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='矢量%20508'%20d='M28.1766%2028.9602C28.1766%2029.3602%2028.0164%2029.7441%2027.7285%2030.032C27.4402%2030.3199%2027.0566%2030.4801%2026.6562%2030.4801L5.32852%2030.4801C4.92852%2030.4801%204.52852%2030.3199%204.25664%2030.032C3.96875%2029.7437%203.80859%2029.3602%203.80859%2028.9602L3.80859%201.51992C3.80859%201.11992%203.96836%200.719922%204.25664%200.448047C4.52852%200.160156%204.92891%200%205.32852%200L18.4168%200C18.8168%200%2019.2168%200.160156%2019.5047%200.448047L27.7445%208.68828C28.0324%208.97617%2028.1926%209.36016%2028.1926%209.77617L28.1926%2028.9602L28.1766%2028.9602Z'%20fill='rgb(235,236,240)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20509'%20d='M28.1766%2028.96L28.1766%2030.4799C28.1766%2030.8799%2028.0164%2031.2799%2027.7285%2031.5518C27.4402%2031.84%2027.0566%2031.9998%2026.6562%2031.9998L5.32852%2031.9998C4.48047%2031.9998%203.80859%2031.3119%203.80859%2030.4799L3.80859%2028.96C3.80859%2029.36%203.96836%2029.7439%204.25664%2030.0318C4.54453%2030.3197%204.92852%2030.4799%205.32852%2030.4799L26.6566%2030.4799C27.5047%2030.4799%2028.1766%2029.792%2028.1766%2028.96L28.1766%2028.96Z'%20fill='rgb(193,199,208)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20510'%20d='M3.80781%2016.7682L3.80781%2013.7119L0.751953%2016.7682L3.80781%2016.7682ZM28.1758%2016.7682L28.2078%2013.7119L31.2477%2016.7682L28.1758%2016.7682L28.1758%2016.7682Z'%20fill='rgb(211,0,0)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20511'%20d='M28.1762%209.77617L28.1762%209.98398L19.9359%209.98398C19.0879%209.98398%2018.416%209.29609%2018.416%208.46406L18.416%200C18.816%200%2019.216%200.160156%2019.5039%200.448047L27.7602%208.68828C28.032%208.97617%2028.1922%209.36016%2028.1762%209.77617Z'%20fill='rgb(193,199,208)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20512'%20d='M15.7164%2019.0972L14.4629%2019.0972L14.4629%2023.5655L15.6941%2023.5655C17.0926%2023.5655%2017.8484%2022.7776%2017.8484%2021.2577C17.8484%2019.9351%2017.157%2019.1147%2015.7164%2019.0972ZM8.59219%2019.0995L6.79883%2019.0995L6.79883%2020.9983L8.59219%2020.9983C9.32695%2020.9983%209.79141%2020.7464%209.79141%2020.0362C9.79141%2019.4573%209.43555%2019.0995%208.59219%2019.0995L8.59219%2019.0995Z'%20fill='rgb(255,29,29)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20513'%20d='M0.767578%2016.7681L0.767578%2024.3681C0.767578%2024.7841%200.927344%2025.1681%201.21562%2025.456C1.4875%2025.7442%201.8875%2025.904%202.2875%2025.904L29.7117%2025.904C30.5438%2025.904%2031.2316%2025.2321%2031.2316%2024.3841L31.2316%2016.7681L0.767578%2016.7681ZM8.72617%2022.3454L6.79844%2022.3454L6.79844%2024.9103L5.05469%2024.9103L5.05469%2017.7618L8.75352%2017.7618C10.4156%2017.7618%2011.5207%2018.6021%2011.5207%2020.0087C11.5207%2021.4153%2010.4797%2022.3454%208.72617%2022.3454L8.72617%2022.3454ZM15.9223%2024.9103L12.7277%2024.9103L12.7277%2017.7618L15.959%2017.7618C18.3676%2017.7618%2019.6855%2019.3251%2019.6855%2021.211C19.6855%2023.4993%2018.0027%2024.9103%2015.9223%2024.9103ZM26.9953%2019.1419L22.8473%2019.1419L22.8473%2020.7677L26.7164%2020.7677L26.7164%2022.1579L22.8473%2022.1579L22.8473%2024.9099L21.1125%2024.9099L21.1125%2017.7614L26.9953%2017.7614L26.9953%2019.1415L26.9953%2019.1419Z'%20fill='rgb(239,67,53)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20514'%20d='M8.75313%2017.7617L5.05469%2017.7617L5.05469%2024.9102L6.79844%2024.9102L6.79844%2022.3453L8.72617%2022.3453C10.4797%2022.3453%2011.5207%2021.4703%2011.5207%2020.0086C11.5207%2018.5469%2010.4156%2017.7617%208.75352%2017.7617L8.75313%2017.7617ZM8.59141%2020.9984L6.79805%2020.9984L6.79805%2019.0996L8.59141%2019.0996C9.43477%2019.0996%209.79063%2019.4574%209.79063%2020.0363C9.79063%2020.7461%209.32578%2020.9984%208.59141%2020.9984L8.59141%2020.9984ZM15.959%2017.7617L12.7277%2017.7617L12.7277%2024.9102L15.9223%2024.9102C18.0027%2024.9102%2019.6855%2023.4992%2019.6855%2021.2109C19.6855%2019.325%2018.368%2017.7617%2015.959%2017.7617ZM15.6934%2023.5656L14.4621%2023.5656L14.4621%2019.0973L15.7156%2019.0973C17.1559%2019.1152%2017.8477%2019.9355%2017.8477%2021.2578C17.8477%2022.7777%2017.0918%2023.5656%2015.6934%2023.5656ZM21.1125%2024.9102L22.8473%2024.9102L22.8473%2022.1582L26.7164%2022.1582L26.7164%2020.768L22.8473%2020.768L22.8473%2019.1422L26.9953%2019.1422L26.9953%2017.7617L21.1125%2017.7617L21.1125%2024.9102Z'%20fill='rgb(255,255,255)'%20fill-rule='nonzero'%20/%3e%3c/svg%3e" alt="" width="32" height="32" />
<span class="d-item__name">{$vo.title}</span>
</div>
<span class="d-item__action">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='容器%20520'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='download--02'%3e%3cpath%20id='矢量%20486'%20d='M16.6667%209.33301L22%209.33301L22%2021.9997L2%2021.9997L2%209.33301L7.33333%209.33301'%20fill-rule='nonzero'%20stroke='rgb(46,53,58)'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='矢量%20487'%20d='M16%2014L12%2018L8%2014M12%202L12%2018'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-width='1.500000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24" height="24" />
<span>立即下载</span>
</span>
</a>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关资料';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
<!DOCTYPE html>
<html lang="zh-CN">
{php}$download_keywords = input('keywords', '');{/php}
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>下载中心 - 睿能科技</title>
<meta name="keywords" content="下载中心,产品样本,图纸下载,软件下载,睿能科技">
<meta name="description" content="睿能科技下载中心,提供最新企业介绍及产品相关资料,涵盖样本手册、图纸、软件等下载。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/download.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/download.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-download" data-header-dark data-nav="服务支持">
<div class="d-page section__wrap">
<div class="d-head">
<h1 class="d-head__title">{$current_cate.title}</h1>
<p class="d-head__desc">{$current_cate.description}</p>
</div>
<div class="d-toolbar">
<div class="d-tabs" role="tablist" aria-label="资料分类">
{php}
$download_cid = (string)input('cid', '');
if ($download_cid === '') {
$download_cid = (string)($current_cate['id'] ?? '');
}
$download_all_id = (string)($current_cate['id'] ?? '');
{/php}
<button type="button" class="d-tabs__item{if $download_cid == $download_all_id} is-active{/if}" role="tab" data-tab="{$current_cate.id}" aria-selected="{if $download_cid == $download_all_id}true{else /}false{/if}">全部</button>
{volist name="sub_cates" id="vo"}
{php}
$count = getCategoryChildrenCount($vo['id']);
$vo_id = (string)($vo['id'] ?? '');
{/php}
{if $count > 0}
<div class="d-tabs__group">
<button type="button" class="d-tabs__item" role="tab" aria-selected="false" aria-expanded="false" data-dropdown-trigger data-tab="{$vo.id}">
<span>{$vo.title}</span>
<svg class="d-tabs__chevron" viewBox="0 0 11.2728 6.90918" width="11" height="7" fill="none" aria-hidden="true">
<path d="M0.636353 0.636272L5.63635 5.63627L10.6364 0.63623" stroke="currentColor" stroke-width="1.8" />
</svg>
</button>
<div class="d-tabs__dropdown" data-dropdown hidden>
{hcTaglib:subcategory pid="$vo.id" item="child" sort=""}
<button type="button" class="d-tabs__dropdown-item{if $download_cid == $child['id']} is-active{/if}" data-tab="{$child.id}">{$child.title}</button>
{/hcTaglib:subcategory}
</div>
</div>
{else}
<button type="button" class="d-tabs__item{if $download_cid == $vo_id} is-active{/if}" role="tab" aria-selected="{if $download_cid == $vo_id}true{else /}false{/if}" data-tab="{$vo.id}">{$vo.title}</button>
{/if}
{/volist}
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想下载的文件" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="d-list">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<a class="d-item" href="{$vo.url ?? ''}" download="{$vo.title}">
<div class="d-item__main">
<img class="d-item__pdf" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32.000000'%20height='32.000000'%20fill='none'%3e%3crect%20id='PDF%201'%20width='32.000000'%20height='32.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3cpath%20id='矢量%20508'%20d='M28.1766%2028.9602C28.1766%2029.3602%2028.0164%2029.7441%2027.7285%2030.032C27.4402%2030.3199%2027.0566%2030.4801%2026.6562%2030.4801L5.32852%2030.4801C4.92852%2030.4801%204.52852%2030.3199%204.25664%2030.032C3.96875%2029.7437%203.80859%2029.3602%203.80859%2028.9602L3.80859%201.51992C3.80859%201.11992%203.96836%200.719922%204.25664%200.448047C4.52852%200.160156%204.92891%200%205.32852%200L18.4168%200C18.8168%200%2019.2168%200.160156%2019.5047%200.448047L27.7445%208.68828C28.0324%208.97617%2028.1926%209.36016%2028.1926%209.77617L28.1926%2028.9602L28.1766%2028.9602Z'%20fill='rgb(235,236,240)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20509'%20d='M28.1766%2028.96L28.1766%2030.4799C28.1766%2030.8799%2028.0164%2031.2799%2027.7285%2031.5518C27.4402%2031.84%2027.0566%2031.9998%2026.6562%2031.9998L5.32852%2031.9998C4.48047%2031.9998%203.80859%2031.3119%203.80859%2030.4799L3.80859%2028.96C3.80859%2029.36%203.96836%2029.7439%204.25664%2030.0318C4.54453%2030.3197%204.92852%2030.4799%205.32852%2030.4799L26.6566%2030.4799C27.5047%2030.4799%2028.1766%2029.792%2028.1766%2028.96L28.1766%2028.96Z'%20fill='rgb(193,199,208)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20510'%20d='M3.80781%2016.7682L3.80781%2013.7119L0.751953%2016.7682L3.80781%2016.7682ZM28.1758%2016.7682L28.2078%2013.7119L31.2477%2016.7682L28.1758%2016.7682L28.1758%2016.7682Z'%20fill='rgb(211,0,0)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20511'%20d='M28.1762%209.77617L28.1762%209.98398L19.9359%209.98398C19.0879%209.98398%2018.416%209.29609%2018.416%208.46406L18.416%200C18.816%200%2019.216%200.160156%2019.5039%200.448047L27.7602%208.68828C28.032%208.97617%2028.1922%209.36016%2028.1762%209.77617Z'%20fill='rgb(193,199,208)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20512'%20d='M15.7164%2019.0972L14.4629%2019.0972L14.4629%2023.5655L15.6941%2023.5655C17.0926%2023.5655%2017.8484%2022.7776%2017.8484%2021.2577C17.8484%2019.9351%2017.157%2019.1147%2015.7164%2019.0972ZM8.59219%2019.0995L6.79883%2019.0995L6.79883%2020.9983L8.59219%2020.9983C9.32695%2020.9983%209.79141%2020.7464%209.79141%2020.0362C9.79141%2019.4573%209.43555%2019.0995%208.59219%2019.0995L8.59219%2019.0995Z'%20fill='rgb(255,29,29)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20513'%20d='M0.767578%2016.7681L0.767578%2024.3681C0.767578%2024.7841%200.927344%2025.1681%201.21562%2025.456C1.4875%2025.7442%201.8875%2025.904%202.2875%2025.904L29.7117%2025.904C30.5438%2025.904%2031.2316%2025.2321%2031.2316%2024.3841L31.2316%2016.7681L0.767578%2016.7681ZM8.72617%2022.3454L6.79844%2022.3454L6.79844%2024.9103L5.05469%2024.9103L5.05469%2017.7618L8.75352%2017.7618C10.4156%2017.7618%2011.5207%2018.6021%2011.5207%2020.0087C11.5207%2021.4153%2010.4797%2022.3454%208.72617%2022.3454L8.72617%2022.3454ZM15.9223%2024.9103L12.7277%2024.9103L12.7277%2017.7618L15.959%2017.7618C18.3676%2017.7618%2019.6855%2019.3251%2019.6855%2021.211C19.6855%2023.4993%2018.0027%2024.9103%2015.9223%2024.9103ZM26.9953%2019.1419L22.8473%2019.1419L22.8473%2020.7677L26.7164%2020.7677L26.7164%2022.1579L22.8473%2022.1579L22.8473%2024.9099L21.1125%2024.9099L21.1125%2017.7614L26.9953%2017.7614L26.9953%2019.1415L26.9953%2019.1419Z'%20fill='rgb(239,67,53)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='矢量%20514'%20d='M8.75313%2017.7617L5.05469%2017.7617L5.05469%2024.9102L6.79844%2024.9102L6.79844%2022.3453L8.72617%2022.3453C10.4797%2022.3453%2011.5207%2021.4703%2011.5207%2020.0086C11.5207%2018.5469%2010.4156%2017.7617%208.75352%2017.7617L8.75313%2017.7617ZM8.59141%2020.9984L6.79805%2020.9984L6.79805%2019.0996L8.59141%2019.0996C9.43477%2019.0996%209.79063%2019.4574%209.79063%2020.0363C9.79063%2020.7461%209.32578%2020.9984%208.59141%2020.9984L8.59141%2020.9984ZM15.959%2017.7617L12.7277%2017.7617L12.7277%2024.9102L15.9223%2024.9102C18.0027%2024.9102%2019.6855%2023.4992%2019.6855%2021.2109C19.6855%2019.325%2018.368%2017.7617%2015.959%2017.7617ZM15.6934%2023.5656L14.4621%2023.5656L14.4621%2019.0973L15.7156%2019.0973C17.1559%2019.1152%2017.8477%2019.9355%2017.8477%2021.2578C17.8477%2022.7777%2017.0918%2023.5656%2015.6934%2023.5656ZM21.1125%2024.9102L22.8473%2024.9102L22.8473%2022.1582L26.7164%2022.1582L26.7164%2020.768L22.8473%2020.768L22.8473%2019.1422L26.9953%2019.1422L26.9953%2017.7617L21.1125%2017.7617L21.1125%2024.9102Z'%20fill='rgb(255,255,255)'%20fill-rule='nonzero'%20/%3e%3c/svg%3e" alt="" width="32" height="32" />
<span class="d-item__name">{$vo.title}</span>
</div>
<span class="d-item__action">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='容器%20520'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='download--02'%3e%3cpath%20id='矢量%20486'%20d='M16.6667%209.33301L22%209.33301L22%2021.9997L2%2021.9997L2%209.33301L7.33333%209.33301'%20fill-rule='nonzero'%20stroke='rgb(46,53,58)'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='矢量%20487'%20d='M16%2014L12%2018L8%2014M12%202L12%2018'%20fill-rule='nonzero'%20stroke='rgb(239,67,53)'%20stroke-width='1.500000'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24" height="24" />
<span>立即下载</span>
</span>
</a>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关资料';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

252
public/themes/website/1/en/demo/faq.html

@ -1,126 +1,126 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>常见问题 - 睿能科技</title>
<meta name="keywords" content="常见问题,FAQ,产品类,服务类,维护类,睿能科技">
<meta name="description" content="在这里,寻找想要的答案。了解睿能科技产品、服务与维护相关常见问题。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/faq.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/faq.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-faq" data-header-dark data-nav="服务支持">
<div class="f-page section__wrap">
<div class="f-head">
<h1 class="f-head__title">{$current_cate.title}</h1>
<p class="f-head__desc">{$current_cate.description}</p>
</div>
<div class="f-toolbar">
<div class="f-tabs" role="tablist" aria-label="问题分类">
<button type="button" class="f-tabs__item is-active" role="tab" data-tab="{$current_cate.id}" aria-selected="true">全部</button>
{volist name="sub_cates" id="vo"}
<button type="button" class="f-tabs__item" role="tab" data-tab="{$vo.id}" aria-selected="false">{$vo.title}</button>
{/volist}
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想搜索问题的关键词" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="f-list">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="10" item="vo"}
<div class="f-item">
<button type="button" class="f-item__trigger" aria-expanded="true">
<span class="f-item__q">
<span class="f-item__dot" aria-hidden="true"></span>
<span class="f-item__title">{$vo.title}</span>
</span>
<span class="f-item__icon" aria-hidden="true"></span>
</button>
<div class="f-item__panel">
<p class="f-item__a">
{$vo.content|strip_tags}
</p>
</div>
</div>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关问题';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>常见问题 - 睿能科技</title>
<meta name="keywords" content="常见问题,FAQ,产品类,服务类,维护类,睿能科技">
<meta name="description" content="在这里,寻找想要的答案。了解睿能科技产品、服务与维护相关常见问题。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/faq.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/faq.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-faq" data-header-dark data-nav="服务支持">
<div class="f-page section__wrap">
<div class="f-head">
<h1 class="f-head__title">{$current_cate.title}</h1>
<p class="f-head__desc">{$current_cate.description}</p>
</div>
<div class="f-toolbar">
<div class="f-tabs" role="tablist" aria-label="问题分类">
<button type="button" class="f-tabs__item is-active" role="tab" data-tab="{$current_cate.id}" aria-selected="true">全部</button>
{volist name="sub_cates" id="vo"}
<button type="button" class="f-tabs__item" role="tab" data-tab="{$vo.id}" aria-selected="false">{$vo.title}</button>
{/volist}
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想搜索问题的关键词" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="f-list">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="10" item="vo"}
<div class="f-item">
<button type="button" class="f-item__trigger" aria-expanded="true">
<span class="f-item__q">
<span class="f-item__dot" aria-hidden="true"></span>
<span class="f-item__title">{$vo.title}</span>
</span>
<span class="f-item__icon" aria-hidden="true"></span>
</button>
<div class="f-item__panel">
<p class="f-item__a">
{$vo.content|strip_tags}
</p>
</div>
</div>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关问题';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

558
public/themes/website/1/en/demo/investment.html

@ -1,280 +1,280 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>投资者关系 - 睿能科技</title>
<meta name="keywords" content="投资者关系,投资信息,公司公告,股票信息,睿能科技,603933">
<meta name="description" content="了解睿能科技投资信息,查看基本信息、公司公告、股票行情与投资者热线。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/investment.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/investment.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-investment" data-nav="投资者关系">
<section class="iv-hero">
<div class="iv-hero__title section__wrap" data-header-dark>
<h1>
<span>{$current_cate.content|raw}</span>
</h1>
</div>
<div class="iv-hero__media" aria-hidden="true">
<img src="{$current_cate.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
</section>
{hcTaglib:category id="366" item="vo" field="*"}
{php}
$descStr = $vo['description'] ?? '';
$infoList = [];
$pairs = explode('#', $descStr);
foreach ($pairs as $pair) {
$parts = explode(';', $pair, 2);
if (count($parts) === 2) {
$infoList[] = ['label' => trim($parts[0]), 'value' => trim($parts[1])];
}
}
{/php}
<section class="iv-info section__wrap" id="info" data-header-dark>
<h2 class="iv-info__title">{$vo.title}</h2>
<div class="iv-info__grid">
{volist name="infoList" id="info" key="k"}
<div class="iv-info__item{if condition='$k == count($infoList)'} iv-info__item--full{/if}">
<span class="iv-info__label">{$info.label}</span>
<strong class="iv-info__value">{$info.value}</strong>
</div>
{/volist}
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="367" item="vo" field="*"}
<section class="iv-announce section__wrap" id="announce" data-header-dark>
<div class="iv-announce__head">
<h2 class="iv-announce__title">{$vo.title}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="iv-announce__swiper swiper">
<div class="swiper-wrapper">
{hcTaglib:contentPage cid="367" mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<article class="swiper-slide iv-announce__card">
<time class="iv-announce__date" datetime="{$vo.publish_time|date='Y-m-d'}">{$vo.publish_time|date='Y-m-d'}</time>
<h3 class="iv-announce__name">{$vo.title}</h3>
<a class="iv-announce__link" href="{$vo.url ?? ''}" target="_blank">
<span>查看详情</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
</article>
{/hcTaglib:contentPage}
</div>
</div>
<div class="iv-announce__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/hcTaglib:category}
<section class="iv-stock section__wrap" id="stock" data-header-dark>
<h2 class="iv-stock__title">股票信息</h2>
<div class="iv-stock__body">
<div class="iv-stock__data">
<p class="iv-stock__code">股票代码:603933</p>
<div class="iv-stock__quote">
<span class="iv-stock__price">20.98</span>
<span class="iv-stock__unit"></span>
<span class="iv-stock__change">+0.37&nbsp;&nbsp;+1.75%</span>
</div>
<ul class="iv-stock__metrics">
<li>
<span class="iv-stock__metric-label">最高(元)</span>
<strong class="iv-stock__metric-value">20.98</strong>
</li>
<li>
<span class="iv-stock__metric-label">最低(元)</span>
<strong class="iv-stock__metric-value">20.23</strong>
</li>
<li>
<span class="iv-stock__metric-label">成交量(万手)</span>
<strong class="iv-stock__metric-value">3.25</strong>
</li>
<li>
<span class="iv-stock__metric-label">成交额(万元)</span>
<strong class="iv-stock__metric-value">6684.00</strong>
</li>
</ul>
<p class="iv-stock__note">截止 2026-08-14 09:40:31*报价有十五分钟或以上延迟。</p>
</div>
<div class="iv-stock__chart">
<img src="/themes/dist_static/static/images/section-3-img-CK6u5Hdw.png" alt="股票走势图" width="720" height="450" />
</div>
</div>
</section>
{hcTaglib:category id="369" item="vo" field="*"}
<section class="iv-learn section__wrap" id="learn" data-header-dark>
<h2 class="iv-learn__title">{$vo.title}</h2>
<div class="iv-learn__body">
<ul class="iv-learn__list">
{hcTaglib:contentPage cid="369" mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<a class="iv-learn__item" href="{$vo.url ?? ''}" target="_blank">
<time class="iv-learn__date" datetime="{$vo.publish_time|date='Y-m-d'}">{$vo.publish_time|date='Y-m-d'}</time>
<h3 class="iv-learn__name">{$vo.title}</h3>
<span class="iv-learn__link">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</span>
</a>
{/hcTaglib:contentPage}
</ul>
<button type="button" class="iv-learn__more" aria-label="展开更多">
<span class="iv-learn__more-icon iv-learn__more-icon--up" aria-hidden="true">
<svg viewBox="0 0 11.2734 6.90918" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="11.273438" height="6.909180" fill="none">
<path id="矢量 2" d="M0.636719 0.636272L5.63672 5.63627L10.6368 0.63623" stroke="currentColor" stroke-width="1.800000" />
</svg>
</span>
<span class="iv-learn__more-icon iv-learn__more-icon--down" aria-hidden="true">
<svg viewBox="0 0 11.2734 6.90918" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="11.273438" height="6.909180" fill="none">
<path id="矢量 2" d="M0.636719 0.636272L5.63672 5.63627L10.6368 0.63623" stroke="currentColor" stroke-width="1.800000" />
</svg>
</span>
</button>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="370" item="vo" field="*"}
<section class="iv-hotline" id="hotline">
<div class="iv-hotline__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="800" />
</div>
<div class="iv-hotline__inner section__wrap">
<h2 class="iv-hotline__title">{$vo.title}</h2>
<ul class="iv-hotline__list">
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='location'%3e%3cpath%20id='Vector'%20d='M11.9989%2013.4299C10.2758%2013.4299%208.87891%2012.0331%208.87891%2010.3099C8.87891%208.58681%2010.2758%207.18994%2011.9989%207.18994C13.722%207.18994%2015.1189%208.58681%2015.1189%2010.3099C15.1189%2012.0331%2013.722%2013.4299%2011.9989%2013.4299Z'%20stroke='rgb(255,255,255)'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M20.3817%208.5C21.5317%2013.58%2018.3717%2017.88%2015.6017%2020.54C13.5917%2022.48%2010.4117%2022.48%208.39166%2020.54C5.63166%2017.88%202.47166%2013.57%203.62166%208.49C5.59166%20-0.169998%2018.4217%20-0.159997%2020.3817%208.5Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20opacity='0'%20transform='matrix(-1,-1.22465e-16,1.22465e-16,-1,24,24)'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24"
height="24" />
<span class="iv-hotline__label">地址</span>
</div>
<p class="iv-hotline__value">{hcTaglib:setting name="company_address" type="1" /}</p>
</li>
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADg0lEQVR4Ae3gAZAkSZIkSRKLqpm7R0REZmZmVlVVVVV3d3d3d/fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMdHd3d3dXV1VVVVVmZkZGRIS7m5kKz0xmV3d1d3dPz8zMzMxMovjPhXgA28eBzwIeDNwKfI6kXZ4P2x8NvBXw18BvS/oZnhfimWw/GPgt4DhwK/DSwF9LehmeD9sfDbwV8NLAceBW4GMk/TTPhngm20/nireR9Ne23wb4SeCrJX0ML4Tt9wY+C3gw8NmSPocrEIDttwZ+CnhvSd/DM9n+KuCjgdeR9Ns8gO3jwHFJtwLYfjDwVcBbA28j6acBBGD7q4H3knSCB7B9HPgrrngZSbs8k+2fAt4a+GvgbSTdavs48FcAkh4CIADbvwUg6XV4LrZfG/gt4LMlfQ7PZPvBwGsDn8UVryPpVtuvDfwW8DqSflsAtr8beC1JD+H5sH0R+G5JH8Nzsf1g4K+Av5b0OgC2LwLfLeljBGD7s4HPAk5I2uUBbH8X8N7A60j6bZ4P2x8NfBVwQtKu7b8CbpX0NgKw/WDg6cBHS/oansn2ewPfBXy2pM/hBbB9HPgu4GMk3Wr7owEkfbV4Jtu/BTxY0kN4JtvvDXwX8NGSvoZ/PcQz2X5t4LeAj5b0NTyT7d8CXhp4HUl/zb8O4gFs/xTw2sDLSLoVwPaDgd/iiteRdCsvOsQD2H4w8FfALvAyknYBbD8Y+C2ueBtJfw1g+7WBjwL+GvgeSbfynBDPxfZLA38F/Lak1+GZbD8Y+C3gOPDZwHHgs4FbgQcDtwLvI+m3eTbE82H7vYHvAr5a0sfwTLYfDHwX8Npc8dmSPsf2g4HfAh4MfLakz+EKxAtg+7OBzwK+WtLH8AC23xu4VdJv8wC2vwr4aOCvgdeRtCteCNufDXwW8NfA20i6lX+B7fcGvgr4bkkfI/4Ftj8a+CrgVuB1JN3Kv8D204HflvQ+4kVg+6WBnwIeDHw18DWSbuX5sP1g4OnAe0v6HvEisv1g4LOA9wZuBT4b+B1Jt/JMtt8b+CpgV9JDAMS/ku3XBj4LeG2u+GuueDBwHLgVeB1JtwKIfyPbDwbeGngtrngG8NuSfppnQ/zn4h8BWVcuKBEKB/4AAAAASUVORK5CYII=" alt="" width="24"
height="24" />
<span class="iv-hotline__label">{$vo.title}</span>
</div>
<p class="iv-hotline__value">
<a href="">{$vo.description}</a>
</p>
</li>
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='printer'%3e%3cpath%20id='Vector'%20d='M16.75%207L16.75%205C16.75%203%2016%202%2013.75%202L10.25%202C8%202%207.25%203%207.25%205L7.25%207L16.75%207Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M16%2019C16%2021%2015%2022%2013%2022L11%2022C9%2022%208%2021%208%2019L8%2015L16%2015L16%2019Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M21%2015C21%2017%2020%2018%2018%2018L16%2018L16%2015L8%2015L8%2018L6%2018C4%2018%203%2017%203%2015L3%2010C3%208%204%207%206%207L18%207C20%207%2021%208%2021%2010L21%2015Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M17%2015L15.79%2015L7%2015'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M7%2011L10%2011'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M24%200L0%200L0%2024L24%2024L24%200ZM1%2023L1%201L23%201L23%2023L1%2023Z'%20opacity='0'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24" height="24" />
<span class="iv-hotline__label">传真</span>
</div>
<p class="iv-hotline__value">{$vo.desc}</p>
</li>
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='sms-tracking'%3e%3cpath%20id='Vector'%20d='M2%208.5C2%205%204%203.5%207%203.5L17%203.5C20%203.5%2022%205%2022%208.5L22%2015.5C22%2019%2020%2020.5%2017%2020.5L7%2020.5'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M17%209L13.87%2011.5C12.84%2012.32%2011.15%2012.32%2010.12%2011.5L7%209'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M2%2016.5L8%2016.5'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M2%2012.5L5%2012.5'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M24%200L0%200L0%2024L24%2024L24%200ZM1%2023L1%201L23%201L23%2023L1%2023Z'%20opacity='0'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24" height="24" />
<span class="iv-hotline__label">邮箱</span>
</div>
<p class="iv-hotline__value">
<a href="mailto:investor@raynen.cn">{hcTaglib:setting name="company_email" type="1" /}</a>
</p>
</li>
</ul>
</div>
</section>
{/hcTaglib:category}
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>投资者关系 - 睿能科技</title>
<meta name="keywords" content="投资者关系,投资信息,公司公告,股票信息,睿能科技,603933">
<meta name="description" content="了解睿能科技投资信息,查看基本信息、公司公告、股票行情与投资者热线。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/investment.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/investment.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-investment" data-nav="投资者关系">
<section class="iv-hero">
<div class="iv-hero__title section__wrap" data-header-dark>
<h1>
<span>{$current_cate.content|raw}</span>
</h1>
</div>
<div class="iv-hero__media" aria-hidden="true">
<img src="{$current_cate.thumbnail.url ?? ''}" alt="" width="1920" height="720" />
</div>
</section>
{hcTaglib:category id="366" item="vo" field="*"}
{php}
$descStr = $vo['description'] ?? '';
$infoList = [];
$pairs = explode('#', $descStr);
foreach ($pairs as $pair) {
$parts = explode(';', $pair, 2);
if (count($parts) === 2) {
$infoList[] = ['label' => trim($parts[0]), 'value' => trim($parts[1])];
}
}
{/php}
<section class="iv-info section__wrap" id="info" data-header-dark>
<h2 class="iv-info__title">{$vo.title}</h2>
<div class="iv-info__grid">
{volist name="infoList" id="info" key="k"}
<div class="iv-info__item{if condition='$k == count($infoList)'} iv-info__item--full{/if}">
<span class="iv-info__label">{$info.label}</span>
<strong class="iv-info__value">{$info.value}</strong>
</div>
{/volist}
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="367" item="vo" field="*"}
<section class="iv-announce section__wrap" id="announce" data-header-dark>
<div class="iv-announce__head">
<h2 class="iv-announce__title">{$vo.title}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="iv-announce__swiper swiper">
<div class="swiper-wrapper">
{hcTaglib:contentPage cid="367" mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<article class="swiper-slide iv-announce__card">
<time class="iv-announce__date" datetime="{$vo.publish_time|date='Y-m-d'}">{$vo.publish_time|date='Y-m-d'}</time>
<h3 class="iv-announce__name">{$vo.title}</h3>
<a class="iv-announce__link" href="{$vo.url ?? ''}" target="_blank">
<span>查看详情</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
</article>
{/hcTaglib:contentPage}
</div>
</div>
<div class="iv-announce__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/hcTaglib:category}
<section class="iv-stock section__wrap" id="stock" data-header-dark>
<h2 class="iv-stock__title">股票信息</h2>
<div class="iv-stock__body">
<div class="iv-stock__data">
<p class="iv-stock__code">股票代码:603933</p>
<div class="iv-stock__quote">
<span class="iv-stock__price">20.98</span>
<span class="iv-stock__unit"></span>
<span class="iv-stock__change">+0.37&nbsp;&nbsp;+1.75%</span>
</div>
<ul class="iv-stock__metrics">
<li>
<span class="iv-stock__metric-label">最高(元)</span>
<strong class="iv-stock__metric-value">20.98</strong>
</li>
<li>
<span class="iv-stock__metric-label">最低(元)</span>
<strong class="iv-stock__metric-value">20.23</strong>
</li>
<li>
<span class="iv-stock__metric-label">成交量(万手)</span>
<strong class="iv-stock__metric-value">3.25</strong>
</li>
<li>
<span class="iv-stock__metric-label">成交额(万元)</span>
<strong class="iv-stock__metric-value">6684.00</strong>
</li>
</ul>
<p class="iv-stock__note">截止 2026-08-14 09:40:31*报价有十五分钟或以上延迟。</p>
</div>
<div class="iv-stock__chart">
<img src="/themes/dist_static/static/images/section-3-img-CK6u5Hdw.png" alt="股票走势图" width="720" height="450" />
</div>
</div>
</section>
{hcTaglib:category id="369" item="vo" field="*"}
<section class="iv-learn section__wrap" id="learn" data-header-dark>
<h2 class="iv-learn__title">{$vo.title}</h2>
<div class="iv-learn__body">
<ul class="iv-learn__list">
{hcTaglib:contentPage cid="369" mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<a class="iv-learn__item" href="{$vo.url ?? ''}" target="_blank">
<time class="iv-learn__date" datetime="{$vo.publish_time|date='Y-m-d'}">{$vo.publish_time|date='Y-m-d'}</time>
<h3 class="iv-learn__name">{$vo.title}</h3>
<span class="iv-learn__link">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</span>
</a>
{/hcTaglib:contentPage}
</ul>
<button type="button" class="iv-learn__more" aria-label="展开更多">
<span class="iv-learn__more-icon iv-learn__more-icon--up" aria-hidden="true">
<svg viewBox="0 0 11.2734 6.90918" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="11.273438" height="6.909180" fill="none">
<path id="矢量 2" d="M0.636719 0.636272L5.63672 5.63627L10.6368 0.63623" stroke="currentColor" stroke-width="1.800000" />
</svg>
</span>
<span class="iv-learn__more-icon iv-learn__more-icon--down" aria-hidden="true">
<svg viewBox="0 0 11.2734 6.90918" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="11.273438" height="6.909180" fill="none">
<path id="矢量 2" d="M0.636719 0.636272L5.63672 5.63627L10.6368 0.63623" stroke="currentColor" stroke-width="1.800000" />
</svg>
</span>
</button>
</div>
</section>
{/hcTaglib:category}
{hcTaglib:category id="370" item="vo" field="*"}
<section class="iv-hotline" id="hotline">
<div class="iv-hotline__bg" aria-hidden="true">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="1920" height="800" />
</div>
<div class="iv-hotline__inner section__wrap">
<h2 class="iv-hotline__title">{$vo.title}</h2>
<ul class="iv-hotline__list">
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='location'%3e%3cpath%20id='Vector'%20d='M11.9989%2013.4299C10.2758%2013.4299%208.87891%2012.0331%208.87891%2010.3099C8.87891%208.58681%2010.2758%207.18994%2011.9989%207.18994C13.722%207.18994%2015.1189%208.58681%2015.1189%2010.3099C15.1189%2012.0331%2013.722%2013.4299%2011.9989%2013.4299Z'%20stroke='rgb(255,255,255)'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M20.3817%208.5C21.5317%2013.58%2018.3717%2017.88%2015.6017%2020.54C13.5917%2022.48%2010.4117%2022.48%208.39166%2020.54C5.63166%2017.88%202.47166%2013.57%203.62166%208.49C5.59166%20-0.169998%2018.4217%20-0.159997%2020.3817%208.5Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20opacity='0'%20transform='matrix(-1,-1.22465e-16,1.22465e-16,-1,24,24)'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24"
height="24" />
<span class="iv-hotline__label">地址</span>
</div>
<p class="iv-hotline__value">{hcTaglib:setting name="company_address" type="1" /}</p>
</li>
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADg0lEQVR4Ae3gAZAkSZIkSRKLqpm7R0REZmZmVlVVVVV3d3d3d/fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMdHd3d3dXV1VVVVVmZkZGRIS7m5kKz0xmV3d1d3dPz8zMzMxMovjPhXgA28eBzwIeDNwKfI6kXZ4P2x8NvBXw18BvS/oZnhfimWw/GPgt4DhwK/DSwF9LehmeD9sfDbwV8NLAceBW4GMk/TTPhngm20/nireR9Ne23wb4SeCrJX0ML4Tt9wY+C3gw8NmSPocrEIDttwZ+CnhvSd/DM9n+KuCjgdeR9Ns8gO3jwHFJtwLYfjDwVcBbA28j6acBBGD7q4H3knSCB7B9HPgrrngZSbs8k+2fAt4a+GvgbSTdavs48FcAkh4CIADbvwUg6XV4LrZfG/gt4LMlfQ7PZPvBwGsDn8UVryPpVtuvDfwW8DqSflsAtr8beC1JD+H5sH0R+G5JH8Nzsf1g4K+Av5b0OgC2LwLfLeljBGD7s4HPAk5I2uUBbH8X8N7A60j6bZ4P2x8NfBVwQtKu7b8CbpX0NgKw/WDg6cBHS/oansn2ewPfBXy2pM/hBbB9HPgu4GMk3Wr7owEkfbV4Jtu/BTxY0kN4JtvvDXwX8NGSvoZ/PcQz2X5t4LeAj5b0NTyT7d8CXhp4HUl/zb8O4gFs/xTw2sDLSLoVwPaDgd/iiteRdCsvOsQD2H4w8FfALvAyknYBbD8Y+C2ueBtJfw1g+7WBjwL+GvgeSbfynBDPxfZLA38F/Lak1+GZbD8Y+C3gOPDZwHHgs4FbgQcDtwLvI+m3eTbE82H7vYHvAr5a0sfwTLYfDHwX8Npc8dmSPsf2g4HfAh4MfLakz+EKxAtg+7OBzwK+WtLH8AC23xu4VdJv8wC2vwr4aOCvgdeRtCteCNufDXwW8NfA20i6lX+B7fcGvgr4bkkfI/4Ftj8a+CrgVuB1JN3Kv8D204HflvQ+4kVg+6WBnwIeDHw18DWSbuX5sP1g4OnAe0v6HvEisv1g4LOA9wZuBT4b+B1Jt/JMtt8b+CpgV9JDAMS/ku3XBj4LeG2u+GuueDBwHLgVeB1JtwKIfyPbDwbeGngtrngG8NuSfppnQ/zn4h8BWVcuKBEKB/4AAAAASUVORK5CYII=" alt="" width="24"
height="24" />
<span class="iv-hotline__label">{$vo.title}</span>
</div>
<p class="iv-hotline__value">
<a href="">{$vo.description}</a>
</p>
</li>
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='printer'%3e%3cpath%20id='Vector'%20d='M16.75%207L16.75%205C16.75%203%2016%202%2013.75%202L10.25%202C8%202%207.25%203%207.25%205L7.25%207L16.75%207Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M16%2019C16%2021%2015%2022%2013%2022L11%2022C9%2022%208%2021%208%2019L8%2015L16%2015L16%2019Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M21%2015C21%2017%2020%2018%2018%2018L16%2018L16%2015L8%2015L8%2018L6%2018C4%2018%203%2017%203%2015L3%2010C3%208%204%207%206%207L18%207C20%207%2021%208%2021%2010L21%2015Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M17%2015L15.79%2015L7%2015'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M7%2011L10%2011'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M24%200L0%200L0%2024L24%2024L24%200ZM1%2023L1%201L23%201L23%2023L1%2023Z'%20opacity='0'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24" height="24" />
<span class="iv-hotline__label">传真</span>
</div>
<p class="iv-hotline__value">{$vo.desc}</p>
</li>
<li class="iv-hotline__item">
<div class="iv-hotline__row">
<img class="iv-hotline__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%20customFrame='%23000000'%3e%3cg%20id='sms-tracking'%3e%3cpath%20id='Vector'%20d='M2%208.5C2%205%204%203.5%207%203.5L17%203.5C20%203.5%2022%205%2022%208.5L22%2015.5C22%2019%2020%2020.5%2017%2020.5L7%2020.5'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M17%209L13.87%2011.5C12.84%2012.32%2011.15%2012.32%2010.12%2011.5L7%209'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M2%2016.5L8%2016.5'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M2%2012.5L5%2012.5'%20stroke='rgb(255,255,255)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.500000'%20/%3e%3cpath%20id='Vector'%20d='M24%200L0%200L0%2024L24%2024L24%200ZM1%2023L1%201L23%201L23%2023L1%2023Z'%20opacity='0'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/svg%3e" alt="" width="24" height="24" />
<span class="iv-hotline__label">邮箱</span>
</div>
<p class="iv-hotline__value">
<a href="mailto:investor@raynen.cn">{hcTaglib:setting name="company_email" type="1" /}</a>
</p>
</li>
</ul>
</div>
</section>
{/hcTaglib:category}
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

436
public/themes/website/1/en/demo/news-detail.html

@ -1,218 +1,218 @@
<!doctype html>
<html lang="zh-CN">
{php} // TDK设置 ================================= START
$tdk_title = $hc_content['seo_title'] ?? '';
if(empty($tdk_title)){
$tdk_title = $hc_content['title'] ?? '搜索结果';
}
$tdk_description = $hc_content['seo_description'] ?? '';
if(empty($tdk_description)){
$tdk_description = $hc_content['sub_title'] ?? '';
}
$tdk_keywords = $hc_content['seo_keywords'] ?? '';
if(empty($tdk_keywords)){
$tdk_keywords = $hc_content['sub_title'] ?? '';
}
$create_time_str = $hc_content['create_time'] ?? '';
$hc_content_tmp_news = $hc_content;
// dd($hc_content);
// dd($create_time_int);
// TDK设置 ================================= END {/php}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{$tdk_title}</title>
<meta name="keywords" content="{$tdk_keywords}" />
<meta name="description" content="{$tdk_description}" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement;
// 设计稿宽度
var DESIGN_WIDTH = 1920;
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16;
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14;
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width;
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN;
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE;
h.style.fontSize = size + "px";
}
setRootFontSize();
var resizeRaf = 0;
window.addEventListener("resize", function () {
if (resizeRaf) return;
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0;
setRootFontSize();
});
});
})();
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link
href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="module" crossorigin src="/themes/dist_static/static/js/news-detail.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/news2.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/news-detail.css" />
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-news-detail" data-header-dark data-nav="新闻动态">
<div class="nd-page">
<div class="nd-layout">
<nav class="nd-breadcrumb" aria-label="面包屑">
<a class="nd-breadcrumb__link" href="/">首页</a>
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
<!-- 获取父级分类 -->
{php}
$parent_cate_url = '';
{/php}
{hcTaglib:category id="$current_cate['parent_id']" item="vo" field="*"}
<a class="nd-breadcrumb__link" href="{$vo.alias}">{$vo.title}</a>
{php}
$parent_cate_url = $vo['alias'];
{/php}
{/hcTaglib:category}
<!-- 361 -->
{if $current_cate['id'] != 361}
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
<span class="nd-breadcrumb__current">{$current_cate['title']}</span>
{/if}
</nav>
<a class="nd-back" href="{$parent_cate_url}">
<span class="nd-back__icon" aria-hidden="true">
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2014.0703%2011.3135'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14.070312'%20height='11.313477'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M6.9994%201.41422L8.41362%200L12.656%204.2424L12.6561%204.2423L14.0703%205.65652L14.0702%205.65662L14.0705%205.65686L12.6563%207.07108L12.656%207.07082L8.41346%2011.3134L6.99924%209.89916L10.3126%206.5858L0%206.5858L0%204.5858L10.171%204.5858L6.9994%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="14"
height="11"
/>
</span>
<span class="nd-back__text">Back</span>
</a>
<article class="nd-article">
<header class="nd-article__header">
<h1 class="nd-article__title">{$hc_content_tmp_news['title']}</h1>
<time class="nd-article__date" datetime="{$create_time_str}">{$create_time_str}</time>
</header>
<div class="nd-richtext">
{$hc_content_tmp_news['content']|raw}
</div>
<nav class="nd-pager" aria-label="上下篇">
{php}
// 与 HcTaglib::tagPreContent / tagNextContent 一致,只查相邻一篇
$id = (int)request()->param('id');
$cid = (int)request()->param('cid');
if ($cid <= 0) {
$cid = (int)($current_cate['id'] ?? ($hc_content['category_id'] ?? 0));
}
$sellerId = (int)($hc_content['seller_id'] ?? 1);
$siteId = (int)($current_cate['website_id'] ?? 1);
$lang = (string)($current_cate['lang'] ?? ($hc_content['lang'] ?? 'zh'));
$preContent = \app\service\ContentService::getPreContent([
'id' => $id,
'cid' => $cid,
'seller_id' => $sellerId,
'website_id' => $siteId,
'lang' => $lang,
]);
$nextContent = \app\service\ContentService::getNextContent([
'id' => $id,
'cid' => $cid,
'seller_id' => $sellerId,
'website_id' => $siteId,
'lang' => $lang,
]);
$preId = 0;
$preTitle = '';
$preCid = $cid;
if (!empty($preContent)) {
$preId = (int)$preContent['id'];
$preTitle = $preContent['title'];
}
$nextId = 0;
$nextTitle = '';
$nextCid = $cid;
if (!empty($nextContent)) {
$nextId = (int)$nextContent['id'];
$nextTitle = $nextContent['title'];
}
{/php}
{if condition="empty($preId)"}
<a class="nd-pager__item nd-pager__item--prev" href="javascript:;">
<span class="nd-pager__label" title="没有了">上一篇:没有了</span>
</a>
{else /}
<a class="nd-pager__item nd-pager__item--prev" href="{:hcUrl('Detail/index',['id'=>$preId,'cid'=>$preCid])}">
<span class="nd-pager__label" title="{$preTitle}">上一篇:{$preTitle}</span>
</a>
{/if}
{if condition="empty($nextId)"}
<a class="nd-pager__item nd-pager__item--next" href="javascript:;">
<span class="nd-pager__label" title="没有了">下一篇:没有了</span>
</a>
{else /}
<a class="nd-pager__item nd-pager__item--next" href="{:hcUrl('Detail/index',['id'=>$nextId,'cid'=>$nextCid])}">
<span class="nd-pager__label" title="{$nextTitle}">下一篇:{$nextTitle}</span>
</a>
{/if}
</nav>
</article>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script
src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
<!doctype html>
<html lang="zh-CN">
{php} // TDK设置 ================================= START
$tdk_title = $hc_content['seo_title'] ?? '';
if(empty($tdk_title)){
$tdk_title = $hc_content['title'] ?? '搜索结果';
}
$tdk_description = $hc_content['seo_description'] ?? '';
if(empty($tdk_description)){
$tdk_description = $hc_content['sub_title'] ?? '';
}
$tdk_keywords = $hc_content['seo_keywords'] ?? '';
if(empty($tdk_keywords)){
$tdk_keywords = $hc_content['sub_title'] ?? '';
}
$create_time_str = $hc_content['create_time'] ?? '';
$hc_content_tmp_news = $hc_content;
// dd($hc_content);
// dd($create_time_int);
// TDK设置 ================================= END {/php}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{$tdk_title}</title>
<meta name="keywords" content="{$tdk_keywords}" />
<meta name="description" content="{$tdk_description}" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement;
// 设计稿宽度
var DESIGN_WIDTH = 1920;
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16;
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14;
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width;
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN;
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE;
h.style.fontSize = size + "px";
}
setRootFontSize();
var resizeRaf = 0;
window.addEventListener("resize", function () {
if (resizeRaf) return;
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0;
setRootFontSize();
});
});
})();
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link
href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="module" crossorigin src="/themes/dist_static/static/js/news-detail.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/news2.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/news-detail.css" />
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-news-detail" data-header-dark data-nav="新闻动态">
<div class="nd-page">
<div class="nd-layout">
<nav class="nd-breadcrumb" aria-label="面包屑">
<a class="nd-breadcrumb__link" href="/">首页</a>
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
<!-- 获取父级分类 -->
{php}
$parent_cate_url = '';
{/php}
{hcTaglib:category id="$current_cate['parent_id']" item="vo" field="*"}
<a class="nd-breadcrumb__link" href="{$vo.alias}">{$vo.title}</a>
{php}
$parent_cate_url = $vo['alias'];
{/php}
{/hcTaglib:category}
<!-- 361 -->
{if $current_cate['id'] != 361}
<span class="nd-breadcrumb__sep" aria-hidden="true">
<svg viewBox="-1 -1 8.59082 13.0605" xmlns="http://www.w3.org/2000/svg" fill="none">
<path d="M0 4.12464e-05L5 5.00004L10 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0,-1,1,0,0.530273,10.5303)" />
</svg>
</span>
<span class="nd-breadcrumb__current">{$current_cate['title']}</span>
{/if}
</nav>
<a class="nd-back" href="{$parent_cate_url}">
<span class="nd-back__icon" aria-hidden="true">
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2014.0703%2011.3135'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14.070312'%20height='11.313477'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M6.9994%201.41422L8.41362%200L12.656%204.2424L12.6561%204.2423L14.0703%205.65652L14.0702%205.65662L14.0705%205.65686L12.6563%207.07108L12.656%207.07082L8.41346%2011.3134L6.99924%209.89916L10.3126%206.5858L0%206.5858L0%204.5858L10.171%204.5858L6.9994%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="14"
height="11"
/>
</span>
<span class="nd-back__text">Back</span>
</a>
<article class="nd-article">
<header class="nd-article__header">
<h1 class="nd-article__title">{$hc_content_tmp_news['title']}</h1>
<time class="nd-article__date" datetime="{$create_time_str}">{$create_time_str}</time>
</header>
<div class="nd-richtext">
{$hc_content_tmp_news['content']|raw}
</div>
<nav class="nd-pager" aria-label="上下篇">
{php}
// 与 HcTaglib::tagPreContent / tagNextContent 一致,只查相邻一篇
$id = (int)request()->param('id');
$cid = (int)request()->param('cid');
if ($cid <= 0) {
$cid = (int)($current_cate['id'] ?? ($hc_content['category_id'] ?? 0));
}
$sellerId = (int)($hc_content['seller_id'] ?? 1);
$siteId = (int)($current_cate['website_id'] ?? 1);
$lang = (string)($current_cate['lang'] ?? ($hc_content['lang'] ?? 'zh'));
$preContent = \app\service\ContentService::getPreContent([
'id' => $id,
'cid' => $cid,
'seller_id' => $sellerId,
'website_id' => $siteId,
'lang' => $lang,
]);
$nextContent = \app\service\ContentService::getNextContent([
'id' => $id,
'cid' => $cid,
'seller_id' => $sellerId,
'website_id' => $siteId,
'lang' => $lang,
]);
$preId = 0;
$preTitle = '';
$preCid = $cid;
if (!empty($preContent)) {
$preId = (int)$preContent['id'];
$preTitle = $preContent['title'];
}
$nextId = 0;
$nextTitle = '';
$nextCid = $cid;
if (!empty($nextContent)) {
$nextId = (int)$nextContent['id'];
$nextTitle = $nextContent['title'];
}
{/php}
{if condition="empty($preId)"}
<a class="nd-pager__item nd-pager__item--prev" href="javascript:;">
<span class="nd-pager__label" title="没有了">上一篇:没有了</span>
</a>
{else /}
<a class="nd-pager__item nd-pager__item--prev" href="{:hcUrl('Detail/index',['id'=>$preId,'cid'=>$preCid])}">
<span class="nd-pager__label" title="{$preTitle}">上一篇:{$preTitle}</span>
</a>
{/if}
{if condition="empty($nextId)"}
<a class="nd-pager__item nd-pager__item--next" href="javascript:;">
<span class="nd-pager__label" title="没有了">下一篇:没有了</span>
</a>
{else /}
<a class="nd-pager__item nd-pager__item--next" href="{:hcUrl('Detail/index',['id'=>$nextId,'cid'=>$nextCid])}">
<span class="nd-pager__label" title="{$nextTitle}">下一篇:{$nextTitle}</span>
</a>
{/if}
</nav>
</article>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script
src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

476
public/themes/website/1/en/demo/news.html

@ -1,239 +1,239 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
{php}
$current_cate_id = $current_cate['id'] ?? '';
// var_dump($current_cate);exit;
{/php}
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$current_cate.seo_title}</title>
<meta name="keywords" content="{$current_cate.seo_keywords}" />
<meta name="description" content="{$current_cate.seo_description}" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/news.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/news2.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/news.css" />
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-news" data-header-dark data-nav="新闻动态">
{hcTaglib:category id="361" item="vo" field="id,title,alias"}
{php}
$news_cate_info = $vo;
$news_cate_info_alias = $vo['alias'] ?? '';
{/php}
{/hcTaglib:category}
<div class="n-page section__wrap">
<div class="n-head">
<h1 class="n-head__title">
<span>了解睿能科技</span>
<span>新闻动态</span>
</h1>
<div class="n-tabs" role="tablist" aria-label="新闻分类">
{php}
$news_active_cat = (string)input('cat', '');
if ($news_active_cat === '' || $news_active_cat === 'all') {
$news_active_cat = (string)($current_cate_id ?: ($news_cate_info['id'] ?? ''));
}
$news_all_cat = (string)($news_cate_info['id'] ?? '');
{/php}
<a href="{$news_cate_info_alias}?cat={$news_cate_info['id']}" class="n-tabs__item{if $news_active_cat == $news_all_cat} is-active{/if}" role="tab" aria-selected="{if $news_active_cat == $news_all_cat}true{else /}false{/if}" data-cat="{$news_cate_info['id']}">全部</a>
{hcTaglib:subcategory pid="$news_cate_info['id']" item="vo" sort=""}
<a href="{$vo.alias}?cat={$vo['id']}" class="n-tabs__item{if $news_active_cat == $vo['id']} is-active{/if}" role="tab" aria-selected="{if $news_active_cat == $vo['id']}true{else /}false{/if}" data-cat="{$vo.id}">{$vo.title}</a>
{/hcTaglib:subcategory}
</div>
</div>
{hcTaglib:contentPage2 cid="$current_cate_id" mainField="id,category_id,title,sub_title,thumbnail,content,description,create_time,is_top" subField="" name="hc_featured" limit="100" item="content_sub22" sort="sort asc" isTop="1"}
{/hcTaglib:contentPage2}
{php}
$news_has_featured = false;
if (!empty($hc_featured)) {
if (is_object($hc_featured) && method_exists($hc_featured, 'isEmpty')) {
$news_has_featured = !$hc_featured->isEmpty();
} elseif (is_countable($hc_featured)) {
$news_has_featured = count($hc_featured) > 0;
}
}
{/php}
{if $news_has_featured}
<article class="n-featured">
<div class="n-featured__swiper swiper">
<div class="swiper-wrapper">
{volist name="hc_featured" id="vo_content"}
{php}
$content = $vo_content['content'] ?? ''; // 富文本
$description = $vo_content['description'] ?? ''; // 描述
$title = $vo_content['title'] ?? ''; // 标题
$create_time_str = $vo_content['create_time'] ?? '';
{/php}
<div class="swiper-slide n-featured__slide" data-category="company">
<div class="n-featured__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" width="720" height="480" alt="{$vo_content.title}" />
</div>
<div class="n-featured__body">
<div class="n-featured__content">
<time class="n-featured__date" datetime="{$create_time_str}">{$create_time_str}</time>
<h2 class="n-featured__title">{$title}</h2>
<p class="n-featured__desc">
{$description|raw}
</p>
</div>
<div class="n-featured__foot">
<a class="n-link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<span>探索更多</span>
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2016.502%206.66113'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16.501953'%20height='6.661133'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='箭头%202'%20d='M0%202.83057L16%202.83057L16%203.83057L0%203.83057L0%202.83057ZM15.2929%203.33057L12.818%200.855693C12.62%200.657703%2012.62%200.346575%2012.818%200.148586C13.016%20-0.0494041%2013.3271%20-0.0494046%2013.5251%200.148585L16.3536%202.97701C16.5515%203.175%2016.5515%203.48613%2016.3536%203.68412L13.5251%206.51255C13.3271%206.71054%2013.016%206.71054%2012.818%206.51255C12.62%206.31456%2012.62%206.00343%2012.818%205.80544L15.2929%203.33057Z'%20fill='rgb(102,102,102)'%20fill-rule='nonzero'%20/%3e%3c/svg%3e"
alt="" width="16" height="7" />
</a>
</div>
</div>
</div>
{/volist}
</div>
</div>
<div class="n-featured__nav">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一条">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none"
customFrame="#000000">
<path id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一条">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none"
customFrame="#000000">
<path id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</article>
{/if}
<div class="n-grid">
{hcTaglib:contentPage2 cid="$current_cate_id" mainField="id,category_id,title,sub_title,thumbnail,content,description,create_time,is_top" subField="" name="hc_content" limit="6" item="content_sub22" sort="sort asc" isTop="222"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
{php}
$content = $hc_content['content'] ?? '';
$description = $hc_content['description'] ?? '';
$create_time_int = $hc_content['create_time'] ?? '';
$create_time_str = '';
if(!empty($create_time_int)){
$create_time_str = date('Y-m-d', $create_time_int);
}
// dd($hc_content->toArray());exit;
{/php}
<article class="n-card" data-category="insight">
<div class="n-card__top">
<time class="n-card__date" datetime="{$create_time_str}">{$create_time_str}</time>
<h3 class="n-card__title">{$vo_content.title}</h3>
<a class="n-link n-link--sm" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<span>探索更多</span>
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2016.502%206.66113'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16.501953'%20height='6.661133'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='箭头%202'%20d='M0%202.83057L16%202.83057L16%203.83057L0%203.83057L0%202.83057ZM15.2929%203.33057L12.818%200.855693C12.62%200.657703%2012.62%200.346575%2012.818%200.148586C13.016%20-0.0494041%2013.3271%20-0.0494046%2013.5251%200.148585L16.3536%202.97701C16.5515%203.175%2016.5515%203.48613%2016.3536%203.68412L13.5251%206.51255C13.3271%206.71054%2013.016%206.71054%2012.818%206.51255C12.62%206.31456%2012.62%206.00343%2012.818%205.80544L15.2929%203.33057Z'%20fill='rgb(102,102,102)'%20fill-rule='nonzero'%20/%3e%3c/svg%3e"
alt="" width="16" height="7" />
</a>
</div>
<div class="n-card__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" alt="" loading="lazy" />
</div>
</article>
{/volist}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关新闻';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
<!-- 分页 -->
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
{php}
$current_cate_id = $current_cate['id'] ?? '';
// var_dump($current_cate);exit;
{/php}
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$current_cate.seo_title}</title>
<meta name="keywords" content="{$current_cate.seo_keywords}" />
<meta name="description" content="{$current_cate.seo_description}" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/news.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/news2.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/news.css" />
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-news" data-header-dark data-nav="新闻动态">
{hcTaglib:category id="361" item="vo" field="id,title,alias"}
{php}
$news_cate_info = $vo;
$news_cate_info_alias = $vo['alias'] ?? '';
{/php}
{/hcTaglib:category}
<div class="n-page section__wrap">
<div class="n-head">
<h1 class="n-head__title">
<span>了解睿能科技</span>
<span>新闻动态</span>
</h1>
<div class="n-tabs" role="tablist" aria-label="新闻分类">
{php}
$news_active_cat = (string)input('cat', '');
if ($news_active_cat === '' || $news_active_cat === 'all') {
$news_active_cat = (string)($current_cate_id ?: ($news_cate_info['id'] ?? ''));
}
$news_all_cat = (string)($news_cate_info['id'] ?? '');
{/php}
<a href="{$news_cate_info_alias}?cat={$news_cate_info['id']}" class="n-tabs__item{if $news_active_cat == $news_all_cat} is-active{/if}" role="tab" aria-selected="{if $news_active_cat == $news_all_cat}true{else /}false{/if}" data-cat="{$news_cate_info['id']}">全部</a>
{hcTaglib:subcategory pid="$news_cate_info['id']" item="vo" sort=""}
<a href="{$vo.alias}?cat={$vo['id']}" class="n-tabs__item{if $news_active_cat == $vo['id']} is-active{/if}" role="tab" aria-selected="{if $news_active_cat == $vo['id']}true{else /}false{/if}" data-cat="{$vo.id}">{$vo.title}</a>
{/hcTaglib:subcategory}
</div>
</div>
{hcTaglib:contentPage2 cid="$current_cate_id" mainField="id,category_id,title,sub_title,thumbnail,content,description,create_time,is_top" subField="" name="hc_featured" limit="100" item="content_sub22" sort="sort asc" isTop="1"}
{/hcTaglib:contentPage2}
{php}
$news_has_featured = false;
if (!empty($hc_featured)) {
if (is_object($hc_featured) && method_exists($hc_featured, 'isEmpty')) {
$news_has_featured = !$hc_featured->isEmpty();
} elseif (is_countable($hc_featured)) {
$news_has_featured = count($hc_featured) > 0;
}
}
{/php}
{if $news_has_featured}
<article class="n-featured">
<div class="n-featured__swiper swiper">
<div class="swiper-wrapper">
{volist name="hc_featured" id="vo_content"}
{php}
$content = $vo_content['content'] ?? ''; // 富文本
$description = $vo_content['description'] ?? ''; // 描述
$title = $vo_content['title'] ?? ''; // 标题
$create_time_str = $vo_content['create_time'] ?? '';
{/php}
<div class="swiper-slide n-featured__slide" data-category="company">
<div class="n-featured__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" width="720" height="480" alt="{$vo_content.title}" />
</div>
<div class="n-featured__body">
<div class="n-featured__content">
<time class="n-featured__date" datetime="{$create_time_str}">{$create_time_str}</time>
<h2 class="n-featured__title">{$title}</h2>
<p class="n-featured__desc">
{$description|raw}
</p>
</div>
<div class="n-featured__foot">
<a class="n-link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<span>探索更多</span>
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2016.502%206.66113'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16.501953'%20height='6.661133'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='箭头%202'%20d='M0%202.83057L16%202.83057L16%203.83057L0%203.83057L0%202.83057ZM15.2929%203.33057L12.818%200.855693C12.62%200.657703%2012.62%200.346575%2012.818%200.148586C13.016%20-0.0494041%2013.3271%20-0.0494046%2013.5251%200.148585L16.3536%202.97701C16.5515%203.175%2016.5515%203.48613%2016.3536%203.68412L13.5251%206.51255C13.3271%206.71054%2013.016%206.71054%2012.818%206.51255C12.62%206.31456%2012.62%206.00343%2012.818%205.80544L15.2929%203.33057Z'%20fill='rgb(102,102,102)'%20fill-rule='nonzero'%20/%3e%3c/svg%3e"
alt="" width="16" height="7" />
</a>
</div>
</div>
</div>
{/volist}
</div>
</div>
<div class="n-featured__nav">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一条">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none"
customFrame="#000000">
<path id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一条">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none"
customFrame="#000000">
<path id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</article>
{/if}
<div class="n-grid">
{hcTaglib:contentPage2 cid="$current_cate_id" mainField="id,category_id,title,sub_title,thumbnail,content,description,create_time,is_top" subField="" name="hc_content" limit="6" item="content_sub22" sort="sort asc" isTop="222"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
{php}
$content = $hc_content['content'] ?? '';
$description = $hc_content['description'] ?? '';
$create_time_int = $hc_content['create_time'] ?? '';
$create_time_str = '';
if(!empty($create_time_int)){
$create_time_str = date('Y-m-d', $create_time_int);
}
// dd($hc_content->toArray());exit;
{/php}
<article class="n-card" data-category="insight">
<div class="n-card__top">
<time class="n-card__date" datetime="{$create_time_str}">{$create_time_str}</time>
<h3 class="n-card__title">{$vo_content.title}</h3>
<a class="n-link n-link--sm" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<span>探索更多</span>
<img
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2016.502%206.66113'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16.501953'%20height='6.661133'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='箭头%202'%20d='M0%202.83057L16%202.83057L16%203.83057L0%203.83057L0%202.83057ZM15.2929%203.33057L12.818%200.855693C12.62%200.657703%2012.62%200.346575%2012.818%200.148586C13.016%20-0.0494041%2013.3271%20-0.0494046%2013.5251%200.148585L16.3536%202.97701C16.5515%203.175%2016.5515%203.48613%2016.3536%203.68412L13.5251%206.51255C13.3271%206.71054%2013.016%206.71054%2012.818%206.51255C12.62%206.31456%2012.62%206.00343%2012.818%205.80544L15.2929%203.33057Z'%20fill='rgb(102,102,102)'%20fill-rule='nonzero'%20/%3e%3c/svg%3e"
alt="" width="16" height="7" />
</a>
</div>
<div class="n-card__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" alt="" loading="lazy" />
</div>
</article>
{/volist}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关新闻';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
<!-- 分页 -->
{$hc_content|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

964
public/themes/website/1/en/demo/product.html

@ -1,482 +1,482 @@
<!doctype html>
<html lang="zh-CN">
{php}
// var_dump($hc_content);exit;
// 基本信息
$id = $hc_content['id'] ?? '';
$category_id = $hc_content['category_id'] ?? '';
$sub_category_ids = $hc_content['sub_category_ids'] ?? '';
$module_id = $hc_content['module_id'] ?? '';
$lang = $hc_content['lang'] ?? '';
$main_id = $hc_content['main_id'] ?? '';
$title = $hc_content['title'] ?? '';
$sub_title = $hc_content['sub_title'] ?? '';
$description = $hc_content['description'] ?? '';
$content = $hc_content['content'] ?? '';
$cover = $hc_content['cover'] ?? '';
$hits = $hc_content['hits'] ?? '';
$admin_id = $hc_content['admin_id'] ?? '';
$author = $hc_content['author'] ?? '';
$status = $hc_content['status'] ?? '';
$check_status = $hc_content['check_status'] ?? '';
$url = $hc_content['url'] ?? '';
$publish_time = $hc_content['publish_time'] ?? '';
$is_top = $hc_content['is_top'] ?? '';
$top_time = $hc_content['top_time'] ?? '';
$is_recommend = $hc_content['is_recommend'] ?? '';
$sort = $hc_content['sort'] ?? '';
$detail_tpl = $hc_content['detail_tpl'] ?? '';
$seo_title = $hc_content['seo_title'] ?? '';
$seo_keyword = $hc_content['seo_keyword'] ?? '';
$seo_description = $hc_content['seo_description'] ?? '';
$version = $hc_content['version'] ?? '';
$show_version = $hc_content['show_version'] ?? '';
$is_del = $hc_content['is_del'] ?? '';
$del_user_id = $hc_content['del_user_id'] ?? '';
$delete_time = $hc_content['delete_time'] ?? '';
$create_time = $hc_content['create_time'] ?? '';
$update_time = $hc_content['update_time'] ?? '';
$tag = $hc_content['tag'] ?? [];
// 缩略图
$thumbnail = (array)($hc_content['thumbnail'] ?? []);
$thumbnail_id = $thumbnail['id'] ?? '';
$thumbnail_name = $thumbnail['name'] ?? '';
$thumbnail_url = $thumbnail['url'] ?? '';
$thumbnail_type = $thumbnail['type'] ?? '';
$thumbnail_description = $thumbnail['description'] ?? '';
// 扩展内容
$main_content = $hc_content['main_content'] ?? [];
$main_content_id = $main_content['id'] ?? '';
$rich_text_two = $main_content['rich_text_two'] ?? '';
$pic_many_one = $main_content['pic_many_one'] ?? []; // 产品介绍多图
$pic_many = $main_content['pic_many'] ?? []; // 规格参数展示图集
$rich_text_three = $main_content['rich_text_three'] ?? ''; // 规格参数第一个富文本框
$rich_text_four = $main_content['rich_text_four'] ?? '';
$rich_text_five = $main_content['rich_text_five'] ?? '';
$rich_text_six = $main_content['rich_text_six'] ?? '';
$rich_text_seven = $main_content['rich_text_seven'] ?? '';
$resource_download_names = $main_content['resource_download_names'] ?? ''; // 下载文件自定义名称
$atlas = $main_content['atlas'] ?? [];
$file = $main_content['file'] ?? '';
$content_desc = $main_content['content_desc'] ?? '';
$mc_lang = $main_content['lang'] ?? '';
$lang_pid = $main_content['lang_pid'] ?? '';
$sub_id = $main_content['sub_id'] ?? '';
$mc_create_time = $main_content['create_time'] ?? '';
$mc_update_time = $main_content['update_time'] ?? '';
// 资源图片
$resource_pic = (array)($main_content['resource_pic'] ?? []);
$resource_pic_id = $resource_pic['id'] ?? '';
$resource_pic_name = $resource_pic['name'] ?? '';
$resource_pic_url = $resource_pic['url'] ?? '';
$resource_pic_type = $resource_pic['type'] ?? '';
$resource_pic_description = $resource_pic['description'] ?? '';
$resource_pic_children = $resource_pic['children'] ?? [];
// 资源下载
$resource_download = $main_content['resource_download'] ?? [];
{/php}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{$title} - 睿能科技</title>
<meta name="keywords" content="{$seo_keyword}" />
<meta name="description" content="{$seo_description}" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement;
// 设计稿宽度
var DESIGN_WIDTH = 1920;
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16;
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14;
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width;
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN;
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE;
h.style.fontSize = size + "px";
}
setRootFontSize();
var resizeRaf = 0;
window.addEventListener("resize", function () {
if (resizeRaf) return;
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0;
setRootFontSize();
});
});
})();
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link
href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="module" crossorigin src="/themes/dist_static/static/js/product.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/product.css" />
</head>
<body>
<!-- header -->
<!-- header -->
{include file="components/header"}
<nav class="p-subnav" aria-label="产品导航" data-p-subnav aria-hidden="true">
<div class="p-subnav__inner section__wrap">
<p class="p-subnav__title">{$title}</p>
<div class="p-subnav__links" role="list">
<a class="p-subnav__link is-active" href="#p-intro" data-p-nav="p-intro" role="listitem">产品概况</a>
<a class="p-subnav__link" href="#p-spec" data-p-nav="p-spec" role="listitem">规格参数</a>
<a class="p-subnav__link" href="#p-download" data-p-nav="p-download" role="listitem">资料下载</a>
<a class="p-subnav__link" href="#p-related" data-p-nav="p-related" role="listitem">相关产品</a>
</div>
<a class="p-subnav__cta {if empty($content)}hidden{/if}" href="#p-spec" data-selection-trigger>查看选型表</a>
</div>
</nav>
<main class="main-product" data-header-dark data-nav="产品">
<section class="p-hero section__wrap">
<div class="p-hero__inner">
<h1 class="section__title">{$title}</h1>
<a class="s-btn s-btn--light s-btn--pill {if empty($content)}hidden{/if}" href="javascript:;" data-selection-trigger>查看选型表</a>
<div class="p-hero__media">
<div class="p-hero__mark" aria-hidden="true">{$sub_title}</div>
<img src="{:deal_image_url($thumbnail_url)}" width="434" height="601" alt="RA3系列伺服驱动器" />
</div>
</div>
</section>
<!-- 产品介绍 -->
<section class="p-intro section__wrap" id="p-intro">
<div class="p-intro__inner">
<div class="p-intro__visual">
<div class="p-intro__gallery swiper">
<div class="swiper-wrapper">
{volist name="pic_many_one" id="vo" key="key"}
<div class="swiper-slide">
<img src="{:deal_image_url($vo['url'] ?? '')}" width="200" height="514" alt="RA3产品图" />
</div>
{/volist}
</div>
</div>
<div class="p-intro__gallery-nav">
<div class="p-intro__gallery-pagination"></div>
</div>
</div>
<!-- 产品介绍,产品优势,产品特性 -->
<div class="p-intro__content">
{$rich_text_two|raw}
</div>
</div>
</section>
<!-- 规格参数 , 如果第一个富文本没有内容,则整个规格参数都不显示-->
<section class="p-spec section__wrap" id="p-spec" {if empty($rich_text_three)}style="display: none"{/if}>
<div class="p-spec__inner">
<h2 class="section__title">规格参数</h2>
<div class="p-spec__models" {if empty($pic_many)}style="display: none"{/if}>
<span class="p-spec__models-label">产品型号</span>
<div class="p-spec__tabs nav" role="tablist" aria-label="产品型号">
<!-- 规格参数,产品型号 -->
{php}
$total_standard_num = 0;
{/php}
{volist name="pic_many" id="vo" key="key"}
<button
type="button"
class="p-spec__tab nav-link {if $key==1}active{/if}"
id="p-spec-tab-{$key}"
data-bs-toggle="tab"
data-bs-target="#p-spec-panel-{$key}"
role="tab"
aria-controls="p-spec-panel-{$key}"
aria-selected="{if $key==1}true{else /}false{/if}"
>
<span class="p-spec__tab-media">
<img src="{:deal_image_url($vo['url'] ?? '')}" width="80" height="111" alt="" />
</span>
<span class="p-spec__tab-name">{$vo.description}</span>
</button>
{php}
$total_standard_num++;
{/php}
{/volist}
</div>
</div>
<div class="p-spec__body tab-content">
{volist name="pic_many" id="vo" key="key"}
<div
class="tab-pane fade {if $key==1}show active{/if}"
id="p-spec-panel-{$key}"
role="tabpanel"
aria-labelledby="p-spec-tab-{$key}"
tabindex="0"
>
{switch $key}
{case 1}{$rich_text_three|raw}{/case}
{case 2}{$rich_text_four|raw}{/case}
{case 3}{$rich_text_five|raw}{/case}
{case 4}{$rich_text_six|raw}{/case}
{case 5}{$rich_text_seven|raw}{/case}
{default /}暂无匹配内容
{/switch}
</div>
{/volist}
{if $total_standard_num == 0}
<!-- 无型号 tabs 时仅展示第一个富文本 -->
{$rich_text_three|raw}
{/if}
</div>
</div>
</section>
<!-- 资料下载 -->
<!-- 处理下载资料名称 -->
{php}
// 1. 直接按照 %% 分割
$mainArray = explode("%%", $resource_download_names);
$download_names = [];
// 2. 遍历并拆分
foreach ($mainArray as $item) {
if (trim($item) !== '' && !empty($item)) {
$download_names[] = explode("##", trim($item));
}
}
// 文件匹配
$map = [
'png' => '图片',
'jpg' => '图片',
'jpeg' => '图片',
'pdf' => 'PDF',
'doc' => 'DOC',
'docx' => 'DOC',
'zip' => '压缩包',
'7z' => '压缩包',
'rar' => '压缩包',
];
{/php}
<section class="p-download section__wrap" id="p-download">
<div class="p-download__inner">
<div class="p-download__visual">
<img src="{:deal_image_url($resource_pic['url'] ?? '')}" width="354" height="447" alt="RA3资料示意" />
</div>
<div class="p-download__content">
<h2 class="section__title">资料下载</h2>
<ul class="p-download__list">
{volist name="resource_download" id="one_resource" key="key"}
{php}
$downloadUrl = $one_resource['url'] ?? '';
$nameTmp = $download_names[$key-1][0] ?? ($one_resource['name'] ?? '文件-'.$key);
$descTmp = $download_names[$key-1][1] ?? ('描述-'.$key);
$dateTmp = $download_names[$key-1][2] ?? ('日期-'.$key);
$ext = strtolower(pathinfo($one_resource['url'], PATHINFO_EXTENSION));
$file_type_name = $map[$ext] ?? '未知文件';
// 下载文件名与页面展示名一致(展示名未带扩展名时补充)
$download_name = ($ext !== '' && strtolower(pathinfo($nameTmp, PATHINFO_EXTENSION)) === $ext) ? $nameTmp : rtrim($nameTmp, '.') . '.' . $ext;
{/php}
<li class="p-download__item">
<div class="p-download__info">
<h3 class="p-download__name">{$nameTmp}</h3>
<p class="p-download__meta">
<span>{$descTmp}</span>
<span class="p-download__meta-divider"></span>
<time datetime="2025-10-11">{$dateTmp}</time>
</p>
</div>
<a
class="p-download__link"
href="{$downloadUrl}"
download="{$download_name}"
>
<svg
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="24.000000"
height="24.000000"
fill="none"
customFrame="#000000"
>
<g id="frame">
<path
id="Vector"
d="M16.4405 8.8999C20.0405 9.2099 21.5105 11.0599 21.5105 15.1099L21.5105 15.2399C21.5105 19.7099 19.7205 21.4999 15.2505 21.4999L8.74047 21.4999C4.27047 21.4999 2.48047 19.7099 2.48047 15.2399L2.48047 15.1099C2.48047 11.0899 3.93047 9.2399 7.47047 8.9099"
fill-rule="nonzero"
stroke="rgb(102,102,102)"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="1.500000"
/>
<path
id="Vector"
d="M0 0L12.88 0"
stroke="rgb(102,102,102)"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="1.500000"
transform="matrix(0,1,-1,0,12,2)"
/>
<path
id="Vector"
d="M15.3504 12.6499L12.0004 15.9999L8.65039 12.6499"
fill-rule="nonzero"
stroke="rgb(102,102,102)"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="1.500000"
/>
<path
id="Vector"
d="M24 0L0 0L0 24L24 24L24 0ZM1 23L1 1L23 1L23 23L1 23Z"
opacity="0"
fill="rgb(102,102,102)"
fill-rule="evenodd"
transform="matrix(-1,-1.22465e-16,1.22465e-16,-1,24,24)"
/>
</g>
</svg>
<span>下载{$file_type_name}</span>
</a>
</li>
{/volist}
</ul>
</div>
</div>
</section>
<!-- 相关产品 -->
<section class="p-related section__wrap" id="p-related">
<div class="p-related__inner">
<div class="p-related__header">
<h2 class="section__title">相关产品</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path
id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)"
fill-rule="evenodd"
/>
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path
id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)"
fill-rule="evenodd"
/>
</svg>
</button>
</div>
</div>
<div class="p-related__swiper swiper">
<div class="swiper-wrapper">
{hcTaglib:contentPage2 cid="$category_id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="30" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="swiper-slide p-related__card">
<a class="p-related__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="p-related__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" width="100" height="206" alt="" />
</div>
<div class="p-related__foot">
<h3 class="p-related__name">{$vo_content.title}</h3>
<span class="p-related__arrow" aria-hidden="true">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path
id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)"
fill-rule="evenodd"
/>
</svg>
</span>
</div>
</a>
</article>
{/volist}
</div>
<!-- <div class="p-related__pagination swiper-pagination"></div> -->
</div>
</div>
</section>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script
src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
<div class="p-selection-modal" id="p-selection-modal" data-selection-modal hidden>
<div class="p-selection-modal__overlay" data-selection-close></div>
<div class="p-selection-modal__dialog" role="dialog" aria-modal="true" aria-label="选型表">
<div class="p-selection-modal__head">
<h2 class="p-selection-modal__title">选型表</h2>
<button type="button" class="p-selection-modal__close" aria-label="关闭" data-selection-close>
<svg
viewBox="0 0 24 24"
width="24"
height="24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
</svg>
</button>
</div>
<div class="p-selection-modal__body">
<div class="p-selection-modal__table-wrap" data-lenis-prevent>
{$content|raw}
</div>
</div>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="zh-CN">
{php}
// var_dump($hc_content);exit;
// 基本信息
$id = $hc_content['id'] ?? '';
$category_id = $hc_content['category_id'] ?? '';
$sub_category_ids = $hc_content['sub_category_ids'] ?? '';
$module_id = $hc_content['module_id'] ?? '';
$lang = $hc_content['lang'] ?? '';
$main_id = $hc_content['main_id'] ?? '';
$title = $hc_content['title'] ?? '';
$sub_title = $hc_content['sub_title'] ?? '';
$description = $hc_content['description'] ?? '';
$content = $hc_content['content'] ?? '';
$cover = $hc_content['cover'] ?? '';
$hits = $hc_content['hits'] ?? '';
$admin_id = $hc_content['admin_id'] ?? '';
$author = $hc_content['author'] ?? '';
$status = $hc_content['status'] ?? '';
$check_status = $hc_content['check_status'] ?? '';
$url = $hc_content['url'] ?? '';
$publish_time = $hc_content['publish_time'] ?? '';
$is_top = $hc_content['is_top'] ?? '';
$top_time = $hc_content['top_time'] ?? '';
$is_recommend = $hc_content['is_recommend'] ?? '';
$sort = $hc_content['sort'] ?? '';
$detail_tpl = $hc_content['detail_tpl'] ?? '';
$seo_title = $hc_content['seo_title'] ?? '';
$seo_keyword = $hc_content['seo_keyword'] ?? '';
$seo_description = $hc_content['seo_description'] ?? '';
$version = $hc_content['version'] ?? '';
$show_version = $hc_content['show_version'] ?? '';
$is_del = $hc_content['is_del'] ?? '';
$del_user_id = $hc_content['del_user_id'] ?? '';
$delete_time = $hc_content['delete_time'] ?? '';
$create_time = $hc_content['create_time'] ?? '';
$update_time = $hc_content['update_time'] ?? '';
$tag = $hc_content['tag'] ?? [];
// 缩略图
$thumbnail = (array)($hc_content['thumbnail'] ?? []);
$thumbnail_id = $thumbnail['id'] ?? '';
$thumbnail_name = $thumbnail['name'] ?? '';
$thumbnail_url = $thumbnail['url'] ?? '';
$thumbnail_type = $thumbnail['type'] ?? '';
$thumbnail_description = $thumbnail['description'] ?? '';
// 扩展内容
$main_content = $hc_content['main_content'] ?? [];
$main_content_id = $main_content['id'] ?? '';
$rich_text_two = $main_content['rich_text_two'] ?? '';
$pic_many_one = $main_content['pic_many_one'] ?? []; // 产品介绍多图
$pic_many = $main_content['pic_many'] ?? []; // 规格参数展示图集
$rich_text_three = $main_content['rich_text_three'] ?? ''; // 规格参数第一个富文本框
$rich_text_four = $main_content['rich_text_four'] ?? '';
$rich_text_five = $main_content['rich_text_five'] ?? '';
$rich_text_six = $main_content['rich_text_six'] ?? '';
$rich_text_seven = $main_content['rich_text_seven'] ?? '';
$resource_download_names = $main_content['resource_download_names'] ?? ''; // 下载文件自定义名称
$atlas = $main_content['atlas'] ?? [];
$file = $main_content['file'] ?? '';
$content_desc = $main_content['content_desc'] ?? '';
$mc_lang = $main_content['lang'] ?? '';
$lang_pid = $main_content['lang_pid'] ?? '';
$sub_id = $main_content['sub_id'] ?? '';
$mc_create_time = $main_content['create_time'] ?? '';
$mc_update_time = $main_content['update_time'] ?? '';
// 资源图片
$resource_pic = (array)($main_content['resource_pic'] ?? []);
$resource_pic_id = $resource_pic['id'] ?? '';
$resource_pic_name = $resource_pic['name'] ?? '';
$resource_pic_url = $resource_pic['url'] ?? '';
$resource_pic_type = $resource_pic['type'] ?? '';
$resource_pic_description = $resource_pic['description'] ?? '';
$resource_pic_children = $resource_pic['children'] ?? [];
// 资源下载
$resource_download = $main_content['resource_download'] ?? [];
{/php}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{$title} - 睿能科技</title>
<meta name="keywords" content="{$seo_keyword}" />
<meta name="description" content="{$seo_description}" />
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement;
// 设计稿宽度
var DESIGN_WIDTH = 1920;
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16;
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14;
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width;
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN;
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE;
h.style.fontSize = size + "px";
}
setRootFontSize();
var resizeRaf = 0;
window.addEventListener("resize", function () {
if (resizeRaf) return;
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0;
setRootFontSize();
});
});
})();
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link
href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="module" crossorigin src="/themes/dist_static/static/js/product.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css" />
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/product.css" />
</head>
<body>
<!-- header -->
<!-- header -->
{include file="components/header"}
<nav class="p-subnav" aria-label="产品导航" data-p-subnav aria-hidden="true">
<div class="p-subnav__inner section__wrap">
<p class="p-subnav__title">{$title}</p>
<div class="p-subnav__links" role="list">
<a class="p-subnav__link is-active" href="#p-intro" data-p-nav="p-intro" role="listitem">产品概况</a>
<a class="p-subnav__link" href="#p-spec" data-p-nav="p-spec" role="listitem">规格参数</a>
<a class="p-subnav__link" href="#p-download" data-p-nav="p-download" role="listitem">资料下载</a>
<a class="p-subnav__link" href="#p-related" data-p-nav="p-related" role="listitem">相关产品</a>
</div>
<a class="p-subnav__cta {if empty($content)}hidden{/if}" href="#p-spec" data-selection-trigger>查看选型表</a>
</div>
</nav>
<main class="main-product" data-header-dark data-nav="产品">
<section class="p-hero section__wrap">
<div class="p-hero__inner">
<h1 class="section__title">{$title}</h1>
<a class="s-btn s-btn--light s-btn--pill {if empty($content)}hidden{/if}" href="javascript:;" data-selection-trigger>查看选型表</a>
<div class="p-hero__media">
<div class="p-hero__mark" aria-hidden="true">{$sub_title}</div>
<img src="{:deal_image_url($thumbnail_url)}" width="434" height="601" alt="RA3系列伺服驱动器" />
</div>
</div>
</section>
<!-- 产品介绍 -->
<section class="p-intro section__wrap" id="p-intro">
<div class="p-intro__inner">
<div class="p-intro__visual">
<div class="p-intro__gallery swiper">
<div class="swiper-wrapper">
{volist name="pic_many_one" id="vo" key="key"}
<div class="swiper-slide">
<img src="{:deal_image_url($vo['url'] ?? '')}" width="200" height="514" alt="RA3产品图" />
</div>
{/volist}
</div>
</div>
<div class="p-intro__gallery-nav">
<div class="p-intro__gallery-pagination"></div>
</div>
</div>
<!-- 产品介绍,产品优势,产品特性 -->
<div class="p-intro__content">
{$rich_text_two|raw}
</div>
</div>
</section>
<!-- 规格参数 , 如果第一个富文本没有内容,则整个规格参数都不显示-->
<section class="p-spec section__wrap" id="p-spec" {if empty($rich_text_three)}style="display: none"{/if}>
<div class="p-spec__inner">
<h2 class="section__title">规格参数</h2>
<div class="p-spec__models" {if empty($pic_many)}style="display: none"{/if}>
<span class="p-spec__models-label">产品型号</span>
<div class="p-spec__tabs nav" role="tablist" aria-label="产品型号">
<!-- 规格参数,产品型号 -->
{php}
$total_standard_num = 0;
{/php}
{volist name="pic_many" id="vo" key="key"}
<button
type="button"
class="p-spec__tab nav-link {if $key==1}active{/if}"
id="p-spec-tab-{$key}"
data-bs-toggle="tab"
data-bs-target="#p-spec-panel-{$key}"
role="tab"
aria-controls="p-spec-panel-{$key}"
aria-selected="{if $key==1}true{else /}false{/if}"
>
<span class="p-spec__tab-media">
<img src="{:deal_image_url($vo['url'] ?? '')}" width="80" height="111" alt="" />
</span>
<span class="p-spec__tab-name">{$vo.description}</span>
</button>
{php}
$total_standard_num++;
{/php}
{/volist}
</div>
</div>
<div class="p-spec__body tab-content">
{volist name="pic_many" id="vo" key="key"}
<div
class="tab-pane fade {if $key==1}show active{/if}"
id="p-spec-panel-{$key}"
role="tabpanel"
aria-labelledby="p-spec-tab-{$key}"
tabindex="0"
>
{switch $key}
{case 1}{$rich_text_three|raw}{/case}
{case 2}{$rich_text_four|raw}{/case}
{case 3}{$rich_text_five|raw}{/case}
{case 4}{$rich_text_six|raw}{/case}
{case 5}{$rich_text_seven|raw}{/case}
{default /}暂无匹配内容
{/switch}
</div>
{/volist}
{if $total_standard_num == 0}
<!-- 无型号 tabs 时仅展示第一个富文本 -->
{$rich_text_three|raw}
{/if}
</div>
</div>
</section>
<!-- 资料下载 -->
<!-- 处理下载资料名称 -->
{php}
// 1. 直接按照 %% 分割
$mainArray = explode("%%", $resource_download_names);
$download_names = [];
// 2. 遍历并拆分
foreach ($mainArray as $item) {
if (trim($item) !== '' && !empty($item)) {
$download_names[] = explode("##", trim($item));
}
}
// 文件匹配
$map = [
'png' => '图片',
'jpg' => '图片',
'jpeg' => '图片',
'pdf' => 'PDF',
'doc' => 'DOC',
'docx' => 'DOC',
'zip' => '压缩包',
'7z' => '压缩包',
'rar' => '压缩包',
];
{/php}
<section class="p-download section__wrap" id="p-download">
<div class="p-download__inner">
<div class="p-download__visual">
<img src="{:deal_image_url($resource_pic['url'] ?? '')}" width="354" height="447" alt="RA3资料示意" />
</div>
<div class="p-download__content">
<h2 class="section__title">资料下载</h2>
<ul class="p-download__list">
{volist name="resource_download" id="one_resource" key="key"}
{php}
$downloadUrl = $one_resource['url'] ?? '';
$nameTmp = $download_names[$key-1][0] ?? ($one_resource['name'] ?? '文件-'.$key);
$descTmp = $download_names[$key-1][1] ?? ('描述-'.$key);
$dateTmp = $download_names[$key-1][2] ?? ('日期-'.$key);
$ext = strtolower(pathinfo($one_resource['url'], PATHINFO_EXTENSION));
$file_type_name = $map[$ext] ?? '未知文件';
// 下载文件名与页面展示名一致(展示名未带扩展名时补充)
$download_name = ($ext !== '' && strtolower(pathinfo($nameTmp, PATHINFO_EXTENSION)) === $ext) ? $nameTmp : rtrim($nameTmp, '.') . '.' . $ext;
{/php}
<li class="p-download__item">
<div class="p-download__info">
<h3 class="p-download__name">{$nameTmp}</h3>
<p class="p-download__meta">
<span>{$descTmp}</span>
<span class="p-download__meta-divider"></span>
<time datetime="2025-10-11">{$dateTmp}</time>
</p>
</div>
<a
class="p-download__link"
href="{$downloadUrl}"
download="{$download_name}"
>
<svg
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="24.000000"
height="24.000000"
fill="none"
customFrame="#000000"
>
<g id="frame">
<path
id="Vector"
d="M16.4405 8.8999C20.0405 9.2099 21.5105 11.0599 21.5105 15.1099L21.5105 15.2399C21.5105 19.7099 19.7205 21.4999 15.2505 21.4999L8.74047 21.4999C4.27047 21.4999 2.48047 19.7099 2.48047 15.2399L2.48047 15.1099C2.48047 11.0899 3.93047 9.2399 7.47047 8.9099"
fill-rule="nonzero"
stroke="rgb(102,102,102)"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="1.500000"
/>
<path
id="Vector"
d="M0 0L12.88 0"
stroke="rgb(102,102,102)"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="1.500000"
transform="matrix(0,1,-1,0,12,2)"
/>
<path
id="Vector"
d="M15.3504 12.6499L12.0004 15.9999L8.65039 12.6499"
fill-rule="nonzero"
stroke="rgb(102,102,102)"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="1.500000"
/>
<path
id="Vector"
d="M24 0L0 0L0 24L24 24L24 0ZM1 23L1 1L23 1L23 23L1 23Z"
opacity="0"
fill="rgb(102,102,102)"
fill-rule="evenodd"
transform="matrix(-1,-1.22465e-16,1.22465e-16,-1,24,24)"
/>
</g>
</svg>
<span>下载{$file_type_name}</span>
</a>
</li>
{/volist}
</ul>
</div>
</div>
</section>
<!-- 相关产品 -->
<section class="p-related section__wrap" id="p-related">
<div class="p-related__inner">
<div class="p-related__header">
<h2 class="section__title">相关产品</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path
id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)"
fill-rule="evenodd"
/>
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path
id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)"
fill-rule="evenodd"
/>
</svg>
</button>
</div>
</div>
<div class="p-related__swiper swiper">
<div class="swiper-wrapper">
{hcTaglib:contentPage2 cid="$category_id" mainField="id,category_id,title,sub_title,thumbnail" subField="" name="hc_content" limit="30" item="content_sub22" sort="sort asc"}
{/hcTaglib:contentPage2}
{volist name="hc_content" id="vo_content"}
<article class="swiper-slide p-related__card">
<a class="p-related__link" href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">
<div class="p-related__media">
<img src="{$vo_content['thumbnail']['url'] ?? ''}" width="100" height="206" alt="" />
</div>
<div class="p-related__foot">
<h3 class="p-related__name">{$vo_content.title}</h3>
<span class="p-related__arrow" aria-hidden="true">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path
id="合并"
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z"
fill="rgb(239,67,53)"
fill-rule="evenodd"
/>
</svg>
</span>
</div>
</a>
</article>
{/volist}
</div>
<!-- <div class="p-related__pagination swiper-pagination"></div> -->
</div>
</div>
</section>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script
src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
<div class="p-selection-modal" id="p-selection-modal" data-selection-modal hidden>
<div class="p-selection-modal__overlay" data-selection-close></div>
<div class="p-selection-modal__dialog" role="dialog" aria-modal="true" aria-label="选型表">
<div class="p-selection-modal__head">
<h2 class="p-selection-modal__title">选型表</h2>
<button type="button" class="p-selection-modal__close" aria-label="关闭" data-selection-close>
<svg
viewBox="0 0 24 24"
width="24"
height="24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
</svg>
</button>
</div>
<div class="p-selection-modal__body">
<div class="p-selection-modal__table-wrap" data-lenis-prevent>
{$content|raw}
</div>
</div>
</div>
</div>
</body>
</html>

384
public/themes/website/1/en/demo/search.html

@ -1,192 +1,192 @@
{php}
dd('此页面废弃');
{/php}
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>搜索 - 睿能科技</title>
<meta name="keywords" content="搜索,产品,解决方案,新闻,常见问题,睿能科技">
<meta name="description" content="搜索睿能科技产品、解决方案、新闻动态与常见问题。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/search.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/search.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-search" data-header-dark>
<div class="sr-page section__wrap">
<div class="sr-hero">
<h1 class="sr-hero__title">搜索</h1>
<form class="s-search sr-search" action="/search.html" method="get" role="search">
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="q" value="{$keywords}" placeholder="请输入您想了解的内容" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
<div class="sr-hot">
<span class="sr-hot__label">热门搜索:</span>
<div class="sr-hot__list">
<button type="button" class="sr-hot__tag" data-keyword="HMI">HMI</button>
<button type="button" class="sr-hot__tag" data-keyword="伺服系统">伺服系统</button>
<button type="button" class="sr-hot__tag" data-keyword="纺织行业产品">纺织行业产品</button>
</div>
</div>
</div>
<div class="sr-tabs" role="tablist" aria-label="结果分类">
<button type="button" class="sr-tabs__item is-active" role="tab" aria-selected="true" data-type="all">
全部 ( <span data-count="all">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="product">
产品 ( <span data-count="product">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="solution">
解决方案 ( <span data-count="solution">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="news">
新闻 ( <span data-count="news">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="faq">
常见问题 ( <span data-count="faq">0</span> )
</button>
</div>
<div class="sr-list">
{volist name="list" id="vo"}
{php}
$sr_date = '';
$sr_time = $vo['publish_time'] ?? ($vo['create_time'] ?? '');
if (!empty($sr_time)) {
$sr_date = is_numeric($sr_time) ? date('Y-m-d', (int)$sr_time) : $sr_time;
}
$sr_cid = $vo['category_id'] ?? ($vo['category'][0]['id'] ?? 0);
$sr_thumb = is_array($vo['thumbnail'] ?? null) ? ($vo['thumbnail']['url'] ?? '') : '';
$sr_url = hcUrl('detail/index', ['id' => $vo['id'], 'cid' => $sr_cid]);
$sr_cate_title = $vo['category'][0]['title'] ?? '';
$sr_type = 'other';
if (mb_strpos($sr_cate_title, '产品') !== false) {
$sr_type = 'product';
} elseif (mb_strpos($sr_cate_title, '解决方案') !== false || mb_strpos($sr_cate_title, '方案') !== false) {
$sr_type = 'solution';
} elseif (mb_strpos($sr_cate_title, '新闻') !== false) {
$sr_type = 'news';
} elseif (mb_strpos($sr_cate_title, '常见问题') !== false || mb_strpos($sr_cate_title, 'FAQ') !== false || mb_strpos($sr_cate_title, '问题') !== false) {
$sr_type = 'faq';
}
{/php}
<article class="sr-item" data-type="{$sr_type}" data-keywords="{$vo.title}">
<a class="sr-item__media" href="{$sr_url}">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
<div class="sr-item__body">
<div class="sr-item__main">
<div class="sr-item__meta">
<span class="sr-item__type">{if !empty($vo['category'][0]['title'])}{$vo.category.0.title}{else /}内容{/if}</span>
<span class="sr-item__sep" aria-hidden="true"></span>
<time class="sr-item__date" datetime="{$sr_date}">{$sr_date}</time>
</div>
<h2 class="sr-item__title">
<a href="{$sr_url}">{$vo.title}</a>
</h2>
{notempty name="vo.description"}
<p class="sr-item__desc">{$vo.description}</p>
{/notempty}
</div>
<a class="sr-item__more" href="{$sr_url}">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
</div>
</article>
{/volist}
</div>
<div class="s-empty sr-tabs-empty" hidden>
<p class="s-empty__text">当前分类下暂无结果</p>
</div>
{php}
$list_empty = isHcListEmpty($list ?? null);
if ($list_empty) {
$empty_text = '未找到相关结果,请尝试其他关键词';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$list_page|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
{php}
dd('此页面废弃');
{/php}
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>搜索 - 睿能科技</title>
<meta name="keywords" content="搜索,产品,解决方案,新闻,常见问题,睿能科技">
<meta name="description" content="搜索睿能科技产品、解决方案、新闻动态与常见问题。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/search.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/search.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-search" data-header-dark>
<div class="sr-page section__wrap">
<div class="sr-hero">
<h1 class="sr-hero__title">搜索</h1>
<form class="s-search sr-search" action="/search.html" method="get" role="search">
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="q" value="{$keywords}" placeholder="请输入您想了解的内容" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
<div class="sr-hot">
<span class="sr-hot__label">热门搜索:</span>
<div class="sr-hot__list">
<button type="button" class="sr-hot__tag" data-keyword="HMI">HMI</button>
<button type="button" class="sr-hot__tag" data-keyword="伺服系统">伺服系统</button>
<button type="button" class="sr-hot__tag" data-keyword="纺织行业产品">纺织行业产品</button>
</div>
</div>
</div>
<div class="sr-tabs" role="tablist" aria-label="结果分类">
<button type="button" class="sr-tabs__item is-active" role="tab" aria-selected="true" data-type="all">
全部 ( <span data-count="all">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="product">
产品 ( <span data-count="product">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="solution">
解决方案 ( <span data-count="solution">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="news">
新闻 ( <span data-count="news">0</span> )
</button>
<button type="button" class="sr-tabs__item" role="tab" aria-selected="false" data-type="faq">
常见问题 ( <span data-count="faq">0</span> )
</button>
</div>
<div class="sr-list">
{volist name="list" id="vo"}
{php}
$sr_date = '';
$sr_time = $vo['publish_time'] ?? ($vo['create_time'] ?? '');
if (!empty($sr_time)) {
$sr_date = is_numeric($sr_time) ? date('Y-m-d', (int)$sr_time) : $sr_time;
}
$sr_cid = $vo['category_id'] ?? ($vo['category'][0]['id'] ?? 0);
$sr_thumb = is_array($vo['thumbnail'] ?? null) ? ($vo['thumbnail']['url'] ?? '') : '';
$sr_url = hcUrl('detail/index', ['id' => $vo['id'], 'cid' => $sr_cid]);
$sr_cate_title = $vo['category'][0]['title'] ?? '';
$sr_type = 'other';
if (mb_strpos($sr_cate_title, '产品') !== false) {
$sr_type = 'product';
} elseif (mb_strpos($sr_cate_title, '解决方案') !== false || mb_strpos($sr_cate_title, '方案') !== false) {
$sr_type = 'solution';
} elseif (mb_strpos($sr_cate_title, '新闻') !== false) {
$sr_type = 'news';
} elseif (mb_strpos($sr_cate_title, '常见问题') !== false || mb_strpos($sr_cate_title, 'FAQ') !== false || mb_strpos($sr_cate_title, '问题') !== false) {
$sr_type = 'faq';
}
{/php}
<article class="sr-item" data-type="{$sr_type}" data-keywords="{$vo.title}">
<a class="sr-item__media" href="{$sr_url}">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
<div class="sr-item__body">
<div class="sr-item__main">
<div class="sr-item__meta">
<span class="sr-item__type">{if !empty($vo['category'][0]['title'])}{$vo.category.0.title}{else /}内容{/if}</span>
<span class="sr-item__sep" aria-hidden="true"></span>
<time class="sr-item__date" datetime="{$sr_date}">{$sr_date}</time>
</div>
<h2 class="sr-item__title">
<a href="{$sr_url}">{$vo.title}</a>
</h2>
{notempty name="vo.description"}
<p class="sr-item__desc">{$vo.description}</p>
{/notempty}
</div>
<a class="sr-item__more" href="{$sr_url}">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
</div>
</article>
{/volist}
</div>
<div class="s-empty sr-tabs-empty" hidden>
<p class="s-empty__text">当前分类下暂无结果</p>
</div>
{php}
$list_empty = isHcListEmpty($list ?? null);
if ($list_empty) {
$empty_text = '未找到相关结果,请尝试其他关键词';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$list_page|raw}
{/if}
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

1926
public/themes/website/1/en/demo/single_index.html
File diff suppressed because it is too large
View File

592
public/themes/website/1/en/demo/single_search.html

@ -1,296 +1,296 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>搜索 - 睿能科技</title>
<meta name="keywords" content="搜索,产品,解决方案,新闻,常见问题,睿能科技">
<meta name="description" content="搜索睿能科技产品、解决方案、新闻动态与常见问题。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/search.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/faq.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/video.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/search.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-search" data-header-dark>
<div class="sr-page section__wrap">
<div class="sr-hero">
<h1 class="sr-hero__title">搜索</h1>
<form class="s-search sr-search" action="/search.html" method="get" role="search">
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="q" value="{$keywords}" placeholder="请输入您想了解的内容" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
<div class="sr-hot">
<span class="sr-hot__label">热门搜索:</span>
<div class="sr-hot__list">
{hcTaglib:category id="679" item="vo" field="id,title,description"}
{php}
$description = $vo['description'] ?? '';
$descriptionArr = [];
if(!empty($description)){
$descriptionArr = explode(',',$description);
}
{/php}
{/hcTaglib:category}
{volist name="descriptionArr" id="one"}
<button type="button" class="sr-hot__tag" data-keyword="{$one}">{$one}</button>
{/volist}
</div>
</div>
</div>
{php}
$sr_type_cur = $sr_type ?? 'all';
$sr_q = $keywords ?? '';
$sr_counts = $sr_counts ?? ['all' => 0, 'product' => 0, 'news' => 0, 'faq' => 0, 'other' => 0];
$sr_tabs = [];
foreach (['all', 'product', 'news', 'faq', 'other'] as $tabType) {
$query = ['type' => $tabType];
if ($sr_q !== '') {
$query['q'] = $sr_q;
}
$sr_tabs[$tabType] = '/search.html?' . http_build_query($query);
}
{/php}
<div class="sr-tabs" role="tablist" aria-label="结果分类">
<a class="sr-tabs__item {if $sr_type_cur=='all'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='all'}true{else /}false{/if}"
href="{$sr_tabs.all}">
全部 ( <span data-count="all">{$sr_counts.all}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='product'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='product'}true{else /}false{/if}"
href="{$sr_tabs.product}">
产品 ( <span data-count="product">{$sr_counts.product}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='news'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='news'}true{else /}false{/if}"
href="{$sr_tabs.news}">
新闻 ( <span data-count="news">{$sr_counts.news}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='faq'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='faq'}true{else /}false{/if}"
href="{$sr_tabs.faq}">
常见问题 ( <span data-count="faq">{$sr_counts.faq}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='other'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='other'}true{else /}false{/if}"
href="{$sr_tabs.other}">
其他 ( <span data-count="other">{$sr_counts.other}</span> )
</a>
</div>
<div class="sr-list">
{volist name="list" id="vo"}
{php}
$sr_kind = $vo['sr_kind'] ?? 'content';
$sr_date = $vo['sr_date'] ?? '';
if ($sr_date === '') {
$sr_time = $vo['publish_time'] ?? ($vo['create_time'] ?? '');
if ($sr_time !== '' && $sr_time !== null) {
if (is_numeric($sr_time)) {
$sr_date = date('Y-m-d', (int)$sr_time);
} else {
$ts = strtotime((string)$sr_time);
$sr_date = $ts ? date('Y-m-d', $ts) : substr((string)$sr_time, 0, 10);
}
}
}
$sr_cid = $vo['category_id'] ?? ($vo['category'][0]['id'] ?? 0);
$sr_thumb = is_array($vo['thumbnail'] ?? null) ? ($vo['thumbnail']['url'] ?? '') : '';
$sr_url = hcUrl('detail/index', ['id' => $vo['id'], 'cid' => $sr_cid]);
$sr_file = $vo['url'] ?? '';
$sr_title = $vo['title'] ?? '';
$sr_type_name = $vo['sr_tab_name'] ?? '内容';
$sr_show_desc = ($sr_kind === 'news' || $sr_kind === 'content');
$sr_show_more = ($sr_kind === 'news' || $sr_kind === 'content');
{/php}
<article class="sr-item sr-item--{$sr_kind}" data-keywords="{$sr_title}" data-kind="{$sr_kind}">
{if $sr_kind == 'video'}
<button type="button" class="sr-item__media sr-item__media--video" data-video-src="{$sr_file}" aria-label="播放:{$sr_title}">
<span class="v-card__media">
<img class="v-card__cover" src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
<span class="v-card__play" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2013.5386%2016'%20xmlns='http://www.w3.org/2000/svg'%20width='13.538574'%20height='16.000000'%20fill='none'%3e%3cpath%20d='M8.86093%201.45695L15.1085%2012.0297C15.5024%2012.6963%2015.0219%2013.5384%2014.2476%2013.5384L1.75245%2013.5384C0.978149%2013.5384%200.497614%2012.6963%200.891523%2012.0297L7.13907%201.45695C7.52614%200.801924%208.47387%200.801924%208.86093%201.45695Z'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20transform='matrix(0,1,-1,0,13.5386,0)'%20/%3e%3c/svg%3e" alt="" width="14" height="16" />
</span>
</span>
</button>
{elseif $sr_kind == 'download' /}
<a class="sr-item__media" href="{$sr_file}" download="{$sr_title}">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
{elseif $sr_kind == 'announce' /}
<a class="sr-item__media" href="{$sr_file}" target="_blank" rel="noopener">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
{else /}
<a class="sr-item__media" href="{$sr_url}">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
{/if}
<div class="sr-item__body">
<div class="sr-item__main">
<div class="sr-item__meta">
<span class="sr-item__type">{$sr_type_name}</span>
<span class="sr-item__sep" aria-hidden="true"></span>
<time class="sr-item__date" datetime="{$sr_date}">{$sr_date}</time>
</div>
{if $sr_kind == 'faq'}
<div class="f-item sr-item__faq">
<button type="button" class="f-item__trigger" aria-expanded="false">
<span class="f-item__q">
<span class="f-item__dot" aria-hidden="true"></span>
<span class="f-item__title">{$sr_title}</span>
</span>
<span class="f-item__icon" aria-hidden="true"></span>
</button>
<div class="f-item__panel">
<p class="f-item__a">
{$vo.content|strip_tags}
</p>
</div>
</div>
{else /}
<h2 class="sr-item__title">
{if $sr_kind == 'video'}
{$sr_title}
{elseif $sr_kind == 'download' /}
<a href="{$sr_file}" download="{$sr_title}">{$sr_title}</a>
{elseif $sr_kind == 'announce' /}
<a href="{$sr_file}" target="_blank" rel="noopener">{$sr_title}</a>
{else /}
<a href="{$sr_url}">{$sr_title}</a>
{/if}
</h2>
{/if}
{if $sr_show_desc}
{notempty name="vo.description"}
<p class="sr-item__desc">{$vo.description}</p>
{/notempty}
{/if}
</div>
{if $sr_kind == 'download'}
<a class="sr-item__more sr-item__more--download" href="{$sr_file}" download="{$sr_title}">
<span>立即下载</span>
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%3e%3cpath%20d='M16.667%209.333H22V22H2V9.333h5.333'%20stroke='rgb(46,53,58)'%20stroke-linejoin='round'%20stroke-width='1.5'/%3e%3cpath%20d='M16%2014l-4%204-4-4M12%202v16'%20stroke='rgb(239,67,53)'%20stroke-width='1.5'/%3e%3c/svg%3e" alt="" width="20" height="20" />
</a>
{elseif $sr_kind == 'product' /}
<a class="sr-item__more sr-item__more--product" href="{$sr_url}">
<span>了解产品</span>
<span class="s-product-card__arrow" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20width='12.252930'%20height='11.313965'%20fill='none'%3e%3cpath%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'/%3e%3c/svg%3e" alt="" width="12" height="11" />
</span>
</a>
{elseif $sr_kind == 'announce' /}
<a class="sr-item__more" href="{$sr_file}" target="_blank" rel="noopener">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" width="16.501953" height="6.661133" fill="none">
<path d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
{elseif $sr_show_more /}
<a class="sr-item__more" href="{$sr_url}">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" width="16.501953" height="6.661133" fill="none">
<path d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
{/if}
</div>
</article>
{/volist}
</div>
{php}
$list_empty = isHcListEmpty($list ?? null);
if ($list_empty) {
$empty_text = '未找到相关结果,请尝试其他关键词';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$list_page|raw}
{/if}
<div class="v-modal" id="v-modal" hidden>
<div class="v-modal__backdrop" data-v-modal-close></div>
<div class="v-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="v-modal-title">
<div class="v-modal__head">
<h2 class="v-modal__title" id="v-modal-title">视频播放</h2>
<button type="button" class="v-modal__close" data-v-modal-close aria-label="关闭">
<img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cpath%20d='M1.5%201.5L14.5%2014.5M14.5%201.5L1.5%2014.5'%20stroke='%23fff'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e" alt="" width="16" height="16" aria-hidden="true" />
</button>
</div>
<div class="v-modal__body">
<video class="v-modal__video" id="v-modal-video" controls playsinline></video>
</div>
</div>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>搜索 - 睿能科技</title>
<meta name="keywords" content="搜索,产品,解决方案,新闻,常见问题,睿能科技">
<meta name="description" content="搜索睿能科技产品、解决方案、新闻动态与常见问题。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/search.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/faq.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/video.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/search.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-search" data-header-dark>
<div class="sr-page section__wrap">
<div class="sr-hero">
<h1 class="sr-hero__title">搜索</h1>
<form class="s-search sr-search" action="/search.html" method="get" role="search">
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="q" value="{$keywords}" placeholder="请输入您想了解的内容" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
<div class="sr-hot">
<span class="sr-hot__label">热门搜索:</span>
<div class="sr-hot__list">
{hcTaglib:category id="679" item="vo" field="id,title,description"}
{php}
$description = $vo['description'] ?? '';
$descriptionArr = [];
if(!empty($description)){
$descriptionArr = explode(',',$description);
}
{/php}
{/hcTaglib:category}
{volist name="descriptionArr" id="one"}
<button type="button" class="sr-hot__tag" data-keyword="{$one}">{$one}</button>
{/volist}
</div>
</div>
</div>
{php}
$sr_type_cur = $sr_type ?? 'all';
$sr_q = $keywords ?? '';
$sr_counts = $sr_counts ?? ['all' => 0, 'product' => 0, 'news' => 0, 'faq' => 0, 'other' => 0];
$sr_tabs = [];
foreach (['all', 'product', 'news', 'faq', 'other'] as $tabType) {
$query = ['type' => $tabType];
if ($sr_q !== '') {
$query['q'] = $sr_q;
}
$sr_tabs[$tabType] = '/search.html?' . http_build_query($query);
}
{/php}
<div class="sr-tabs" role="tablist" aria-label="结果分类">
<a class="sr-tabs__item {if $sr_type_cur=='all'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='all'}true{else /}false{/if}"
href="{$sr_tabs.all}">
全部 ( <span data-count="all">{$sr_counts.all}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='product'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='product'}true{else /}false{/if}"
href="{$sr_tabs.product}">
产品 ( <span data-count="product">{$sr_counts.product}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='news'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='news'}true{else /}false{/if}"
href="{$sr_tabs.news}">
新闻 ( <span data-count="news">{$sr_counts.news}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='faq'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='faq'}true{else /}false{/if}"
href="{$sr_tabs.faq}">
常见问题 ( <span data-count="faq">{$sr_counts.faq}</span> )
</a>
<a class="sr-tabs__item {if $sr_type_cur=='other'}is-active{/if}" role="tab" aria-selected="{if $sr_type_cur=='other'}true{else /}false{/if}"
href="{$sr_tabs.other}">
其他 ( <span data-count="other">{$sr_counts.other}</span> )
</a>
</div>
<div class="sr-list">
{volist name="list" id="vo"}
{php}
$sr_kind = $vo['sr_kind'] ?? 'content';
$sr_date = $vo['sr_date'] ?? '';
if ($sr_date === '') {
$sr_time = $vo['publish_time'] ?? ($vo['create_time'] ?? '');
if ($sr_time !== '' && $sr_time !== null) {
if (is_numeric($sr_time)) {
$sr_date = date('Y-m-d', (int)$sr_time);
} else {
$ts = strtotime((string)$sr_time);
$sr_date = $ts ? date('Y-m-d', $ts) : substr((string)$sr_time, 0, 10);
}
}
}
$sr_cid = $vo['category_id'] ?? ($vo['category'][0]['id'] ?? 0);
$sr_thumb = is_array($vo['thumbnail'] ?? null) ? ($vo['thumbnail']['url'] ?? '') : '';
$sr_url = hcUrl('detail/index', ['id' => $vo['id'], 'cid' => $sr_cid]);
$sr_file = $vo['url'] ?? '';
$sr_title = $vo['title'] ?? '';
$sr_type_name = $vo['sr_tab_name'] ?? '内容';
$sr_show_desc = ($sr_kind === 'news' || $sr_kind === 'content');
$sr_show_more = ($sr_kind === 'news' || $sr_kind === 'content');
{/php}
<article class="sr-item sr-item--{$sr_kind}" data-keywords="{$sr_title}" data-kind="{$sr_kind}">
{if $sr_kind == 'video'}
<button type="button" class="sr-item__media sr-item__media--video" data-video-src="{$sr_file}" aria-label="播放:{$sr_title}">
<span class="v-card__media">
<img class="v-card__cover" src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
<span class="v-card__play" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2013.5386%2016'%20xmlns='http://www.w3.org/2000/svg'%20width='13.538574'%20height='16.000000'%20fill='none'%3e%3cpath%20d='M8.86093%201.45695L15.1085%2012.0297C15.5024%2012.6963%2015.0219%2013.5384%2014.2476%2013.5384L1.75245%2013.5384C0.978149%2013.5384%200.497614%2012.6963%200.891523%2012.0297L7.13907%201.45695C7.52614%200.801924%208.47387%200.801924%208.86093%201.45695Z'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20transform='matrix(0,1,-1,0,13.5386,0)'%20/%3e%3c/svg%3e" alt="" width="14" height="16" />
</span>
</span>
</button>
{elseif $sr_kind == 'download' /}
<a class="sr-item__media" href="{$sr_file}" download="{$sr_title}">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
{elseif $sr_kind == 'announce' /}
<a class="sr-item__media" href="{$sr_file}" target="_blank" rel="noopener">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
{else /}
<a class="sr-item__media" href="{$sr_url}">
<img src="{$sr_thumb}" alt="" width="300" height="200" loading="lazy" />
</a>
{/if}
<div class="sr-item__body">
<div class="sr-item__main">
<div class="sr-item__meta">
<span class="sr-item__type">{$sr_type_name}</span>
<span class="sr-item__sep" aria-hidden="true"></span>
<time class="sr-item__date" datetime="{$sr_date}">{$sr_date}</time>
</div>
{if $sr_kind == 'faq'}
<div class="f-item sr-item__faq">
<button type="button" class="f-item__trigger" aria-expanded="false">
<span class="f-item__q">
<span class="f-item__dot" aria-hidden="true"></span>
<span class="f-item__title">{$sr_title}</span>
</span>
<span class="f-item__icon" aria-hidden="true"></span>
</button>
<div class="f-item__panel">
<p class="f-item__a">
{$vo.content|strip_tags}
</p>
</div>
</div>
{else /}
<h2 class="sr-item__title">
{if $sr_kind == 'video'}
{$sr_title}
{elseif $sr_kind == 'download' /}
<a href="{$sr_file}" download="{$sr_title}">{$sr_title}</a>
{elseif $sr_kind == 'announce' /}
<a href="{$sr_file}" target="_blank" rel="noopener">{$sr_title}</a>
{else /}
<a href="{$sr_url}">{$sr_title}</a>
{/if}
</h2>
{/if}
{if $sr_show_desc}
{notempty name="vo.description"}
<p class="sr-item__desc">{$vo.description}</p>
{/notempty}
{/if}
</div>
{if $sr_kind == 'download'}
<a class="sr-item__more sr-item__more--download" href="{$sr_file}" download="{$sr_title}">
<span>立即下载</span>
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%3e%3cpath%20d='M16.667%209.333H22V22H2V9.333h5.333'%20stroke='rgb(46,53,58)'%20stroke-linejoin='round'%20stroke-width='1.5'/%3e%3cpath%20d='M16%2014l-4%204-4-4M12%202v16'%20stroke='rgb(239,67,53)'%20stroke-width='1.5'/%3e%3c/svg%3e" alt="" width="20" height="20" />
</a>
{elseif $sr_kind == 'product' /}
<a class="sr-item__more sr-item__more--product" href="{$sr_url}">
<span>了解产品</span>
<span class="s-product-card__arrow" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20width='12.252930'%20height='11.313965'%20fill='none'%3e%3cpath%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'/%3e%3c/svg%3e" alt="" width="12" height="11" />
</span>
</a>
{elseif $sr_kind == 'announce' /}
<a class="sr-item__more" href="{$sr_file}" target="_blank" rel="noopener">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" width="16.501953" height="6.661133" fill="none">
<path d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
{elseif $sr_show_more /}
<a class="sr-item__more" href="{$sr_url}">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" width="16.501953" height="6.661133" fill="none">
<path d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</a>
{/if}
</div>
</article>
{/volist}
</div>
{php}
$list_empty = isHcListEmpty($list ?? null);
if ($list_empty) {
$empty_text = '未找到相关结果,请尝试其他关键词';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$list_page|raw}
{/if}
<div class="v-modal" id="v-modal" hidden>
<div class="v-modal__backdrop" data-v-modal-close></div>
<div class="v-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="v-modal-title">
<div class="v-modal__head">
<h2 class="v-modal__title" id="v-modal-title">视频播放</h2>
<button type="button" class="v-modal__close" data-v-modal-close aria-label="关闭">
<img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cpath%20d='M1.5%201.5L14.5%2014.5M14.5%201.5L1.5%2014.5'%20stroke='%23fff'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e" alt="" width="16" height="16" aria-hidden="true" />
</button>
</div>
<div class="v-modal__body">
<video class="v-modal__video" id="v-modal-video" controls playsinline></video>
</div>
</div>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

518
public/themes/website/1/en/demo/solution.html

@ -1,259 +1,259 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$current_cate['seo_title']}</title>
<meta name="keywords" content="{$current_cate['seo_keywords']}">
<meta name="description" content="{$current_cate['seo_description']}">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/solution.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/solution.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<main class="main-solution" data-nav="解决方案">
{if !empty($sub_cates[0])}
<section class="sl-hero">
<div class="sl-hero__intro section__wrap" data-header-dark>
<h1 class="sl-hero__title">{$sub_cates[0]['title'] ?? ''}</h1>
<p class="sl-hero__desc">
{$sub_cates[0]['description'] ?? ''}
</p>
</div>
<div class="sl-hero__media" aria-hidden="true">
<img src="{$sub_cates[0]['thumbnail']['url'] ?? ''}" alt="" width="1920" height="720" />
</div>
</section>
{/if}
{if !empty($sub_cates[1])}
<section class="sl-adv section__wrap" id="adv" data-header-dark>
<h2 class="sl-adv__title">{$sub_cates[1]['title'] ?? ''}</h2>
<ul class="sl-adv__list">
{php}
$contents = getContentByCategory($sub_cates[1]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<li class="sl-adv__item">
<h3 class="sl-adv__name">{$vo['title'] ?? ''}</h3>
<p class="sl-adv__text">{$vo['description'] ?? ''}</p>
</li>
{/volist}
</ul>
</section>
{/if}
{if !empty($sub_cates[2])}
<section class="sl-arch section__wrap" id="arch" data-header-dark>
<h2 class="sl-arch__title">{$sub_cates[2]['title'] ?? ''}</h2>
<div class="sl-arch__panel">
<img src="{$sub_cates[2]['thumbnail']['url'] ?? ''}" alt="{$sub_cates[2]['description'] ?? ''}" width="1630" height="650" />
</div>
</section>
{/if}
{if !empty($sub_cates[3])}
<section class="sl-core section__wrap" id="core" data-header-dark>
<div class="sl-core__head">
<h2 class="sl-core__title">{$sub_cates[3]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl-core__swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getMixContentBySolutionName($current_cate['title'],$sub_cates[3]['id'],$seller_id, 6);
{/php}
{volist name="contents" id="vo"}
<article class="swiper-slide sl-core__card">
<!-- TODO vo.source -> solution:商品 category:文章-->
<a class="sl-core__card-link" href="">
<div class="sl-core__card-media">
<img src="{$vo['thumbnail'] ?? ''}" alt="{$vo['title'] ?? ''}" width="528" height="330" loading="lazy" />
</div>
<div class="sl-core__card-foot">
<h3 class="sl-core__card-name">{$vo['title'] ?? ''}</h3>
<span class="sl-core__card-arrow" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.252930'%20height='11.313965'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="12" height="11" />
</span>
</div>
</a>
</article>
{/volist}
</div>
</div>
<div class="sl-core__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/if}
{if !empty($sub_cates[4])}
<section class="sl-clients section__wrap" id="clients" data-header-dark>
<h2 class="sl-clients__title">{$sub_cates[4]['title'] ?? ''}</h2>
{php}
$contents = getContentByCategory($sub_cates[4]['id'], $seller_id, 20, 'sort asc', ['thumbnail', 'category']);
$clients_marquee = is_array($contents) && count($contents) > 5;
{/php}
<div class="sl-clients__viewport{if $clients_marquee} is-marquee{/if}">
<div class="sl-clients__grid">
{volist name="contents" id="vo"}
<div class="sl-clients__item"><img src="{$vo['thumbnail']['url'] ?? ''}" alt="" width="252" height="160" loading="lazy" /></div>
{/volist}
{if $clients_marquee}
{volist name="contents" id="vo"}
<div class="sl-clients__item" aria-hidden="true"><img src="{$vo['thumbnail']['url'] ?? ''}" alt="" width="252" height="160" loading="lazy" /></div>
{/volist}
{/if}
</div>
</div>
</section>
{/if}
{if !empty($sub_cates[5])}
<section class="sl-cases section__wrap" id="cases" data-header-dark>
<h2 class="sl-cases__title">{$sub_cates[5]['title'] ?? ''}</h2>
<div class="sl-cases__body">
<div class="sl-cases__stage" aria-hidden="true">
<div class="sl-cases__media-swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getContentByCategory($sub_cates[5]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<div class="swiper-slide sl-cases__card">
<img src="{$vo['thumbnail']['url'] ?? ''}" alt="" width="650" height="457" />
</div>
{/volist}
</div>
</div>
</div>
<div class="sl-cases__copy">
<div class="sl-cases__content-swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getContentByCategory($sub_cates[5]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<article class="swiper-slide sl-cases__panel">
<h3 class="sl-cases__name">{$vo['title'] ?? ''}</h3>
<p class="sl-cases__sub-name">{$vo['sub_title'] ?? ''}</p>
<p class="sl-cases__desc">{$vo['description'] ?? ''}</p>
<div class="sl-cases__tags">
{php}$descArr = explode(',',$vo['seo_description']);{/php}
{if !empty($descArr)}
{volist name="descArr" id="vv"}
<span>{$vv}</span>
{/volist}
{/if}
</div>
</article>
{/volist}
</div>
</div>
<div class="sl-cases__nav">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
<div class="sl-cases__pager" aria-live="polite">
<span class="sl-cases__pager-current">1</span>
<span class="sl-cases__pager-sep">/</span>
<span class="sl-cases__pager-total">4</span>
</div>
</div>
</div>
</div>
</section>
{/if}
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$current_cate['seo_title']}</title>
<meta name="keywords" content="{$current_cate['seo_keywords']}">
<meta name="description" content="{$current_cate['seo_description']}">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/solution.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/solution.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<main class="main-solution" data-nav="解决方案">
{if !empty($sub_cates[0])}
<section class="sl-hero">
<div class="sl-hero__intro section__wrap" data-header-dark>
<h1 class="sl-hero__title">{$sub_cates[0]['title'] ?? ''}</h1>
<p class="sl-hero__desc">
{$sub_cates[0]['description'] ?? ''}
</p>
</div>
<div class="sl-hero__media" aria-hidden="true">
<img src="{$sub_cates[0]['thumbnail']['url'] ?? ''}" alt="" width="1920" height="720" />
</div>
</section>
{/if}
{if !empty($sub_cates[1])}
<section class="sl-adv section__wrap" id="adv" data-header-dark>
<h2 class="sl-adv__title">{$sub_cates[1]['title'] ?? ''}</h2>
<ul class="sl-adv__list">
{php}
$contents = getContentByCategory($sub_cates[1]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<li class="sl-adv__item">
<h3 class="sl-adv__name">{$vo['title'] ?? ''}</h3>
<p class="sl-adv__text">{$vo['description'] ?? ''}</p>
</li>
{/volist}
</ul>
</section>
{/if}
{if !empty($sub_cates[2])}
<section class="sl-arch section__wrap" id="arch" data-header-dark>
<h2 class="sl-arch__title">{$sub_cates[2]['title'] ?? ''}</h2>
<div class="sl-arch__panel">
<img src="{$sub_cates[2]['thumbnail']['url'] ?? ''}" alt="{$sub_cates[2]['description'] ?? ''}" width="1630" height="650" />
</div>
</section>
{/if}
{if !empty($sub_cates[3])}
<section class="sl-core section__wrap" id="core" data-header-dark>
<div class="sl-core__head">
<h2 class="sl-core__title">{$sub_cates[3]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl-core__swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getMixContentBySolutionName($current_cate['title'],$sub_cates[3]['id'],$seller_id, 6);
{/php}
{volist name="contents" id="vo"}
<article class="swiper-slide sl-core__card">
<!-- TODO vo.source -> solution:商品 category:文章-->
<a class="sl-core__card-link" href="">
<div class="sl-core__card-media">
<img src="{$vo['thumbnail'] ?? ''}" alt="{$vo['title'] ?? ''}" width="528" height="330" loading="lazy" />
</div>
<div class="sl-core__card-foot">
<h3 class="sl-core__card-name">{$vo['title'] ?? ''}</h3>
<span class="sl-core__card-arrow" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2012.2529%2011.314'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.252930'%20height='11.313965'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='合并'%20d='M5.18202%201.41422L6.59622%200L12.2531%205.65686L12.2529%205.65702L10.8389%207.07108L6.59608%2011.3139L5.18186%209.89966L8.4245%206.65702L-0%206.65702L0%204.657L8.42482%204.65702L5.18202%201.41422Z'%20fill='rgb(239,67,53)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="12" height="11" />
</span>
</div>
</a>
</article>
{/volist}
</div>
</div>
<div class="sl-core__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/if}
{if !empty($sub_cates[4])}
<section class="sl-clients section__wrap" id="clients" data-header-dark>
<h2 class="sl-clients__title">{$sub_cates[4]['title'] ?? ''}</h2>
{php}
$contents = getContentByCategory($sub_cates[4]['id'], $seller_id, 20, 'sort asc', ['thumbnail', 'category']);
$clients_marquee = is_array($contents) && count($contents) > 5;
{/php}
<div class="sl-clients__viewport{if $clients_marquee} is-marquee{/if}">
<div class="sl-clients__grid">
{volist name="contents" id="vo"}
<div class="sl-clients__item"><img src="{$vo['thumbnail']['url'] ?? ''}" alt="" width="252" height="160" loading="lazy" /></div>
{/volist}
{if $clients_marquee}
{volist name="contents" id="vo"}
<div class="sl-clients__item" aria-hidden="true"><img src="{$vo['thumbnail']['url'] ?? ''}" alt="" width="252" height="160" loading="lazy" /></div>
{/volist}
{/if}
</div>
</div>
</section>
{/if}
{if !empty($sub_cates[5])}
<section class="sl-cases section__wrap" id="cases" data-header-dark>
<h2 class="sl-cases__title">{$sub_cates[5]['title'] ?? ''}</h2>
<div class="sl-cases__body">
<div class="sl-cases__stage" aria-hidden="true">
<div class="sl-cases__media-swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getContentByCategory($sub_cates[5]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<div class="swiper-slide sl-cases__card">
<img src="{$vo['thumbnail']['url'] ?? ''}" alt="" width="650" height="457" />
</div>
{/volist}
</div>
</div>
</div>
<div class="sl-cases__copy">
<div class="sl-cases__content-swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getContentByCategory($sub_cates[5]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<article class="swiper-slide sl-cases__panel">
<h3 class="sl-cases__name">{$vo['title'] ?? ''}</h3>
<p class="sl-cases__sub-name">{$vo['sub_title'] ?? ''}</p>
<p class="sl-cases__desc">{$vo['description'] ?? ''}</p>
<div class="sl-cases__tags">
{php}$descArr = explode(',',$vo['seo_description']);{/php}
{if !empty($descArr)}
{volist name="descArr" id="vv"}
<span>{$vv}</span>
{/volist}
{/if}
</div>
</article>
{/volist}
</div>
</div>
<div class="sl-cases__nav">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
<div class="sl-cases__pager" aria-live="polite">
<span class="sl-cases__pager-current">1</span>
<span class="sl-cases__pager-sep">/</span>
<span class="sl-cases__pager-total">4</span>
</div>
</div>
</div>
</div>
</section>
{/if}
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

558
public/themes/website/1/en/demo/solution2.html

@ -1,280 +1,280 @@
<!DOCTYPE html>
<html lang="zh-CN">
{php}
$current_cate_id = $current_cate['id'] ?? 0;
{/php}
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$current_cate['seo_title']}</title>
<meta name="keywords" content="{$current_cate['seo_keywords']}">
<meta name="description" content="{$current_cate['seo_description']}">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/solution2.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/solution2.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<main class="main-solution2" data-nav="解决方案">
{if !empty($sub_cates[0])}
<section class="sl2-hero">
<div class="sl2-hero__intro section__wrap" data-header-dark>
<h1 class="sl2-hero__title">{$sub_cates[0]['title'] ?? ''}</h1>
<p class="sl2-hero__desc">
{$sub_cates[0]['description'] ?? ''}
</p>
</div>
<div class="sl2-hero__media" aria-hidden="true">
<img src="{$sub_cates[0]['thumbnail']['url'] ?? ''}" alt="" width="1920" height="720" />
</div>
</section>
{/if}
{if !empty($sub_cates[1])}
<section class="sl2-adv section__wrap" id="adv" data-header-dark>
<h2 class="sl2-adv__title">{$sub_cates[1]['title'] ?? ''}</h2>
<ul class="sl2-adv__list">
{php}
$contents = getContentByCategory($sub_cates[1]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<li class="sl2-adv__item">
<span class="sl2-adv__icon" aria-hidden="true">
<img style="height: 48px;width: 48px;" src="{$vo['thumbnail']['url'] ?? ''}">
</span>
<h3 class="sl2-adv__name">{$vo.title ?? ''}</h3>
<p class="sl2-adv__text">{$vo.description ?? ''}</p>
</li>
{/volist}
</ul>
</section>
{/if}
{if !empty($sub_cates[2])}
<section class="sl2-arch section__wrap" id="arch" data-header-dark>
<h2 class="sl2-arch__title">{$sub_cates[2]['title'] ?? ''}</h2>
<div class="sl2-arch__panel">
<img src="{$sub_cates[2]['thumbnail']['url'] ?? ''}" alt="{$sub_cates[2]['description'] ?? ''}" width="1630" height="650" />
</div>
</section>
{/if}
{if !empty($sub_cates[3])}
<section class="sl2-core section__wrap" id="core" data-header-dark>
<div class="sl2-core__head">
<h2 class="sl2-core__title">{$sub_cates[3]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl2-core__swiper swiper">
<div class="swiper-wrapper">
{php}
$products = getArticlesBySolutionName($current_cate['title'],$seller_id,6);
{/php}
{volist name="products" id="vo"}
<article class="swiper-slide sl2-core__slide">
<div class="sl2-core__content">
<h3 class="sl2-core__name">{$vo.title ?? ''}</h3>
<p class="sl2-core__desc">{$vo.description ?? ''}</p>
<a class="s-btn s-btn--primary s-btn--pill" href="{:hcUrl('detail/index',['id'=>$vo['id'],'cid'=>$vo['category_id']])}">探索更多</a>
</div>
<div class="sl2-core__media">
<img src="{$vo.thumbnail.url ?? ''}" alt="{$vo.title ?? ''}" width="520" height="520"
loading="lazy" />
</div>
</article>
{/volist}
</div>
<div class="sl2-core__pagination"></div>
</div>
</section>
{/if}
{if !empty($sub_cates[4])}
<section class="sl2-scene section__wrap" id="scene" data-header-dark>
<div class="sl2-scene__head">
<h2 class="sl2-scene__title">{$sub_cates[4]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl2-scene__swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getContentByCategory($sub_cates[4]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<article class="swiper-slide sl2-scene__slide sl2-scene__slide--detail">
<img class="sl2-scene__bg" src="{$vo.thumbnail.url ?? ''}" alt="" width="960"
height="560" loading="lazy" />
<div class="sl2-scene__label">{$vo['title'] ?? ''}</div>
<div class="sl2-scene__panel">
<h3 class="sl2-scene__name">{$vo['title'] ?? ''}</h3>
<p class="sl2-scene__desc">
{$vo.description ?? ''}
</p>
</div>
</article>
{/volist}
</div>
</div>
<div class="sl2-scene__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/if}
{if !empty($sub_cates[5])}
<!-- 其他解决方案 -->
<section class="sl2-more section__wrap" id="more" data-header-dark>
<div class="sl2-more__head">
<h2 class="sl2-more__title">{$sub_cates[5]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl2-more__swiper swiper">
<div class="swiper-wrapper">
{php}$others = getOtherCategoryCategoryId($current_cate['id'],$seller_id,5);{/php}
{volist name="others" id="vo"}
<article class="swiper-slide sl2-more__slide">
<a class="sl2-more__card" href="{$vo.alias ?? ''}">
<div class="sl2-more__media">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="400" height="300" loading="lazy" />
</div>
<div class="sl2-more__body">
<h3 class="sl2-more__name">{$vo.title ?? ''}</h3>
<span class="sl2-more__link">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</span>
</div>
</a>
</article>
{/volist}
</div>
</div>
<div class="sl2-more__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/if}
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
<!DOCTYPE html>
<html lang="zh-CN">
{php}
$current_cate_id = $current_cate['id'] ?? 0;
{/php}
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{$current_cate['seo_title']}</title>
<meta name="keywords" content="{$current_cate['seo_keywords']}">
<meta name="description" content="{$current_cate['seo_description']}">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/solution2.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/solution2.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<main class="main-solution2" data-nav="解决方案">
{if !empty($sub_cates[0])}
<section class="sl2-hero">
<div class="sl2-hero__intro section__wrap" data-header-dark>
<h1 class="sl2-hero__title">{$sub_cates[0]['title'] ?? ''}</h1>
<p class="sl2-hero__desc">
{$sub_cates[0]['description'] ?? ''}
</p>
</div>
<div class="sl2-hero__media" aria-hidden="true">
<img src="{$sub_cates[0]['thumbnail']['url'] ?? ''}" alt="" width="1920" height="720" />
</div>
</section>
{/if}
{if !empty($sub_cates[1])}
<section class="sl2-adv section__wrap" id="adv" data-header-dark>
<h2 class="sl2-adv__title">{$sub_cates[1]['title'] ?? ''}</h2>
<ul class="sl2-adv__list">
{php}
$contents = getContentByCategory($sub_cates[1]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<li class="sl2-adv__item">
<span class="sl2-adv__icon" aria-hidden="true">
<img style="height: 48px;width: 48px;" src="{$vo['thumbnail']['url'] ?? ''}">
</span>
<h3 class="sl2-adv__name">{$vo.title ?? ''}</h3>
<p class="sl2-adv__text">{$vo.description ?? ''}</p>
</li>
{/volist}
</ul>
</section>
{/if}
{if !empty($sub_cates[2])}
<section class="sl2-arch section__wrap" id="arch" data-header-dark>
<h2 class="sl2-arch__title">{$sub_cates[2]['title'] ?? ''}</h2>
<div class="sl2-arch__panel">
<img src="{$sub_cates[2]['thumbnail']['url'] ?? ''}" alt="{$sub_cates[2]['description'] ?? ''}" width="1630" height="650" />
</div>
</section>
{/if}
{if !empty($sub_cates[3])}
<section class="sl2-core section__wrap" id="core" data-header-dark>
<div class="sl2-core__head">
<h2 class="sl2-core__title">{$sub_cates[3]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl2-core__swiper swiper">
<div class="swiper-wrapper">
{php}
$products = getArticlesBySolutionName($current_cate['title'],$seller_id,6);
{/php}
{volist name="products" id="vo"}
<article class="swiper-slide sl2-core__slide">
<div class="sl2-core__content">
<h3 class="sl2-core__name">{$vo.title ?? ''}</h3>
<p class="sl2-core__desc">{$vo.description ?? ''}</p>
<a class="s-btn s-btn--primary s-btn--pill" href="{:hcUrl('detail/index',['id'=>$vo['id'],'cid'=>$vo['category_id']])}">探索更多</a>
</div>
<div class="sl2-core__media">
<img src="{$vo.thumbnail.url ?? ''}" alt="{$vo.title ?? ''}" width="520" height="520"
loading="lazy" />
</div>
</article>
{/volist}
</div>
<div class="sl2-core__pagination"></div>
</div>
</section>
{/if}
{if !empty($sub_cates[4])}
<section class="sl2-scene section__wrap" id="scene" data-header-dark>
<div class="sl2-scene__head">
<h2 class="sl2-scene__title">{$sub_cates[4]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl2-scene__swiper swiper">
<div class="swiper-wrapper">
{php}
$contents = getContentByCategory($sub_cates[4]['id'], $seller_id, 6, 'sort asc', ['thumbnail', 'category']);
{/php}
{volist name="contents" id="vo"}
<article class="swiper-slide sl2-scene__slide sl2-scene__slide--detail">
<img class="sl2-scene__bg" src="{$vo.thumbnail.url ?? ''}" alt="" width="960"
height="560" loading="lazy" />
<div class="sl2-scene__label">{$vo['title'] ?? ''}</div>
<div class="sl2-scene__panel">
<h3 class="sl2-scene__name">{$vo['title'] ?? ''}</h3>
<p class="sl2-scene__desc">
{$vo.description ?? ''}
</p>
</div>
</article>
{/volist}
</div>
</div>
<div class="sl2-scene__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/if}
{if !empty($sub_cates[5])}
<!-- 其他解决方案 -->
<section class="sl2-more section__wrap" id="more" data-header-dark>
<div class="sl2-more__head">
<h2 class="sl2-more__title">{$sub_cates[5]['title'] ?? ''}</h2>
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
<div class="sl2-more__swiper swiper">
<div class="swiper-wrapper">
{php}$others = getOtherCategoryCategoryId($current_cate['id'],$seller_id,5);{/php}
{volist name="others" id="vo"}
<article class="swiper-slide sl2-more__slide">
<a class="sl2-more__card" href="{$vo.alias ?? ''}">
<div class="sl2-more__media">
<img src="{$vo.thumbnail.url ?? ''}" alt="" width="400" height="300" loading="lazy" />
</div>
<div class="sl2-more__body">
<h3 class="sl2-more__name">{$vo.title ?? ''}</h3>
<span class="sl2-more__link">
<span>探索更多</span>
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.501953" height="6.661133" fill="none" customFrame="#000000">
<path id="箭头 2" d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="rgb(102,102,102)" fill-rule="nonzero" />
</svg>
</span>
</div>
</a>
</article>
{/volist}
</div>
</div>
<div class="sl2-more__arrows-mobile">
<div class="s-arrows">
<button type="button" class="s-arrows__prev" aria-label="上一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
<button type="button" class="s-arrows__next" aria-label="下一项">
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000">
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" />
</svg>
</button>
</div>
</div>
</section>
{/if}
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>

292
public/themes/website/1/en/demo/video.html

@ -1,147 +1,147 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>视频教程 - 睿能科技</title>
<meta name="keywords" content="视频教程,伺服调试,横机制版,产品培训,睿能科技">
<meta name="description" content="睿能科技视频教程,提供伺服调试、横机制版等相关培训视频。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/video.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/video.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-video" data-header-dark data-nav="服务支持">
<div class="v-page section__wrap">
<div class="v-head">
<h1 class="v-head__title">{$current_cate.title}</h1>
<p class="v-head__desc">{$current_cate.description}</p>
</div>
<div class="v-toolbar">
<div class="v-filter__group">
<button type="button" class="v-filter" aria-haspopup="listbox" aria-expanded="false" data-filter-trigger>
<span>按产品筛选</span>
<svg class="v-filter__chevron" viewBox="0 0 11.2728 6.90918" width="11" height="7" fill="none" aria-hidden="true">
<path d="M0.636353 0.636272L5.63635 5.63627L10.6364 0.63623" stroke="currentColor" stroke-width="1.8" />
</svg>
</button>
<div class="v-filter__dropdown" data-filter-dropdown hidden>
<button type="button" class="v-filter__dropdown-item is-active" data-tab="{$current_cate.id}" data-filter-clear>全部</button>
{volist name="sub_cates" id="vo"}
<button type="button" data-tab="{$vo.id}" class="v-filter__dropdown-item">{$vo.title}</button>
{/volist}
</div>
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想搜索视频的关键词" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="v-grid">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<button type="button" class="v-card" data-video-src="{$vo.url}">
<div class="v-card__media">
<img class="v-card__cover" src="{$vo.thumbnail.url ?? ''}" alt="" width="400" height="225"
loading="lazy" />
<span class="v-card__duration">{$vo.description}</span>
<span class="v-card__play" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2013.5386%2016'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='13.538574'%20height='16.000000'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='多边形%201'%20d='M8.86093%201.45695L15.1085%2012.0297C15.5024%2012.6963%2015.0219%2013.5384%2014.2476%2013.5384L1.75245%2013.5384C0.978149%2013.5384%200.497614%2012.6963%200.891523%2012.0297L7.13907%201.45695C7.52614%200.801924%208.47387%200.801924%208.86093%201.45695Z'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20transform='matrix(0,1,-1,0,13.5386,0)'%20/%3e%3c/svg%3e" alt="" width="14" height="16" />
</span>
</div>
<h2 class="v-card__title">{$vo.title}</h2>
<time class="v-card__date" datetime="{$vo.publish_time}">{$vo.publish_time}</time>
</button>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关视频';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
<div class="v-modal" id="v-modal" hidden>
<div class="v-modal__backdrop" data-v-modal-close></div>
<div class="v-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="v-modal-title">
<div class="v-modal__head">
<h2 class="v-modal__title" id="v-modal-title">视频播放</h2>
<button type="button" class="v-modal__close" data-v-modal-close aria-label="关闭">
<img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cpath%20d='M1.5%201.5L14.5%2014.5M14.5%201.5L1.5%2014.5'%20stroke='%23fff'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e" alt="" width="16" height="16" aria-hidden="true" />
</button>
</div>
<div class="v-modal__body">
<video class="v-modal__video" id="v-modal-video" controls playsinline></video>
</div>
</div>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>视频教程 - 睿能科技</title>
<meta name="keywords" content="视频教程,伺服调试,横机制版,产品培训,睿能科技">
<meta name="description" content="睿能科技视频教程,提供伺服调试、横机制版等相关培训视频。">
<!-- 公共CSS 自动被打包进页面 -->
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<script>
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动
(function () {
var h = document.documentElement
// 设计稿宽度
var DESIGN_WIDTH = 1920
// 设计稿1rem = 16Px
var REM_AT_DESIGN = 16
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制
var MIN_ROOT_FONT_SIZE = 14
function setRootFontSize() {
// 当前屏幕可视宽度(每次计算都取最新值)
var W = h.getBoundingClientRect().width
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE
h.style.fontSize = size + 'px'
}
setRootFontSize()
var resizeRaf = 0
window.addEventListener('resize', function () {
if (resizeRaf) return
resizeRaf = requestAnimationFrame(function () {
resizeRaf = 0
setRootFontSize()
})
})
})()
</script>
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
<script type="module" crossorigin src="/themes/dist_static/static/js/video.js"></script>
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/pagination.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/empty.css">
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/video.css">
</head>
<body>
<!-- 引入公共头部 -->
<!-- header -->
{include file="components/header"}
<main class="main-video" data-header-dark data-nav="服务支持">
<div class="v-page section__wrap">
<div class="v-head">
<h1 class="v-head__title">{$current_cate.title}</h1>
<p class="v-head__desc">{$current_cate.description}</p>
</div>
<div class="v-toolbar">
<div class="v-filter__group">
<button type="button" class="v-filter" aria-haspopup="listbox" aria-expanded="false" data-filter-trigger>
<span>按产品筛选</span>
<svg class="v-filter__chevron" viewBox="0 0 11.2728 6.90918" width="11" height="7" fill="none" aria-hidden="true">
<path d="M0.636353 0.636272L5.63635 5.63627L10.6364 0.63623" stroke="currentColor" stroke-width="1.8" />
</svg>
</button>
<div class="v-filter__dropdown" data-filter-dropdown hidden>
<button type="button" class="v-filter__dropdown-item is-active" data-tab="{$current_cate.id}" data-filter-clear>全部</button>
{volist name="sub_cates" id="vo"}
<button type="button" data-tab="{$vo.id}" class="v-filter__dropdown-item">{$vo.title}</button>
{/volist}
</div>
</div>
<form class="s-search" role="search" data-tab-search>
<img class="s-search__icon" src="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24.000000'%20height='24.000000'%20fill='none'%3e%3crect%20id='搜索'%20width='24.000000'%20height='24.000000'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='矢量%203'%20d='M15.8481%2017.1208C14.4808%2018.2114%2012.7482%2018.8633%2010.8633%2018.8633C6.44506%2018.8633%202.86328%2015.2816%202.86328%2010.8633C2.86328%206.445%206.44506%202.86328%2010.8633%202.86328C15.2815%202.86328%2018.8633%206.445%2018.8633%2010.8633C18.8633%2012.7482%2018.2114%2014.4808%2017.1208%2015.8481L21.136%2019.8633L19.8633%2021.136L15.8481%2017.1208ZM17.0632%2010.8633C17.0632%207.43908%2014.2874%204.66326%2010.8633%204.66326C7.4392%204.66326%204.66332%207.43908%204.66332%2010.8633C4.66332%2014.2875%207.4392%2017.0633%2010.8633%2017.0633C14.2874%2017.0633%2017.0632%2014.2875%2017.0632%2010.8633Z'%20fill='rgb(175,181,185)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e" alt="" width="24" height="24" />
<input class="s-search__input" type="search" name="keywords" placeholder="请输入您想搜索视频的关键词" autocomplete="off" />
<button class="s-search__btn" type="submit">搜索</button>
</form>
</div>
<div class="v-grid">
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="12" item="vo"}
<button type="button" class="v-card" data-video-src="{$vo.url}">
<div class="v-card__media">
<img class="v-card__cover" src="{$vo.thumbnail.url ?? ''}" alt="" width="400" height="225"
loading="lazy" />
<span class="v-card__duration">{$vo.description}</span>
<span class="v-card__play" aria-hidden="true">
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2013.5386%2016'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='13.538574'%20height='16.000000'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='多边形%201'%20d='M8.86093%201.45695L15.1085%2012.0297C15.5024%2012.6963%2015.0219%2013.5384%2014.2476%2013.5384L1.75245%2013.5384C0.978149%2013.5384%200.497614%2012.6963%200.891523%2012.0297L7.13907%201.45695C7.52614%200.801924%208.47387%200.801924%208.86093%201.45695Z'%20fill='rgb(255,255,255)'%20fill-rule='evenodd'%20transform='matrix(0,1,-1,0,13.5386,0)'%20/%3e%3c/svg%3e" alt="" width="14" height="16" />
</span>
</div>
<h2 class="v-card__title">{$vo.title}</h2>
<time class="v-card__date" datetime="{$vo.publish_time}">{$vo.publish_time}</time>
</button>
{/hcTaglib:contentPage}
</div>
{php}
$list_empty = isHcListEmpty($hc_content ?? null);
if ($list_empty) {
$empty_text = '暂无相关视频';
}
{/php}
{if $list_empty}
{include file="components/empty"}
{else /}
{$hc_content|raw}
{/if}
<div class="v-modal" id="v-modal" hidden>
<div class="v-modal__backdrop" data-v-modal-close></div>
<div class="v-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="v-modal-title">
<div class="v-modal__head">
<h2 class="v-modal__title" id="v-modal-title">视频播放</h2>
<button type="button" class="v-modal__close" data-v-modal-close aria-label="关闭">
<img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cpath%20d='M1.5%201.5L14.5%2014.5M14.5%201.5L1.5%2014.5'%20stroke='%23fff'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e" alt="" width="16" height="16" aria-hidden="true" />
</button>
</div>
<div class="v-modal__body">
<video class="v-modal__video" id="v-modal-video" controls playsinline></video>
</div>
</div>
</div>
</div>
</main>
{include file="components/mask"}
<!-- 模块:底部 -->
{include file="components/footer"}
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script>
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script>
</body>
</html>
Loading…
Cancel
Save