Browse Source

Merge remote-tracking branch 'origin/master'

master
zhangf@suq.cn 2 weeks ago
parent
commit
50040fcaf0
  1. 2
      public/backend/index.html
  2. 1
      public/static/css/app.72e31daa.css
  3. 1
      public/static/css/chunk-0da57e4f.ba735e8b.css
  4. 1
      public/static/js/app.76424f01.js
  5. 1
      public/static/js/chunk-0da57e4f.f34fb662.js
  6. 333
      public/themes/website/1/en/demo/about.html
  7. 131
      public/themes/website/1/en/demo/announce.html
  8. 227
      public/themes/website/1/en/demo/category.html
  9. 8
      public/themes/website/1/en/demo/components/currency.html
  10. 8
      public/themes/website/1/en/demo/components/empty.html
  11. 174
      public/themes/website/1/en/demo/components/footer.html
  12. 665
      public/themes/website/1/en/demo/components/header.html
  13. 202
      public/themes/website/1/en/demo/components/mask.html
  14. 252
      public/themes/website/1/en/demo/contact.html
  15. 35
      public/themes/website/1/en/demo/detail_xiangqing.html
  16. 149
      public/themes/website/1/en/demo/download.html
  17. 126
      public/themes/website/1/en/demo/faq.html
  18. BIN
      public/themes/website/1/en/demo/favicon.ico
  19. 280
      public/themes/website/1/en/demo/investment.html
  20. 157
      public/themes/website/1/en/demo/list_anli.html
  21. 111
      public/themes/website/1/en/demo/list_xinwen.html
  22. 218
      public/themes/website/1/en/demo/news-detail.html
  23. 239
      public/themes/website/1/en/demo/news.html
  24. 482
      public/themes/website/1/en/demo/product.html
  25. 192
      public/themes/website/1/en/demo/search.html
  26. 158
      public/themes/website/1/en/demo/single_changjing.html
  27. 155
      public/themes/website/1/en/demo/single_chanpin.html
  28. 393
      public/themes/website/1/en/demo/single_guanyu.html
  29. 1172
      public/themes/website/1/en/demo/single_index.html
  30. 170
      public/themes/website/1/en/demo/single_jiage.html
  31. 268
      public/themes/website/1/en/demo/single_jiejue.html
  32. 142
      public/themes/website/1/en/demo/single_jishu.html
  33. 368
      public/themes/website/1/en/demo/single_search.html
  34. 211
      public/themes/website/1/en/demo/single_zhaopin.html
  35. 259
      public/themes/website/1/en/demo/solution.html
  36. 280
      public/themes/website/1/en/demo/solution2.html
  37. 147
      public/themes/website/1/en/demo/video.html

2
public/backend/index.html
File diff suppressed because it is too large
View File

1
public/static/css/app.72e31daa.css
File diff suppressed because it is too large
View File

1
public/static/css/chunk-0da57e4f.ba735e8b.css

@ -0,0 +1 @@
#websiteSetting .el-form-item__content{line-height:0!important}#websiteSetting .switch-website[data-v-2ab155bc] .el-form-item__content{line-height:35px!important}

1
public/static/js/app.76424f01.js
File diff suppressed because it is too large
View File

1
public/static/js/chunk-0da57e4f.f34fb662.js
File diff suppressed because it is too large
View File

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

@ -0,0 +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>
</html>

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

@ -0,0 +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>

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

@ -0,0 +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>

8
public/themes/website/1/en/demo/components/currency.html

@ -1,8 +0,0 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{$current_cate.seo_title|default=$current_cate.title}</title>
<meta name="description" content="{$current_cate.seo_description|default=$current_cate.title}">
<meta name="keywords" content="{$current_cate.seo_keywords|default=$current_cate.title}">
<!-- 通用 -->
<link rel="stylesheet" href="/themes/static/css/reset.css">
<link rel="stylesheet" href="/themes/static/css/aos.css">
<link rel="stylesheet" href="/themes/static/scss/currency.css">

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

@ -0,0 +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>

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

@ -1,128 +1,60 @@
<section class="huocms-components huocms-block" data-inclue-path="components/footer">
<div class="footer">
<div class="w1400">
<div class="top">
<div class="left">
{hcTaglib:nav cid="45" max-level="3" item="vo" name="hc_nav" sort="sort asc"}
<ul>
<p>{$vo['title']}</p>
{volist name="vo.children" id="vv" }
<li><a href="{$vv['href']}">{$vv['title']}</a></li>
{/volist}
</ul>
{/hcTaglib:nav}
<ul>
{hcTaglib:category id="163" item="vo" field="*"}
<p>{$vo.title}</p>
{/hcTaglib:category}
{hcTaglib:content cid="163" moduleId="8" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<li>
<a href="{$case_top['url']}" target="_blank"><img src="{$case_top['thumbnail']['url']|default=''}" alt="">{$case_top['title']}</a>
<div class="position">
<div class="img"><img src="{$case_top['cover']['url']|default=''}" alt=""></div>
<span></span>
</div>
</li>
{/hcTaglib:content}
</ul>
</div>
<div class="right">
<div class="wechat">
{hcTaglib:content cid="164" moduleId="8" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<div class="list">
<div class="img">
<img src="{$case_top['thumbnail']['url']|default=''}" alt="">
</div>
<p>{$case_top['title']}</p>
<!-- 模块:底部 -->
<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>
{/hcTaglib:content}
</div> </div>
<ul>
{hcTaglib:content cid="164" moduleId="8" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<li>
<a href="javascript:;"><img src="{$case_top['thumbnail']['url']|default=''}" alt=""></a>
<div class="position">
<div class="img"><img src="{$case_top['cover']['url']|default=''}" alt=""></div>
<span></span>
</div>
</li>
{/hcTaglib:content}
</ul>
</div>
</div>
</div>
<div class="line"></div>
<div class="w1400">
<div class="beian">
<div class="left">
© 2023 版权所有:{hcTaglib:setting name="company_name" type="1" /}<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank" rel="nofollow">{hcTaglib:setting name="icp" type="2" /}</a>
</div>
<div class="right">
Designed by <a href="https://www.zhoo.cn" target="_blank">智火建站</a>
</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>
</div>
</div>
<div class="footerMob">
<div class="topLink">
{hcTaglib:nav cid="46" max-level="3" item="vo" name="hc_nav" sort="sort asc"}
<a href="{$vo['href']}">{$vo['title']}<img src="/themes/static/images/right.png" alt=""></a>
{/hcTaglib:nav}
</div>
{hcTaglib:category id="163" item="vo" field="*"}
<div class="tit">{$vo.title}</div>
{/hcTaglib:category}
<ul class="top">
{hcTaglib:content cid="163" moduleId="8" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<li><a href="{$case_top['url']}"><img src="{$case_top['thumbnail']['url']|default=''}" alt="">{$case_top['title']}</a></li>
{/hcTaglib:content}
</ul>
<div class="tit">联系我们</div>
<div class="wechat">
{hcTaglib:content cid="164" moduleId="8" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<div class="list">
<div class="img">
<img src="{$case_top['thumbnail']['url']|default=''}" alt="">
<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>
<p>{$case_top['title']}</p>
</div> </div>
{/hcTaglib:content}
</div>
<ul class="share">
{hcTaglib:content cid="164" moduleId="8" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<li><a href="{$case_top.url}" target="_blank"><img src="{$case_top['thumbnail']['url']|default=''}" alt=""></a></li>
{/hcTaglib:content}
</ul>
<div class="beian">
<p>© 2022 版权所有:{hcTaglib:setting name="company_name" type="1" /}</p>
<p>
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank" rel="nofollow">{hcTaglib:setting name="icp" type="2" /}</a>
Designed by <a href="https://www.zhoo.cn" target="_blank">智火建站</a>
</p>
</div> </div>
</div>
<div class="rightBlock">
<ul>
{hcTaglib:content cid="209" moduleId="1" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2"}
<li>
<a href="{$case_top['url']}" target="_blank">
<img src="{$case_top['thumbnail']['url']|default=''}" alt="">
{$case_top['title']}
</a>
</li>
{/hcTaglib:content}
<li class="toTop">
<a href="javascript:;">
<img src="/themes/static/images/toTop.png" alt="">
</a>
</li>
</ul>
</div>
<!-- 通用 -->
<script src="/themes/static/js/jquery.js"></script>
<script src="/themes/static/js/aos.js"></script>
<script src="/themes/static/js/currency.js"></script>
<script src="/themes/static/js/jweixin-1.0.0.js"></script>
</section>
</footer>

665
public/themes/website/1/en/demo/components/header.html

@ -1,93 +1,580 @@
<section class="huocms-components huocms-block" data-inclue-path="components/header">
<div class="top_hide" style="display:none !important">
<img src="/themes/static/images/firstImg.jpg" alt="">
</div>
<div class="header">
<div class="location"></div>
<div class="nav">
<ul class="front">
{hcTaglib:nav cid="43" max-level="2" item="vo" name="hc_nav" sort="sort asc"}
<li>
<a href="{$vo['href']}">{$vo['title']}</a>
<div class="level">
{volist name="vo.children" id="vv" }
<a href="{$vv['href']}">{$vv['title']}</a>
{/volist}
</div>
</li>
{/hcTaglib:nav}
</ul>
<a href="javascript:;" class="logo"><img src='{hcTaglib:setting name="logo" type="2" /}' alt="宅极慧iHM"></a>
<ul class="after">
{hcTaglib:nav cid="44" max-level="2" item="vo" name="hc_nav" sort="sort asc"}
<li>
<a href="{$vo['href']}">{$vo['title']}</a>
<div class="level">
{volist name="vo.children" id="vv" }
<a href="{$vv['href']}">{$vv['title']}</a>
{/volist}
</div>
</li>
{/hcTaglib:nav}
</ul>
</div>
<div class="menu">
<a href="javascript:;" class="lang">EN</a>
<div class="search">
<img src="/themes/static/images/search.png" alt="">
<div class="searchDiv">
<div>
<input type="text" id="search" placeholder="请输入关键词搜索">
<a href="javascript:;" class="btn"><img src="/themes/static/images/search2.png" alt=""></a>
</div>
<a href="javascript:;" class="close"><img src="/themes/static/images/close.png" alt=""></a>
</div>
<header class="site-header">
<div class="site-header__top">
<a class="site-header__phone" href="tel:{hcTaglib:setting name="company_phone" type="1" /}">
<span class="site-header__icon site-header__icon--24" aria-hidden="true">
<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"
>
<g>
<rect
id="Linear / Call / Incoming Call Rounded"
width="24.000000"
height="24.000000"
x="0.000000"
y="0.000000"
/>
<path
id="Vector"
d="M0 3.2L3.2 0M0.8 0L3.2 0L3.2 2.4"
stroke="currentColor"
stroke-linecap="round"
stroke-width="1.500000"
transform="matrix(-1,0,0,-1,17.5996,9.59961)"
/>
<path
id="Vector"
d="M10.4297 6.65255C9.72215 5.38476 7.94421 5.23503 6.82985 6.34939C6.16025 7.019 5.63923 7.83929 5.60485 8.74608C5.54698 10.2726 5.93331 12.865 8.53377 15.4654C11.1342 18.0659 13.7266 18.4522 15.2531 18.3944C16.1599 18.36 16.9802 17.839 17.6498 17.1694C18.7642 16.055 18.6145 14.2771 17.3467 13.5695L16.4163 13.0503C15.5767 12.5818 14.4753 12.7699 13.7374 13.5078C13.7374 13.5078 12.8422 14.403 11.2192 12.78C9.59623 11.157 10.4914 10.2619 10.4914 10.2619C11.2294 9.52387 11.4175 8.42248 10.9489 7.58289L10.4297 6.65255Z"
fill-rule="evenodd"
stroke="currentColor"
stroke-width="1.500000"
/>
</g>
</svg>
</span>
<span>{hcTaglib:setting name="company_phone" type="1" /}</span>
</a>
<div class="site-header__socials" aria-label="社交账号">
<a class="site-header__social" href="#" aria-label="微信">
<span class="site-header__icon" aria-hidden="true">
<svg
viewBox="0 0 16 16"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="16.000000"
height="16.000000"
fill="none"
>
<rect id="微信 1" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
<path
id="矢量 4"
d="M10.7269 5.47152C10.9091 5.47152 11.0884 5.48527 11.2686 5.50491C10.7833 3.26405 8.36754 1.59961 5.60907 1.59961C2.52571 1.59961 0 3.68237 0 6.32878C0 7.85575 0.839924 9.10973 2.24442 10.0838L1.68381 11.7561L3.64495 10.782C4.34621 10.9185 4.9088 11.0599 5.60907 11.0599C5.78537 11.0599 5.95969 11.0521 6.13204 11.0393C6.02309 10.6671 5.9587 10.2783 5.9587 9.87272C5.9597 7.44332 8.06347 5.47152 10.7269 5.47152ZM7.71185 3.9642C8.13577 3.9642 8.4141 4.24013 8.4141 4.65845C8.4141 5.07481 8.13577 5.35369 7.71185 5.35369C7.29288 5.35369 6.87093 5.07481 6.87093 4.65845C6.87093 4.23915 7.29189 3.9642 7.71185 3.9642ZM3.78659 5.35369C3.36564 5.35369 2.94171 5.07481 2.94171 4.65845C2.94171 4.24013 3.36564 3.9642 3.78659 3.9642C4.20754 3.9642 4.48686 4.23915 4.48686 4.65845C4.48686 5.07481 4.20754 5.35369 3.78659 5.35369ZM15.8476 9.80595C15.8476 7.58276 13.6032 5.77102 11.0824 5.77102C8.41311 5.77102 6.3123 7.58374 6.3123 9.80595C6.3123 12.035 8.4141 13.8409 11.0824 13.8409C11.6411 13.8409 12.2046 13.7024 12.7653 13.563L14.3035 14.3996L13.8815 13.0091C15.0077 12.1705 15.8476 11.0599 15.8476 9.80595ZM9.53531 9.10973C9.25699 9.10973 8.9747 8.83478 8.9747 8.55393C8.9747 8.27702 9.25699 7.99814 9.53531 7.99814C9.96122 7.99814 10.2376 8.27702 10.2376 8.55393C10.2376 8.83478 9.96122 9.10973 9.53531 9.10973ZM12.6206 9.10973C12.3443 9.10973 12.063 8.83478 12.063 8.55393C12.063 8.27702 12.3433 7.99814 12.6206 7.99814C13.0426 7.99814 13.3229 8.27702 13.3229 8.55393C13.3229 8.83478 13.0426 9.10973 12.6206 9.10973Z"
fill="currentColor"
fill-rule="nonzero"
/>
</svg>
</span>
</a>
<a class="site-header__social" href="#" aria-label="抖音">
<span class="site-header__icon" aria-hidden="true">
<svg
viewBox="0 0 16 16"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="16.000000"
height="16.000000"
fill="none"
>
<rect id="抖音 1" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
<path
id="矢量 5"
d="M13.9794 6.79333C13.3937 6.79215 12.812 6.69975 12.2563 6.51966C11.7007 6.33956 11.1783 6.07409 10.709 5.73333L10.709 10.5467C10.7285 11.309 10.5414 12.0629 10.1665 12.7327C9.79154 13.4025 9.24201 13.9646 8.57303 14.3625C7.90405 14.7605 7.13916 14.9804 6.35517 15C5.57117 14.9804 4.80628 14.7605 4.1373 14.3625C3.46832 13.9646 2.91879 13.4025 2.54388 12.7327C2.16897 12.0629 1.98188 11.309 2.00138 10.5467C1.98189 9.78478 2.16907 9.03133 2.54411 8.36211C2.91915 7.69289 3.46882 7.13149 4.13783 6.7344C4.80683 6.3373 5.57159 6.1185 6.35517 6.1C6.58475 6.10134 6.81392 6.11916 7.0408 6.15333L7.0408 8.70667C6.82209 8.62421 6.58974 8.58129 6.35517 8.58C6.00331 8.58806 5.65991 8.68649 5.35981 8.86527C5.05971 9.04406 4.81358 9.29686 4.64642 9.59801C4.47925 9.89916 4.39698 10.2379 4.40796 10.58C4.39698 10.922 4.47925 11.2608 4.64642 11.562C4.81359 11.8631 5.05971 12.1159 5.35981 12.2947C5.65991 12.4735 6.00331 12.5719 6.35517 12.58C6.70624 12.5708 7.04859 12.4716 7.34762 12.2925C7.64665 12.1135 7.89177 11.8608 8.05821 11.5601C8.22464 11.2594 8.30651 10.9213 8.29552 10.58L8.29552 1L10.7227 1C10.7068 1.57291 10.8473 2.13969 11.1297 2.64274C11.4121 3.14579 11.8264 3.5672 12.3305 3.86413C12.8347 4.16107 13.4107 4.32295 14 4.33333L14 6.8"
fill="currentColor"
fill-rule="nonzero"
/>
</svg>
</span>
</a>
<a class="site-header__social" href="#" aria-label="微博">
<span class="site-header__icon" aria-hidden="true">
<svg
viewBox="0 0 16 16"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="16.000000"
height="16.000000"
fill="none"
>
<rect id="微博 1" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
<path
id="矢量 6"
d="M10.7233 3.34315C11.5178 3.34315 15.3204 3.1342 14.6251 6.84876C14.528 7.25593 14.4549 7.87962 14.9319 8.01156C15.3664 8.12202 15.6339 7.66297 15.7536 7.31358C15.811 6.90686 17.5699 1.58349 10.787 2.02612C10.5702 2.06485 10.0891 2.25239 10.0857 2.65597C10.0823 3.05962 10.5076 3.32241 10.7233 3.34315ZM10.9368 4.95491C11.0637 4.93984 13.0406 4.58862 12.8787 6.69959C12.9082 6.89137 12.774 7.22011 13.0406 7.28757C13.3071 7.35505 13.4118 7.13335 13.4404 6.93093C13.4689 6.72851 13.9301 3.98259 10.9686 4.29944C10.7445 4.32443 10.5941 4.4601 10.6195 4.65931C10.6449 4.85852 10.81 4.96997 10.9368 4.95491ZM11.7752 8.24324C11.7752 8.24324 10.9783 8.41756 11.3544 7.81714C11.9476 6.64274 10.9839 4.71599 8.48541 5.99654C7.62471 6.46137 7.62471 6.13212 7.6534 5.55107C7.73079 2.37902 1.92492 4.64078 0.280009 8.76411C-0.647495 11.2669 0.837892 13.4299 3.1357 14.3732C8.74355 16.4008 12.8272 13.0465 13.5236 10.8773C14.4518 7.61856 11.7752 8.24324 11.7752 8.24324ZM6.39686 13.6222C3.74214 13.992 1.389 12.8113 1.14095 10.9852C0.892894 9.15907 2.84389 7.37896 5.4986 7.00921C8.1533 6.63946 10.5065 7.82008 10.7545 9.64622C11.0026 11.4723 9.05158 13.2525 6.39686 13.6222ZM8.42041 9.81629C8.20974 8.70379 6.91676 8.01982 5.53246 8.28862C4.14816 8.55742 3.19674 9.67717 3.40741 10.7897C3.61808 11.9022 4.91107 12.5861 6.29536 12.3173C7.67966 12.0485 8.63108 10.9288 8.42041 9.81629ZM5.36769 11.2912C4.88972 11.2912 4.50224 10.9573 4.50224 10.5454C4.50224 10.1335 4.88972 9.79952 5.36769 9.79952C5.84566 9.79952 6.23314 10.1335 6.23314 10.5454C6.23314 10.9573 5.84566 11.2912 5.36769 11.2912ZM6.78556 10.2843C6.60718 10.2843 6.42575 10.0673 6.42575 9.79952C6.42575 9.53178 6.60718 9.31473 6.78556 9.31473C6.96393 9.31473 7.14536 9.53178 7.14536 9.79952C7.14536 10.0673 6.96393 10.2843 6.78556 10.2843Z"
fill="currentColor"
fill-rule="nonzero"
/>
</svg>
</span>
</a>
<a class="site-header__social" href="#" aria-label="知乎">
<span class="site-header__icon" aria-hidden="true">
<svg
viewBox="0 0 16 16"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="16.000000"
height="16.000000"
fill="none"
>
<rect id="知乎 1" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
<path
id="矢量 7"
d="M9.0083 12.6517L9.89959 12.6517L10.2232 13.7911L11.7917 12.6517L14 12.6517L14 3.56192L9.0083 3.56192L9.0083 12.6517ZM10.0639 4.57302L12.9793 4.57302L12.9793 11.6155L11.9485 11.6155L10.6241 12.6367L10.3353 11.6155L10.0639 11.6155L10.0639 4.57302ZM2 13.8615C2.314 13.9756 2.64861 14.02 2.98111 13.9918C3.3136 13.9635 3.63619 13.8634 3.92697 13.6981C4.87552 13.1321 5.5751 10.6396 5.5751 10.6396L7.81577 13.4289C7.81577 13.4289 8.01992 12.1009 7.78091 11.7262C7.54191 11.3514 6.23983 9.8423 6.23983 9.8423L5.66971 10.3453L6.07552 8.69538L8.49793 8.69538C8.49793 8.69538 8.49793 7.72452 8.02241 7.66919C7.54689 7.61386 6.07054 7.66919 6.07054 7.66919L6.07054 4.65099L8.24896 4.65099C8.24896 4.65099 8.22407 3.64492 7.80083 3.64492L4.24315 3.64492L4.79585 2C4.79585 2 3.89959 2.05282 3.5834 2.61873C3.26722 3.18464 2.239 6.10224 2.239 6.10224C2.239 6.10224 2.58008 6.26321 3.16017 5.8306C3.53203 5.52533 3.80014 5.11025 3.92697 4.64344L4.98257 4.59062L5.01245 7.67925C5.01245 7.67925 3.19253 7.65159 2.82407 7.67925C2.4556 7.70692 2.24398 8.70544 2.24398 8.70544L5.01245 8.70544C5.01245 8.70544 4.77593 10.4057 4.0639 11.6482C3.35187 12.8907 2 13.8615 2 13.8615L2 13.8615Z"
fill="currentColor"
fill-rule="nonzero"
/>
</svg>
</span>
</a>
</div> </div>
<button type="button" class="site-header__lang" aria-label="切换语言">
<span class="site-header__icon" aria-hidden="true">
<svg
viewBox="0 0 16 16"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="16.000000"
height="16.000000"
fill="none"
>
<rect id="语言 2" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
<path
id="矢量 10"
d="M9.873 14.15C9.696 13.813 9.507 13.323 9.611 13.03C9.6354 12.9452 9.67429 12.8652 9.72593 12.7936C9.77757 12.722 9.8412 12.6599 9.914 12.61C10.105 12.454 10.367 12.241 10.575 11.701C10.655 11.492 10.708 11.282 10.758 11.08C10.942 10.345 11.008 10.232 11.541 10.293C11.941 10.341 12.189 10.533 12.476 10.756C12.758 10.975 13.079 11.207 13.52 11.283C13.1147 11.9647 12.5871 12.5657 11.9635 13.0557C11.3399 13.5458 10.6312 13.9164 9.873 14.149M2.486 11.294C2.951 11.238 3.459 11.076 3.822 10.68C4.223 10.242 4.226 9.67 4.228 9.212C4.231 8.587 4.266 8.415 4.582 8.297C5.014 8.137 5.21 8.29 5.616 8.65C5.854 8.862 6.124 9.102 6.483 9.212C6.906 9.342 7.413 9.282 7.837 9.049C8.26 8.819 8.574 8.428 8.707 7.964L8.71 7.964L8.714 7.949L8.718 7.937C8.723 7.921 8.723 7.907 8.728 7.891C8.759 7.782 8.781 7.672 8.795 7.563C8.802 7.514 8.805 7.47 8.808 7.423C8.811 7.385 8.816 7.347 8.818 7.31C8.83087 7.06331 8.82619 6.81602 8.804 6.57C8.79484 6.4612 8.78884 6.35215 8.786 6.243C8.78356 6.14213 8.8088 6.04252 8.859 5.955C8.947 5.913 9.181 5.871 9.342 5.843C9.789 5.764 10.336 5.664 10.666 5.276L10.671 5.273L10.67 5.273C10.69 5.249 10.711 5.229 10.729 5.203C11.287 4.417 11.253 3.604 10.641 3.082C10.5924 3.04235 10.542 3.00497 10.49 2.97C10.13 2.72 9.976 2.543 10.081 2.218C10.112 2.12 10.146 2.035 10.179 1.958C11.4229 2.40565 12.4984 3.22602 13.259 4.30728C14.0195 5.38853 14.4281 6.67804 14.429 8C14.429 8.774 14.284 9.513 14.034 10.2C13.9568 10.2233 13.8773 10.2387 13.797 10.246C13.577 10.246 13.417 10.131 13.133 9.909C12.789 9.642 12.361 9.311 11.666 9.229C10.168 9.051 9.885 10.159 9.719 10.819C9.677 10.988 9.636 11.159 9.574 11.317C9.469 11.591 9.382 11.662 9.237 11.78C9.049 11.934 8.791 12.144 8.603 12.67C8.393 13.253 8.584 13.906 8.793 14.374C8.533 14.407 8.269 14.429 8 14.429C6.88828 14.4285 5.79575 14.1393 4.82936 13.5898C3.86297 13.0402 3.05584 12.2492 2.487 11.294M7.999 1.571C8.389 1.571 8.768 1.611 9.138 1.678C9.10993 1.74743 9.08425 1.81781 9.061 1.889C8.694 3.026 9.586 3.646 9.878 3.849L9.945 3.896C10.01 3.952 10.176 4.101 9.885 4.538C9.781 4.627 9.675 4.643 9.415 4.655C9.067 4.672 8.542 4.697 8.076 5.215L8.074 5.218L8.073 5.219L8.067 5.224C8.057 5.235 8.051 5.247 8.042 5.258C7.795 5.548 7.725 5.865 7.717 6.176C7.70977 6.37943 7.71444 6.58311 7.731 6.786C7.744 7.001 7.756 7.207 7.738 7.39C7.72669 7.47875 7.70932 7.56662 7.686 7.653C7.65961 7.74994 7.6136 7.84043 7.55081 7.91887C7.48803 7.99731 7.40981 8.06202 7.321 8.109C7.151 8.203 6.944 8.234 6.799 8.189C6.662 8.146 6.499 8.002 6.326 7.849C5.902 7.472 5.26 6.902 4.208 7.293C3.164 7.683 3.16 8.599 3.157 9.206C3.155 9.524 3.153 9.824 3.032 9.956C2.808 10.201 2.349 10.253 1.982 10.244C1.71189 9.52664 1.57301 8.76653 1.572 8C1.572 6.87159 1.869 5.76305 2.43316 4.78579C2.99731 3.80853 3.80875 2.99696 4.78592 2.43266C5.7631 1.86835 6.87159 1.57118 8 1.571M8 0.5C3.864 0.5 0.5 3.864 0.5 8C0.5 12.136 3.864 15.5 8 15.5C12.136 15.5 15.5 12.136 15.5 8C15.5 3.864 12.136 0.5 8 0.5Z"
fill="currentColor"
fill-rule="nonzero"
/>
</svg>
</span>
<span>EN</span>
<span>/</span>
<span class="site-header__lang-active">CN</span>
</button>
</div> </div>
</div>
<!-- 移动端导航 -->
<div class="headerMob">
<div class="w1400">
<a href="/" class="logo"><img src="{hcTaglib:setting name="logo" type="2" /}" alt="宅极慧iHM"></a>
<div class="right">
<div class="lang">EN</div>
<div class="menu">
<span></span>
<span></span>
<span></span>
</div>
<div class="site-header__main">
<a href="/" class="header-logo" aria-label="睿能科技">
<img
class="header-logo__img--default"
src="{hcTaglib:setting name='logo' type='2' /}"
alt="RAYNEN 睿能科技"
width="252"
height="26"
/>
<img
class="header-logo__img--dark"
src="{hcTaglib:setting name='dark_logo' type='2' /}"
alt="RAYNEN 睿能科技"
width="252"
height="26"
/>
</a>
<nav class="site-header__nav" aria-label="主导航">
<ul>
{hcTaglib:nav cid="47" max-level="2" item="vo" name="hc_header_nav" sort="sort asc"}
{php}
$nav_title = $vo['title'] ?? '';
$nav_href = $vo['href'] ?? '';
$nav_id = (int)($vo['id'] ?? 0);
$nav_cid = (int)($vo['category_id'] ?? 0);
$nav_children = $vo['children'] ?? [];
// 产品 333 / 解决方案 345 走特殊下拉
$nav_is_product = ($nav_cid === 333);
$nav_is_solution = ($nav_cid === 345);
$nav_is_home = ($nav_cid === 36);
// 普通下拉面板样式 class
$nav_mega_map = [
355 => 'support', // 服务支持
361 => 'news', // 新闻动态
365 => 'invest', // 投资者关系
371 => 'about', // 关于睿能
];
$nav_mega_class = $nav_mega_map[$nav_cid] ?? 'support';
{/php}
{if $nav_is_product}
<!-- 产品导航(特殊处理) -->
<li class="site-header__nav-item site-header__nav-item--mega">
{hcTaglib:category id="333" item="vo" field="*"}
<a
href="{$vo.alias}"
class="site-header__nav-link"
aria-expanded="false"
>
{$vo.title}
<span class="site-header__chevron" 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>
</a>
{/hcTaglib:category}
<!-- 产品导航下拉面板 -->
<div class="nav-mega product" id="nav-mega-product">
<div class="nav-mega__inner">
<div class="nav-mega__dropdown-content product">
<aside class="nav-mega__cats" aria-label="产品分类">
{hcTaglib:subcategory pid="333" item="vo" sort=""}
<button type="button" class="nav-mega__cat {if $key==1}is-active{/if}" data-mega-cat="product_{$key}">
<span>{$vo.title}</span>
<span class="nav-mega__cat-arrow" 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>
</button>
{/hcTaglib:subcategory}
</aside>
<div class="nav-mega__main">
<div class="nav-mega__panels">
{hcTaglib:subcategory pid="333" item="vo" sort=""}
<div class="nav-mega__panel {if $key==1}is-active{/if}" data-mega-panel="product_{$key}" {if $key!=1}hidden{/if}>
{php}
$sub_cate_id = $vo['id']; // 获取子分类的ID
{/php}
<a class="nav-mega__heading" href="{$vo.alias}?cat=product-control-{$vo.id}">
<span>{$vo.title}</span>
<span class="nav-mega__heading-arrow" 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>
</a>
<div class="nav-mega__body">
<div class="nav-mega__cols">
<!-- 一级栏目展示产品 -->
{if ($vo.need_show_sub_content==1)}
{hcTaglib:contentPage2 cid="$vo.id" mainField="id,category_id,title,sub_title" subField="" name="hc_content_tmp" limit="30" item="content_one" sort="sort asc"}
{/hcTaglib:contentPage2}
{if !empty($hc_content)}
<ul class="nav-mega__links">
{volist name="hc_content_tmp" id="vo_content_tmp"}
<li><a href="{:hcUrl('detail/index',['id'=>$vo_content_tmp['id'],'cid'=>$vo_content_tmp['category_id']])}">{$vo_content_tmp.title}</a></li>
{/volist}
</ul>
{/if}
{/if}
{hcTaglib:subcategory pid="$sub_cate_id" item="vo22" sort=""}
<div class="nav-mega__col">
<div class="nav-mega__group">
<a class="nav-mega__group-title" href="{$vo.alias}?cat=product-control-{$vo.id}&sub=product-plc-{$vo22.id}">{$vo22.title}</a>
<!-- 获取当前分类下的内容 -->
{hcTaglib:contentPage2 cid="$vo22.id" mainField="id,category_id,title,sub_title" subField="" name="hc_content" limit="30" item="content22" sort="sort asc"}
{/hcTaglib:contentPage2}
{if !empty($hc_content) && $vo22.need_show_sub_content==1}
<ul class="nav-mega__links">
{volist name="hc_content" id="vo_content"}
<li><a href="{:hcUrl('detail/index',['id'=>$vo_content['id'],'cid'=>$vo_content['category_id']])}">{$vo_content.title}</a></li>
{/volist}
</ul>
{/if}
{php}
$sub_cate_id22 = $vo22['id']; // 获取子分类的ID
{/php}
{hcTaglib:subcategory pid="$sub_cate_id22" item="vo33" sort=""}
<div class="nav-mega__subgroup">
<div class="nav-mega__subgroup-head">
<a class="nav-mega__subgroup-title" href="{$vo.alias}?cat=product-control-{$vo.id}&sub=product-plc-{$vo22.id}">{$vo33.title}</a>
</div>
<!-- 获取当前子分类下的内容 -->
{hcTaglib:contentPage2 cid="$vo33.id" mainField="id,category_id,title,sub_title" subField="" name="hc_content33" limit="30" item="content33" sort="sort asc"}
{/hcTaglib:contentPage2}
{if !empty($hc_content33)}
<ul class="nav-mega__links">
{volist name="hc_content33" id="vo_content33"}
<li><a href="{:hcUrl('detail/index',['id'=>$vo_content33['id'],'cid'=>$vo_content33['category_id']])}">{$vo_content33.title}</a></li>
{/volist}
</ul>
{/if}
</div>
{/hcTaglib:subcategory}
</div>
</div>
{/hcTaglib:subcategory}
</div>
</div>
</div>
{/hcTaglib:subcategory}
</div>
<div class="nav-mega__promo-side">
{hcTaglib:category id="364" item="vo" field="*"}
{php}
$zhanhui_and_activity = $vo;
$thumbnail_url = $vo['thumbnail']['url'] ?? '';
{/php}
{/hcTaglib:category}
<a class="nav-mega__promo" href="{$zhanhui_and_activity.alias}">
<div class="nav-mega__promo-media">
<img
src="{$thumbnail_url}"
alt=""
width="320"
height="200"
loading="lazy"
/>
</div>
<div class="nav-mega__promo-title">
<span>{$zhanhui_and_activity.title}</span>
<span class="nav-mega__promo-arrow" 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>
</div>
<p class="nav-mega__promo-desc">了解睿能最新展会信息</p>
</a>
</div>
</div>
</div>
</div>
</div>
</li>
{elseif $nav_is_solution /}
<!-- 解决方案(特殊处理) -->
<li class="site-header__nav-item site-header__nav-item--mega">
<a
href="/solution2.html"
class="site-header__nav-link"
data-mega-trigger="solution"
aria-expanded="false"
aria-controls="nav-mega-solution"
>
解决方案
<span class="site-header__chevron" 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>
</a>
<!-- 解决方案导航下拉面板 -->
<div class="nav-mega nav-mega--solution" id="nav-mega-solution">
<div class="nav-mega__inner">
<div class="nav-mega__dropdown-content solution">
<div class="nav-mega__cols nav-mega__cols--solution">
{hcTaglib:allSubCategory pid="345" item="vo" sort=""}
<div class="nav-mega__col">
<div class="nav-mega__group">
<span class="nav-mega__group-title">{$vo.title}</span>
<ul class="nav-mega__links">
{volist name="vo.children" id="vvv"}
<li><a href="{$vvv.alias}">{$vvv.title}</a></li>
{/volist}
</ul>
</div>
</div>
{/hcTaglib:allSubCategory}
</div>
</div>
</div>
</div>
</li>
{elseif condition="!empty($nav_children)" /}
<!-- 普通下拉导航 -->
<li class="site-header__nav-item site-header__nav-item--mega">
<a
href="{$nav_href}"
class="site-header__nav-link"
aria-expanded="false"
aria-controls="nav-mega-{$nav_id}"
>
{$nav_title}
<span class="site-header__chevron" 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>
</a>
<div class="nav-mega" id="nav-mega-{$nav_id}">
<div class="nav-mega__inner">
<div class="nav-mega__dropdown-content {$nav_mega_class}">
<ul class="nav-mega__row">
{volist name="nav_children" id="child"}
<li><a href="{$child.href ?? ''}">{$child.title}</a></li>
{/volist}
</ul>
</div>
</div>
</div>
</li>
{else /}
<!-- 无子级:普通链接 -->
<li class="site-header__nav-item">
<a href="{$nav_href}"{if condition="$nav_is_home"} class="is-active"{/if}>{$nav_title}</a>
</li>
{/if}
{/hcTaglib:nav}
</ul>
</nav>
<div class="site-header__actions">
<form class="site-header__search" action="/search.html" method="get" role="search">
<input
class="site-header__search-input"
type="search"
name="q"
placeholder="搜索关键词"
autocomplete="off"
/>
<button class="site-header__search-btn" type="submit" aria-label="搜索">
<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='搜索'%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(0,0,0)'%20fill-rule='evenodd'%20/%3e%3c/svg%3e"
alt=""
width="24"
height="24"
/>
</button>
</form>
<a class="s-btn s-btn--primary site-header__cta" href="/contact.html">联系我们</a>
</div>
<div class="site-header__extras">
<button class="site-header__extra-btn lang" type="submit" 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="site-header__extra-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="site-header__extra-btn toggle"
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/1999/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> </div>
</div> </div>
</div>
<div class="headerMobList">
<ul>
<span>
<a href="javascript:;" class="close"><img src='/themes/static/images/close.png' alt=""></a>
</span>
<p>
<input type="text" placeholder="请输入关键词搜索">
<a href="javascript:;" class="searchBtn">搜索</a>
</p>
{hcTaglib:nav cid="43" max-level="3" item="vo" name="hc_nav" sort="sort asc"}
<li>
<a href="{$vo['href']}">{$vo['title']}<em><img src="/themes/static/images/right3.png" alt=""></em></a>
<div class="level">
{volist name="vo.children" id="vv" }
<a href="{$vv['href']}">{$vv['title']}</a>
{/volist}
</div>
</li>
{/hcTaglib:nav}
{hcTaglib:nav cid="44" max-level="3" item="vo" name="hc_nav" sort="sort asc"}
<li>
<a href="{$vo['href']}">{$vo['title']}<em><img src="/themes/static/images/right3.png" alt=""></em></a>
<div class="level">
{volist name="vo.children" id="vv" }
<a href="{$vv['href']}">{$vv['title']}</a>
{/volist}
</div>
</li>
{/hcTaglib:nav}
</ul>
</div>
</section>
</header>

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

@ -0,0 +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>

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

@ -0,0 +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>

35
public/themes/website/1/en/demo/detail_xiangqing.html

@ -1,35 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/scss/xinwen.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- 正文 -->
<div class="xiangqingBlock">
<div class="w1400">
<div class="tit">{$hc_content.title}</div>
<div class="time"><img src="/themes/static/images/xiangqingBlockIco.png" alt="">{:date('Y.m.d', strtotime($hc_content['publish_time']))}</div>
<div class="content">
{$hc_content.content|raw}
</div>
<div class="page">
<div class="left">
<p>{hcTaglib:preContent /}</p>
<p>{hcTaglib:nextContent /}</p>
</div>
<a href="/news.html" class="btn">返回列表</a>
<!-- {hcTaglib:backList cid="1" /} -->
</div>
</div>
</div>
<!-- footer -->
{include file="components/footer"}
</body>
</html>

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

@ -0,0 +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>
</html>

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

@ -0,0 +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>

BIN
public/themes/website/1/en/demo/favicon.ico

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

@ -0,0 +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>
</html>

157
public/themes/website/1/en/demo/list_anli.html

@ -1,157 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/anli.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- banner -->
<div class="listBanner">
{hcTaglib:category id="$current_cate['id']" item="vo" field="*"}
<img src="{$vo['banner']['url']|default=''}" alt="">
<div class="center">
<div class="tit">{$vo.title}</div>
<div class="tips">{$vo.description}</div>
</div>
{/hcTaglib:category}
</div>
<!-- 正文 -->
<div class="anliBlock">
<div class="anliTit" aos="fade-up" aos-anchor-placement="top-bottom">
<p>房地产案例</p>
<div class="tips">宅极慧iHM广泛应用于房地产领域,打造完善的智能家居整体解决方案</div>
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div style="--swiper-navigation-color: #fff; --swiper-pagination-color: #fff" class="swiper anliBlockSwiper" >
<div class="swiper-wrapper">
{hcTaglib:content cid="195" moduleId="1" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<div class="swiper-slide">
<div class="left">
<img src="{$case_top['thumbnail']['url']|default=''}" alt="">
</div>
<div class="right">
{volist name="$case_top.main_content.atlas" id="vo" }
<div class="list">
<img src="{$vo.url}" alt="">
</div>
{/volist}
</div>
</div>
{/hcTaglib:content}
</div>
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div thumbsSlider="" class="swiper anliBlockSwiper2">
<div class="swiper-wrapper">
{hcTaglib:content cid="196" moduleId="1" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<div class="swiper-slide"><img src="{$case_top['thumbnail']['url']|default=''}" alt=""></div>
{/hcTaglib:content}
</div>
</div>
</div>
</div>
<div class="anliBlock2">
<div class="anliTit" aos="fade-up" aos-anchor-placement="top-bottom">
<p>酒店案例</p>
<div class="tips">宅极慧iHM广泛应用于酒店领域,打造先进酒店客房控制系统</div>
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div style="--swiper-navigation-color: #fff; --swiper-pagination-color: #fff" class="swiper anliBlockSwiper" >
<div class="swiper-wrapper">
{hcTaglib:content cid="197" moduleId="1" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<div class="swiper-slide">
<div class="left">
<img src="{$case_top['thumbnail']['url']|default=''}" alt="">
</div>
<div class="right">
{volist name="$case_top.main_content.atlas" id="vo" }
<div class="list">
<img src="{$vo.url}" alt="">
</div>
{/volist}
</div>
</div>
{/hcTaglib:content}
</div>
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div thumbsSlider="" class="swiper anliBlockSwiper2">
<div class="swiper-wrapper">
{hcTaglib:content cid="198" moduleId="1" name="contentList" item="case_top" mainField="*" subField="*" onlyData="2" sort="sort asc"}
<div class="swiper-slide"><img src="{$case_top['thumbnail']['url']|default=''}" alt=""></div>
{/hcTaglib:content}
</div>
</div>
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/swiper-bundle.min.js"></script>
<script>
var swiper = new Swiper(".anliBlock .anliBlockSwiper2", {
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false,
},
loop: true,
spaceBetween: 20,
slidesPerView: 2,
watchSlidesProgress: true,
breakpoints:{
996:{
spaceBetween: 20,
slidesPerView: 5,
},
}
});
var swiper2 = new Swiper(".anliBlock .anliBlockSwiper", {
spaceBetween: 10,
navigation: {
nextEl: ".anliBlock .swiper-button-next",
prevEl: ".anliBlock .swiper-button-prev",
},
});
var swiper3 = new Swiper(".anliBlock2 .anliBlockSwiper2", {
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false,
},
loop: true,
spaceBetween: 20,
slidesPerView: 2,
watchSlidesProgress: true,
breakpoints:{
996:{
spaceBetween: 20,
slidesPerView: 5,
},
}
});
var swiper4 = new Swiper(".anliBlock2 .anliBlockSwiper", {
spaceBetween: 10,
navigation: {
nextEl: ".anliBlock2 .swiper-button-next",
prevEl: ".anliBlock2 .swiper-button-prev",
},
});
</script>
</body>
</html>

111
public/themes/website/1/en/demo/list_xinwen.html

@ -1,111 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/scss/xinwen.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<?php
$page = (int)request() -> param('page');
?>
<!-- 正文 -->
<div class="xinwenBlock">
{if empty($page) || $page<=1 }
{hcTaglib:content cid="186" moduleId="1" name="news" limit="2" onlyData="1"}
<div class="w1400 top">
{volist name="news" id="vo" length="1" }
<a href="{:hcUrl('detail/index',['id'=>$vo['id'],'cid'=>$vo['category_id']])}" class="list first">
<div class="img">
<img src="{$vo.thumbnail.url|default=''}" alt="{$vo.thumbnail.description}">
<span></span>
</div>
<div class="tit">
<span>{$vo.title}</span>
<div class="tipsFirst">{$vo.description}</div>
<div class="time">{$vo.publish_time|date="Y-m-d"}</div>
</div>
</a>
{/volist}
{volist name="news" id="vo" length="1" offset="1" }
<a href="{:hcUrl('detail/index',['id'=>$vo['id'],'cid'=>$vo['category_id']])}" class="list">
<div class="img">
<img src="{$vo.thumbnail.url|default=''}" alt="">
</div>
<div class="text">
<div class="tit">
{$vo.title}
</div>
<div class="line"></div>
<div class="tips">
{$vo.description}
</div>
<div class="time">{$vo.publish_time|date="Y-m-d"}</div>
</div>
</a>
{/volist}
</div>
{/hcTaglib:content}
<div class="w1400">
{hcTaglib:contentPage cid="186" moduleId="1" name="newsList" limit="8" len="6" offset="2" item="vv" }
<a href="{:hcUrl('detail/index',['id'=>$vv['id'],'cid'=>$vv['category_id']])}" class="list">
<div class="img">
<img src="{$vv.thumbnail.url|default=''}" alt="{$vv.thumbnail.description}">
</div>
<div class="text">
<div class="tit">
{$vv.title}
</div>
<div class="line"></div>
<div class="tips">
{$vv.description}
</div>
<div class="time">{$vv.publish_time|date='Y-m-d'}</div>
</div>
</a>
{/hcTaglib:contentPage}
</div>
<ul class="pagination">
<ul class="pagination">
{$newsList|raw}
</ul>
</ul>
{else /}
<div class="w1400">
{hcTaglib:contentPage cid="186" name="news" item="vv" limit="8"}
<a href="{:hcUrl('detail/index',['id'=>$vv['id'],'cid'=>$vv['category_id']])}" class="list">
<div class="img">
<img src="{$vv.thumbnail.url|default=''}" alt="{$vv.thumbnail.description}">
</div>
<div class="text">
<div class="tit">
{$vv.title}
</div>
<div class="line"></div>
<div class="tips">
{$vv.description}
</div>
<div class="time">{$vv.publish_time|date='Y-m-d'}</div>
</div>
</a>
{/hcTaglib:contentPage}
</div>
<ul class="pagination">
{$news|raw}
</ul>
{/if}
</div>
<!-- footer -->
{include file="components/footer"}
</body>
</html>

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

@ -0,0 +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>

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

@ -0,0 +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>
</html>

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

@ -0,0 +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>

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

@ -0,0 +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>

158
public/themes/website/1/en/demo/single_changjing.html

@ -1,158 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>应用场景—智能家居系统集成方案—全屋智能家居系统—宅极慧iHM</title>
<meta name="description" content="宅极慧iHM客户遍布全国,落地房间数目超过5000+个,遍布一二三线城市,为多家超五星酒店和地产开发商提供智能家居系统解决方案,包括文华东方酒店,四季酒店,丽思卡尔顿酒店,华尔道夫酒店,朗庭酒店,凯悦酒店,洲际酒店等。目标为全球亿万家庭创造智能个性新生活!">
<meta name="keywords" content="全屋智能家居系统,智能家居整体解决方案服务商,智能家居解决方案,宅极慧iHM">
<!-- 通用 -->
<link rel="stylesheet" href="/themes/static/css/reset.css">
<link rel="stylesheet" href="/themes/static/css/aos.css">
<link rel="stylesheet" href="/themes/static/scss/currency.css">
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/changjing.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- banner -->
<div class="changjingBanner">
{hcTaglib:content cid="$current_cate['id']" moduleId='7' mainField="*" subField="*" name="case_top" item="vo"}
<video src="{$vo.main_content.video.url|default=''}" loop="loop" autoplay="autoplay" muted="muted" poster="{$vo['cover']['url']|default=''}"></video>
<div class="posi"><img src="{$vo['main_content']['gif']['url']|default=''}" alt=""></div>
{/hcTaglib:content}
</div>
<!-- 正文 -->
<div class="changjingTab">
<div class="w1400">
<div class="swiper-button-prev"><img src="/themes/static/images/left4.png" alt=""></div>
<div class="swiper mySwiper">
<div class="swiper-wrapper">
{hcTaglib:subcategory pid="151" item="vo" sort=""}
<div class="swiper-slide">
<a href="{$vo.alias}">{$vo.title}</a>
</div>
{/hcTaglib:subcategory}
</div>
</div>
<div class="swiper-button-next"><img src="/themes/static/images/right4.png" alt=""></div>
</div>
</div>
<div class="changjingBlock">
<div class="w1400">
{hcTaglib:content cid="$current_cate['id']" moduleId='7' mainField="*" subField="*" name="case_top" item="vo"}
<div class="tit">
<p>{$vo.sub_title}</p>
<div class="tips">{$vo.main_content.intro}</div>
</div>
<div class="changjingBlock2">
<div class="swiper changjingBlock2Swiper">
<div class="swiper-wrapper">
{volist name="$vo.main_content.ico_two" id="vvo" }
<div class="swiper-slide">
<div class="img"><img src="{$vvo.url}" alt=""></div>
<p>{$vvo.description}</p>
</div>
<div class="swiper-slide">
<div class="img"><img src="/themes/static/images/changjingBlock2Img2.png" alt=""></div>
</div>
{/volist}
</div>
</div>
<div class="swiper-button-next"><img src="/themes/static/images/right6.png" alt=""></div>
<div class="swiper-button-prev"><img src="/themes/static/images/left6.png" alt=""></div>
</div>
<div class="content">
<div class="left">
<img src="{$vo['cover']['url']|default=''}" alt="">
</div>
<div class="right">
<p>
{$vo.title}<span>{$vo.main_content.time_slot}</span>
</p>
<div class="contList">
<ul>
{volist name="$vo.main_content.atlas" id="vv" }
<li>
<i></i>
<em></em>
<span>
<img src="{$vv.url}" alt="">
</span>
<div>{$vv.description}</div>
</li>
{/volist}
</ul>
</div>
</div>
</div>
{/hcTaglib:content}
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/swiper-bundle.min.js"></script>
<script>
var swiper = new Swiper(".mySwiper", {
spaceBetween: 20,
slidesPerView: "auto",
navigation: {
nextEl: ".changjingTab .w1400 .swiper-button-next",
prevEl: ".changjingTab .w1400 .swiper-button-prev",
},
breakpoints:{
640:{
spaceBetween: 40,
},
1200:{
spaceBetween: 100,
}
}
});
$('.changjingTab .w1400 .mySwiper .swiper-wrapper .swiper-slide a').each(function(){
if(window.location.pathname == $(this).attr('href')){
$(this).parent().addClass('on')
}else if(window.location.pathname == $(this).attr('href') + '.html'){
$(this).parent().addClass('on')
}
})
var swiper2 = new Swiper(".changjingBlock2Swiper", {
slidesPerView:3,
slidesPerGroup: 2,
spaceBetween: 0,
navigation: {
nextEl: ".changjingBlock2 .swiper-button-next",
prevEl: ".changjingBlock2 .swiper-button-prev",
},
breakpoints:{
750:{
slidesPerView: 5,
},
996:{
slidesPerView: 7,
},
1280:{
slidesPerView: 9,
},
1366:{
slidesPerView: 11,
}
}
});
let changjingSwiper2 = $('.changjingBlock2Swiper .swiper-wrapper .swiper-slide').length
swiper2.removeSlide(changjingSwiper2 - 1);
if($('body').width() > 1366){
if($('.changjingBlock2Swiper .swiper-wrapper .swiper-slide').length < 11){
$('.changjingBlock2Swiper .swiper-wrapper').css('justify-content','center')
}
}
</script>
</body>
</html>

155
public/themes/website/1/en/demo/single_chanpin.html

@ -1,155 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>产品中心—智能家居安装—智能家居整体解决方案服务商—宅极慧iHM</title>
<meta name="description" content="宅极慧iHM是一家专业的智能家居整体解决方案服务商,为多家超五星酒店和地产开发商提供智能家居系统解决方案,严选国内外知名品牌产品,为客户度身定制高体验感的智能系统集成方案。">
<meta name="keywords" content="智能家居整体解决方案服务商,智能家居安装,全屋智能家居控制系,宅极慧iHM">
<!-- 通用 -->
<link rel="stylesheet" href="/themes/static/css/reset.css">
<link rel="stylesheet" href="/themes/static/css/aos.css">
<link rel="stylesheet" href="/themes/static/scss/currency.css">
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/chanpin.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- banner -->
<div class="chanpinBanner">
{if $current_cate['parent_id'] == 150 }
<img src="{$current_cate['banner']['url']|default=''}" alt="">
<div class="w1400">
<div class="logo">{$current_cate.content|raw}<span>{$current_cate.title}</span></div>
<div class="tips">
{$current_cate.description}
</div>
</div>
{else /}
{hcTaglib:category id="$current_cate['parent_id']" field="id,title,banner,content,description"}
<img src="{$hc_category['banner']['url']|default=''}" alt="">
<div class="w1400">
<div class="logo">{$hc_category.content|raw}<span>{$hc_category.title}</span></div>
<div class="tips">
{$hc_category.description}
</div>
</div>
{/hcTaglib:category}
{/if}
</div>
<!-- 正文 -->
<?php
if($current_cate['parent_id'] == 150)
{
$pid = $current_cate['id'];
}else{
$pid = $current_cate['parent_id'];
}
?>
<div class="chanpinTab" aos="fade-up" aos-anchor-placement="top-bottom">
<div class="w1400">
<ul>
<li><a href="{:hcUrl('list/index',['id'=>$pid])}">全部</a></li>
{hcTaglib:subcategory pid="$pid" item="vo" sort=""}
<li><a href="{:hcUrl('list/index',['id'=>$vo['id']])}">{$vo.title}</a></li>
{/hcTaglib:subcategory}
</ul>
</div>
</div>
<div class="chanpinTabMob">
<div class="swiper chanpinTabMobSwiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<a href="{:hcUrl('list/index',['id'=>$pid])}">全部</a>
</div>
{hcTaglib:subcategory pid="$pid" item="vo" sort=""}
<div class="swiper-slide">
<a href="{:hcUrl('list/index',['id'=>$vo['id']])}">{$vo.title}</a>
</div>
{/hcTaglib:subcategory}
</div>
</div>
</div>
<div class="chanpinBlock">
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div class="cont">
{hcTaglib:contentPage cid="$current_cate['id']" moduleId='6' mainField="*" all="1" subField="*" name="case_top" limit="18" item="vvo"}
<div class="list">
<div class="img">
<img src="{$vvo['thumbnail']['url']}" alt="">
<div class="posi">
{$vvo.content|raw}
<div class="border-top"></div>
<div class="border-right"></div>
<div class="border-bottom"></div>
<div class="border-left"></div>
</div>
</div>
<a href="{$vvo['url']}">
<div class="tit">{$vvo.title}</div>
<div class="tips">{$vvo.description}</div>
</a>
</div>
{/hcTaglib:contentPage}
</div>
{$case_top|raw}
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/swiper-bundle.min.js"></script>
<script>
$('.chanpinBlock .w1400 .list').hover(function(){
if($(window).width() > 996 ){
console.log(1)
$(this).children('.img').children('.posi').stop().animate({'opacity':1},400)
}
},function(){
if($(window).width() > 996 ){
$(this).children('.img').children('.posi').stop().animate({'opacity':0},400)
}
})
$('.chanpinBlock .w1400 .list .img').click(function(){
if($(this).children('.posi').hasClass('on')){
$(this).children('.posi').stop().animate({'opacity':0})
$(this).children('.posi').removeClass('on')
return
}
$(this).children('.posi').stop().animate({'opacity':1})
$(this).children('.posi').addClass('on')
})
var swiper = new Swiper(".chanpinTabMobSwiper", {
slidesPerView: 3.5,
});
let thisUrl = window.location.pathname
$('.chanpinTabMob .swiper .swiper-wrapper .swiper-slide').each(function(){
console.log($(this).children('a').attr('href'))
if($(this).children('a').attr('href') == thisUrl){
$(this).addClass('on')
}
})
$('.chanpinTab .w1400 ul li a').each(function(){
if($(this).attr('href') == thisUrl){
$(this).parent().addClass('on')
}
})
// $('.chanpinTab .w1400 ul li').eq(0).addClass('on')
// $('.chanpinBlock .w1400 .cont').eq(0).css('display','flex')
// $('.chanpinTab .w1400 ul li').click(function(){
// if($(this).hasClass('on')){
// return
// }
// $(this).addClass('on')
// $(this).siblings().removeClass('on')
// $('.chanpinBlock .w1400 .cont').css('display','none')
// $('.chanpinBlock .w1400 .cont').eq($(this).index()).stop().fadeIn()
// $('.chanpinBlock .w1400 .cont').eq($(this).index()).css('display','flex')
// })
</script>
</body>
</html>

393
public/themes/website/1/en/demo/single_guanyu.html

@ -1,393 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/guanyu.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- banner -->
<div class="listBanner">
{hcTaglib:category id="154" item="vo" field="*"}
<img src="{$vo['banner']['url']|default=''}" alt="">
<div class="center">
<div class="tit">{$vo.description}</div>
<div class="tips">{$vo.sub_title}</div>
</div>
{/hcTaglib:category}
</div>
<!-- 宅极慧iHM -->
<div class="guanyuBlock" id="block1">
{hcTaglib:content cid="156" moduleId="1" mainField="*" subField="*" name="hc_content" limit="1" item="vo"}
<div class="title2" aos="fade-up" aos-anchor-placement="top-bottom">
<p>{$vo.title}</p>
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
{$vo.content|raw}
{/hcTaglib:content}
<ul class="numCount">
{hcTaglib:contentPage cid="157" mainField="*" subField="*" name="hc_content" limit="3" item="vvo" sort="sort asc"}
<li>
<p>{$vvo.title}</p>
<div>
<span class="numCX" data-startVal="0" data-endVal="{$vvo.sub_title}" data-speed="1.2" data-decimals="0" id="mumC{$vvo.id}">{$vvo.sub_title}</span>
{$vvo.description}
</div>
</li>
{/hcTaglib:contentPage}
</ul>
<div class="img" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:contentPage cid="183" mainField="*" subField="*" name="hc_content" limit="2" item="vo" sort="sort asc"}
<img src="{$vo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:contentPage}
</div>
</div>
</div>
<!-- 企业文化 -->
<div class="guanyuBlock2" id="block2">
<div class="title2" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:category id="184" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:content cid="184" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list">
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""><span><img src="/themes/static/images/guanyuBlock2Ico.png" alt=""></span></div>
<div class="text">
<div class="tit">{$vo.title}</div>
<div class="en">{$vo.sub_title}</div>
<div class="tips">{$vo.description}</div>
</div>
</div>
{/hcTaglib:content}
</div>
</div>
<!-- 发展历程 -->
<div class="guanyuBlock3" id="block3">
<div class="title2" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:category id="185" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div class="line"></div>
<div class="swiper-button-prev"><img src="/themes/static/images/left3.png" alt=""></div>
<div class="swiper-button-next"><img src="/themes/static/images/right3.png" alt=""></div>
<div class="swiper guanyuBlock3Swiper">
<div class="swiper-wrapper">
{hcTaglib:content cid="185" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="swiper-slide">
<div class="time">
<span>{$vo.title}</span>
</div>
<em></em>
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
<div class="tit">{$vo.sub_title}</div>
<div class="text">{$vo.description}</div>
</div>
{/hcTaglib:content}
</div>
</div>
</div>
</div>
<!-- 新闻资讯 -->
<div class="guanyuBlock4" id="block4">
<div class="title2" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:category id="186" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div class="swiper guanyuBlock4Swiper">
<div class="swiper-wrapper">
{hcTaglib:content cid="186" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="swiper-slide">
<a href="{:hcUrl('detail/index',['id'=>$vo['id'],'cid'=>$vo['category_id']])}" class="list">
<div class="time">{:date('Y-m-d', strtotime($vo['publish_time']))}</div>
<div class="tit">{$vo.title}</div>
<div class="line"></div>
<div class="tips">{$vo.description}</div>
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
</a>
</div>
{/hcTaglib:content}
</div>
</div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
{hcTaglib:category id="186" item="vo" field="*"}
<a href="{$vo.alias}" class="moreBtn" aos="fade-up" aos-anchor-placement="top-bottom">
更多资讯
<img src="/themes/static/images/more.png" alt="">
</a>
{/hcTaglib:category}
</div>
<!-- 荣誉证书 -->
<div class="guanyuBlock5" id="block5">
<div class="title2" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:category id="187" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div class="swiper guanyuBlock5Swiper">
<div class="swiper-wrapper">
{hcTaglib:content cid="187" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="swiper-slide">
<img src="{$vo['thumbnail']['url']|default=''}" alt="">
</div>
{/hcTaglib:content}
</div>
</div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</div>
<!-- 加入宅极慧 -->
<div class="guanyuBlock6" id="block6">
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:category id="188" item="vo" field="*"}
<div class="title2">
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
</div>
<a href="{$vo.alias}" class="moreBtn" target="_blank">
查看岗位信息
<img src="/themes/static/images/more.png" alt="">
</a>
{/hcTaglib:category}
</div>
</div>
<!-- 联系我们 -->
<div class="guanyuBlock7" id="block7">
<div class="title2" aos="fade-up" aos-anchor-placement="top-bottom">
{hcTaglib:category id="189" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="w1400" aos="fade-up" aos-anchor-placement="top-bottom">
<div class="left">
<div class="tel">
{hcTaglib:category id="190" item="vo" field="*"}
<p><span><img src="{$vo['thumbnail']['url']|default=''}" alt=""></span>{$vo.title}</p>
{/hcTaglib:category}
<div class="cont">
{hcTaglib:content cid="190" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list">
<a href="tel:{$vo.title}">{$vo.title}</a>
{$vo.sub_title}
</div>
{/hcTaglib:content}
</div>
</div>
<div class="mail">
{hcTaglib:category id="191" item="vo" field="*"}
<p><span><img src="{$vo['thumbnail']['url']|default=''}" alt=""></span>{$vo.title}</p>
<a href="mailto:{$vo.sub_title}">{$vo.sub_title}</a>
{/hcTaglib:category}
</div>
<div class="wechat">
{hcTaglib:content cid="192" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list">
<img src="{$vo['thumbnail']['url']|default=''}" alt="">
<div class="tips">
<p>{$vo.sub_title}</p>
{$vo.title}
</div>
</div>
{/hcTaglib:content}
</div>
<div class="address">
{hcTaglib:category id="193" item="vo" field="*"}
<p><span><img src="{$vo['thumbnail']['url']|default=''}" alt=""></span>{$vo.title}</p>
{/hcTaglib:category}
<ul>
{hcTaglib:content cid="193" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<li>
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
<p>{$vo.title}</p>
</li>
{/hcTaglib:content}
</ul>
</div>
</div>
<div class="right">
<form action="">
<div class="tit">在线预约</div>
<input type="text" name="name" id="inputName" placeholder="请输入您的姓名">
<input type="text" name="tel" id="inputTel" placeholder="请输入您的电话">
<input type="text" name="content" id="inputCont" placeholder="留言内容">
<a href="javascript:;" class="btn">立即提交</a>
</form>
</div>
</div>
</div>
<div class="formTips">
提交成功
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/swiper-bundle.min.js"></script>
<script src="/themes/static/js/count.js"></script>
<script>
// 数字滚动
$(function(){
var countCXArr = [];
var countCX=function (){
$('.numCount').each(function(i, dom) {
if(countCXArr[i] && countCXArr[i] === true){
return;
}
var sT;
var ncTop;
sT = $(window).scrollTop();
ncTop = $(dom).offset().top;
var id,decimals, startVal, endVal, duration;
if (sT > ncTop-$(window).height() && sT < ncTop) {
$(dom).find('.numCX').each(function(){
id=$(this).attr('id');
decimals = $(this).attr('data-decimals'),
startVal = $(this).attr('data-startVal'),
endVal = $(this).attr('data-endVal'),
duration = $(this).attr('data-speed');
new CountUp(id, startVal, endVal, decimals, duration, {
useEasing: true,//效果
separator: ''//数字分隔符
}).start();// target:目标元素id, startVal:你想要开始的值, endVal:你想要到达的值, decimals:小数位数,默认值为0, duration:动画持续时间为秒,默认值为2, options:选项的可选对象
countCXArr[i] = true;
})
}
})
}
countCX();
$(window).on("scroll",function() {
countCX();
})
});
// 发展历程
var swiper = new Swiper(".guanyuBlock3Swiper", {
slidesPerView: 1,
spaceBetween: 20,
navigation: {
nextEl: ".guanyuBlock3 .swiper-button-next",
prevEl: ".guanyuBlock3 .swiper-button-prev",
},
breakpoints:{
997:{
slidesPerView: 2,
},
1200:{
slidesPerView: 4,
spaceBetween: 66,
}
}
});
// 发展历程 时间轴线位置、长度
let lineWidth = $('body').width()
let linePosi = (lineWidth - $('.guanyuBlock3 .w1400').width())/2
$('.guanyuBlock3 .w1400 .line').css({
'width': lineWidth,
'left': -linePosi
})
$(window).resize(function(){
let lineWidth = $('body').width()
let linePosi = (lineWidth - $('.guanyuBlock3 .w1400').width())/2
$('.guanyuBlock3 .w1400 .line').css({
'width': lineWidth,
'left': -linePosi
})
})
// 新闻资讯
var swiper2 = new Swiper(".guanyuBlock4Swiper", {
slidesPerView: 1,
spaceBetween: 30,
navigation: {
nextEl: ".guanyuBlock4 .swiper-button-next",
prevEl: ".guanyuBlock4 .swiper-button-prev",
},
breakpoints:{
997:{
slidesPerView: 2,
spaceBetween: 30
},
1280:{
slidesPerView: 3,
spaceBetween: 70
}
}
});
// 荣誉证书
var swiper3 = new Swiper(".guanyuBlock5Swiper", {
loop: true,
slidesPerView: 1,
spaceBetween: 30,
navigation: {
nextEl: ".guanyuBlock5 .swiper-button-next",
prevEl: ".guanyuBlock5 .swiper-button-prev",
},
breakpoints:{
750:{
slidesPerView:2,
},
997:{
slidesPerView: 3,
spaceBetween: 30,
centeredSlides: true,
}
}
});
$('.guanyuBlock7 .w1400 .right form .btn').click(function(){
let name = $('#inputName').val()
let tel = $('#inputTel').val()
let content = $('#inputCont').val()
let re = /^1[3|4|5|6|7|8|9]\d{9}$/;
if(name == ''){
alert('请输入您的姓名')
return
}
if (tel == '') {
alert("请输入您的号码");
return false;
} else if (!re.test(tel)) {
alert("请输入正确的号码");
return false;
}
$.ajax({
type: "post",
url: "Inquiry/save",
data: {
contacts_name: name,
phone: tel,
content: content,
referer: window.location.href
},
success: function (res) {
$('.formTips').stop().fadeIn()
$('.guanyuBlock7 .w1400 .right form')[0].reset();
setTimeout(function() {
$('.formTips').stop().fadeOut()
}, 3000);
},
Error: function(res){
alert('提交失败,请尝试联系客服')
}
});
})
</script>
</body>
</html>

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

170
public/themes/website/1/en/demo/single_jiage.html

@ -1,170 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/scss/jiage.css?version=1.01">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- 正文 -->
<div class="jiageBlock">
{hcTaglib:category id="153" item="vo" field="*"}
<img src="{$vo['banner']['url']|default=''}" alt="">
{/hcTaglib:category}
<div class="w1400">
<div class="win">
{hcTaglib:category id="174" item="vo" field="*"}
<div class="titFirst">{$vo.sub_title}</div>
<div class="big">{$vo.title}</div>
<div class="tips">{$vo.description}</div>
{/hcTaglib:category}
<a href="javascript:;" class="moreBtn">
开始估算价格
<img src="/themes/static/images/more2.png" alt="">
</a>
</div>
<div class="win2">
{hcTaglib:category id="175" item="vo" field="*"}
<div class="tit"><span>1</span>{$vo.title}?*</div>
{/hcTaglib:category}
<div class="content">
{hcTaglib:content cid="175" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list" data-price="{$vo.description}">
<div class="img">
<img src="{$vo['thumbnail']['url']|default=''}" alt="">
</div>
<p>
<span>{$vo.sub_title}</span>
{$vo.title}
</p>
</div>
{/hcTaglib:content}
</div>
<a href="javascript:;" class="true">OK<img src="/themes/static/images/true.png" alt=""></a>
</div>
<div class="win3">
{hcTaglib:category id="176" item="vo" field="*"}
<div class="tit"><span>2</span>{$vo.title}?*</div>
<div class="tips">{$vo.description}</div>
<div class="content">
{hcTaglib:content cid="176" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<img src="{$vvo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:content}
</div>
<input type="number" class="switch" placeholder="{$vo.desc}" data-price="{$vo.sub_title}">
{/hcTaglib:category}
<a href="javascript:;" class="true">OK<img src="/themes/static/images/true.png" alt=""></a>
</div>
<div class="win4">
{hcTaglib:category id="177" item="vo" field="*"}
<div class="tit"><span>3</span>{$vo.title}?*</div>
<div class="tips">{$vo.description}</div>
<div class="content">
{hcTaglib:content cid="177" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<img src="{$vvo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:content}
</div>
<input type="number" class="switch" placeholder="{$vo.desc}" data-price="{$vo.sub_title}">
{/hcTaglib:category}
<a href="javascript:;" class="true">OK<img src="/themes/static/images/true.png" alt=""></a>
</div>
<div class="win5">
{hcTaglib:category id="178" item="vo" field="*"}
<div class="tit"><span>4</span>{$vo.title}?*</div>
{/hcTaglib:category}
<div class="content">
{hcTaglib:content cid="178" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<img src="{$vvo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:content}
</div>
<div class="pick">
{hcTaglib:content cid="179" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<a href="javascript:;" data-price="{$vvo.sub_title}">{$vvo.title}<img src="/themes/static/images/true2.png" alt=""></a>
{/hcTaglib:content}
</div>
<a href="javascript:;" class="true">OK<img src="/themes/static/images/true.png" alt=""></a>
</div>
<div class="win6">
{hcTaglib:category id="180" item="vo" field="*"}
<div class="tit"><span>5</span>{$vo.title}?*</div>
<div class="tips">{$vo.description}</div>
<div class="content">
{hcTaglib:content cid="180" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<img src="{$vvo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:content}
</div>
<input type="number" class="switch" placeholder="{$vo.desc}" data-price="{$vo.sub_title}">
{/hcTaglib:category}
<a href="javascript:;" class="true">OK<img src="images/true.png" alt=""></a>
</div>
<div class="win7">
{hcTaglib:category id="181" item="vo" field="*"}
<div class="tit"><span>6</span>{$vo.title}?*</div>
<div class="tips">{$vo.description}</div>
<div class="content">
{hcTaglib:content cid="181" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<img src="{$vvo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:content}
</div>
<input type="number" class="switch" placeholder="{$vo.desc}" data-price="{$vo.sub_title}">
{/hcTaglib:category}
<a href="javascript:;" class="true">OK<img src="/themes/static/images/true.png" alt=""></a>
</div>
<div class="win8">
{hcTaglib:category id="182" item="vo" field="*"}
<div class="tit"><span>7</span>{$vo.title}?*</div>
<div class="content">
{hcTaglib:content cid="182" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo" sort="sort asc"}
<img src="{$vvo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:content}
</div>
<input type="number" class="switch" placeholder="{$vo.desc}" data-price="{$vo.sub_title}">
{/hcTaglib:category}
<a href="javascript:;" class="true">OK<img src="/themes/static/images/true.png" alt=""></a>
</div>
<div class="win9">
<div class="tit"><span>8</span>差不多了!请提供您的联系方式 *</div>
<form action="" id="form">
<input type="text" id="formName" placeholder="请输入您的姓名">
<input type="text" id="formWechat" placeholder="请输入你的微信号或WhatsApp”">
<input type="text" id="formTel" placeholder="请输入您的电话">
<a href="javascript:;" class="submit">Submit</a>
</form>
</div>
<div class="win10">
<div class="content">
<div class="tit">
根据您的需求<br>您的智能家居预算预估
</div>
<div class="price">
<span></span>
</div>
<div class="tips">
感谢您完成智能家居预估配置<br>我们将会有专业的团队与您联系<br>与您一同打造您理想中的智能家居
</div>
{hcTaglib:category id="194" item="vo" field="*"}
<a href="{$vo.alias}" class="moreBtn">查看案例<img src="/themes/static/images/more2.png" alt=""></a>
{/hcTaglib:category}
</div>
</div>
</div>
</div>
<!-- 提示框 -->
<div class="blackBg">
<div class="tips">
<p>提示框</p>
<div class="text"></div>
<a href="javascript:;" class="close">确定</a>
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/jiage.js"></script>
</body>
</html>

268
public/themes/website/1/en/demo/single_jiejue.html

@ -1,268 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/jiejue.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- banner -->
<div class="listBanner">
{hcTaglib:category id="$current_cate['id']" item="vo" field="*"}
<img src="{$vo['banner']['url']|default=''}" alt="">
<div class="center">
<div class="tit">{$vo.title}</div>
<div class="tips">{$vo.description}</div>
</div>
{/hcTaglib:category}
</div>
<!-- 正文 -->
<div class="jiejueBlock">
{hcTaglib:category id="168" item="vo" field="*"}
<div class="title2">
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
</div>
{/hcTaglib:category}
<div class="w1400">
<div class="contList">
{hcTaglib:content cid="168" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list">
<div class="tit">{$vo.title}</div>
<span></span>
<div class="tips">{$vo.description}</div>
</div>
{/hcTaglib:content}
</div>
<div class="bottom">
{hcTaglib:content cid="169" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list">
<div class="img"><img src="{$vo['cover']['url']|default=''}" alt=""></div>
<div class="posi">
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
<div class="tit">{$vo.title}</div>
<div class="tips">{$vo.description}</div>
</div>
</div>
{/hcTaglib:content}
</div>
</div>
</div>
<div class="jiejueBlock2">
{hcTaglib:category id="170" item="vo" field="*"}
<div class="title2">
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
</div>
{/hcTaglib:category}
<div class="w1400">
<div class="tab">
{hcTaglib:subcategory pid="170" item="vo" field="*"}
<a href="javascript:;"><img src="{$vo['thumbnail']['url']|default=''}" alt="">{$vo.title}</a>
{/hcTaglib:subcategory}
</div>
<div class="content">
{hcTaglib:subcategory pid="170" item="vo" field="*"}
<div class="cont">
<div class="list">
<div class="swiper jiejueBlock2Swiper">
<div class="swiper-wrapper">
{hcTaglib:content cid="$vo.id" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo"}
<div class="swiper-slide">
<div class="swiper jiejueBlock2Swiper2">
<div class="swiper-wrapper">
{volist name="$vvo.main_content.atlas" id="vv" }
<div class="swiper-slide"><img src="{$vv.url}" alt="" srcset=""></div>
{/volist}
</div>
<div class="hoverLeft">
<div class="swiper-button-prev"><img src="/themes/static/images/left3.png" alt=""></div>
</div>
<div class="hoverRight">
<div class="swiper-button-next"><img src="/themes/static/images/right3.png" alt=""></div>
</div>
</div>
<div class="tit">
{$vvo.title}
</div>
<div class="tips">
{$vvo.description}
</div>
</div>
{/hcTaglib:content}
</div>
<div class="menuBox">
<div class="swiper-button-prev"><img src="/themes/static/images/left5.png" alt=""></div>
<div class="swiper-button-next"><img src="/themes/static/images/right5.png" alt=""></div>
</div>
</div>
</div>
</div>
{/hcTaglib:subcategory}
</div>
</div>
</div>
<div class="jiejueBlock3">
{hcTaglib:category id="170" item="vo" field="*"}
<div class="title2">
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
</div>
{/hcTaglib:category}
<div class="w1400">
<div class="left">
{hcTaglib:subcategory pid="172" item="vo" field="*"}
<a href="javascript:;">
{$vo.title}<img src="/themes/static/images/right3.png" alt="">
<div class="noneBg"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
</a>
{/hcTaglib:subcategory}
</div>
<div class="right">
{hcTaglib:subcategory pid="172" item="vo" field="*"}
<div class="list">
<div class="swiper jiejueBlock3Parent">
<div class="ParentMenu">
<div class="swiper-button-prev"><img src="/themes/static/images/left5.png" alt=""></div>
<div class="swiper-button-next"><img src="/themes/static/images/right5.png" alt=""></div>
</div>
<div class="swiper-wrapper">
{hcTaglib:content cid="$vo.id" moduleId='1' mainField="*" subField="*" name="case_top" item="vvo"}
<div class="swiper-slide">
<div class="tit">{$vvo.title}</div>
<div class="tips">
{$vvo.description}
</div>
<div class="swiper jiejueBlock3child">
<div class="swiper-wrapper">
{volist name="$vvo.main_content.atlas" id="vo" }
<div class="swiper-slide">
<img src="{$vo.url}" alt="{$vo.description}" srcset="">
</div>
{/volist}
</div>
<div class="hoverLeft">
<div class="swiper-button-prev"><img src="/themes/static/images/left3.png" alt=""></div>
</div>
<div class="hoverRight">
<div class="swiper-button-next"><img src="/themes/static/images/right3.png" alt=""></div>
</div>
</div>
</div>
{/hcTaglib:content}
</div>
</div>
</div>
{/hcTaglib:subcategory}
</div>
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/swiper-bundle.min.js"></script>
<script>
if($(window).width() > 996 ){
$('.jiejueBlock .w1400 .bottom .list').eq(0).addClass('on')
}
$(window).resize(function(){
if($(window).width() > 996 ){
$('.jiejueBlock .w1400 .bottom .list').removeClass('on')
}
})
$('.jiejueBlock .w1400 .bottom .list').hover(function(){
if($(window).width() > 996 ){
$(this).addClass('on')
$(this).siblings('').removeClass('on')
}
})
var swiper = new Swiper(".jiejueBlock2Swiper", {
slidesPerView: 1,
spaceBetween: 20,
navigation: {
nextEl: ".jiejueBlock2Swiper .menuBox .swiper-button-next",
prevEl: ".jiejueBlock2Swiper .menuBox .swiper-button-prev",
},
breakpoints:{
996:{
slidesPerView: 1,
spaceBetween: 30,
}
}
});
var swiper = new Swiper(".jiejueBlock2Swiper2", {
slidesPerView: 1,
spaceBetween: 20,
navigation: {
nextEl: ".jiejueBlock2Swiper2 .swiper-button-next",
prevEl: ".jiejueBlock2Swiper2 .swiper-button-prev",
},
breakpoints:{
996:{
slidesPerView: 2,
spaceBetween: 30,
}
}
});
// tab切换
let tabOn
$('.jiejueBlock2 .w1400 .content .cont .list').eq(0).fadeIn()
$('.jiejueBlock2 .w1400 .tab a').eq(0).addClass('on')
$('.jiejueBlock2 .w1400 .tab a').click(function(){
$(this).addClass('on')
$(this).siblings().removeClass('on')
let thisClick = $(this).index()
$('.jiejueBlock2 .w1400 .content .cont .list').css('display','none')
$('.jiejueBlock2 .w1400 .content .cont .list').eq(thisClick).fadeIn()
})
// 智能系统经验
$('.jiejueBlock3 .w1400 .left a').eq(0).addClass('on')
$('.jiejueBlock3 .w1400 .left a').eq(0).children('.noneBg').fadeIn()
$('.jiejueBlock3 .w1400 .right .list').eq(0).fadeIn()
$('.jiejueBlock3 .w1400 .left a').click(function(){
let block3Click = $(this).index()
$(this).addClass('on')
$(this).siblings().removeClass('on')
$(this).children('.noneBg').stop().fadeIn()
$(this).siblings().children('.noneBg').stop().fadeOut()
$('.jiejueBlock3 .w1400 .right .list').css('display','none')
$('.jiejueBlock3 .w1400 .right .list').eq(block3Click).stop().fadeIn()
})
var swiper = new Swiper(".jiejueBlock3Parent", {
navigation: {
nextEl: ".jiejueBlock3Parent .ParentMenu > .swiper-button-next",
prevEl: ".jiejueBlock3Parent .ParentMenu > .swiper-button-prev",
},
});
var swiper = new Swiper(".jiejueBlock3child", {
slidesPerView: 1,
spaceBetween: 20,
navigation: {
nextEl: ".jiejueBlock3child .swiper-button-next",
prevEl: ".jiejueBlock3child .swiper-button-prev",
},
breakpoints:{
750:{
slidesPerView: 2,
spaceBetween: 20,
},
996:{
slidesPerView: 2,
spaceBetween: 43,
}
}
});
</script>
</body>
</html>

142
public/themes/website/1/en/demo/single_jishu.html

@ -1,142 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/jishu.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- banner -->
<div class="listBanner">
{hcTaglib:category id="199" item="vo" field="*"}
<img src="{$vo['banner']['url']|default=''}" alt="">
<div class="center">
<div class="tit">{$vo.title}</div>
<div class="tips">{$vo.sub_title}</div>
</div>
{/hcTaglib:category}
</div>
<!-- 正文 -->
<div class="jishuBlock" id="block1">
<div class="title3">
{hcTaglib:category id="200" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="w1400">
{hcTaglib:content cid="200" moduleId='1' mainField="*" subField="*" name="case_top" item="vo"}
<div class="list">
<img src="{$vo['thumbnail']['url']|default=''}" alt="">
<div class="border"></div>
<div class="text">{$vo.title}</div>
</div>
{/hcTaglib:content}
</div>
</div>
<div class="jishuBlock2" id="block2">
<div class="title3">
{hcTaglib:category id="201" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="content">
<div class="swiper mySwiper">
<div class="swiper-wrapper">
{hcTaglib:content cid="201" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="swiper-slide">
<div class="list">
<img src="{$vo['cover']['url']|default=''}" alt="">
<div class="tit">
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
<p>{$vo.title}</p>
</div>
<div class="posi">
<div class="img"><img src="{$vo['thumbnail']['url']|default=''}" alt=""></div>
<div class="tit">{$vo.title}</div>
<span></span>
<div class="tips">{$vo.description}</div>
</div>
</div>
</div>
{/hcTaglib:content}
</div>
<div class="swiper-pagination"></div>
</div>
</div>
</div>
<div class="jishuBlock3" id="block3">
<div class="title3">
{hcTaglib:category id="202" item="vo" field="*"}
<p>{$vo.title}</p>
<div class="tips">{$vo.sub_title}</div>
{/hcTaglib:category}
</div>
<div class="content">
<div class="left">
{hcTaglib:content cid="202" moduleId='1' mainField="*" subField="*" name="case_top" item="vo" sort="sort asc"}
<div class="list">
<p>{$vo.title}</p>
<div class="tips">{$vo.description}</div>
</div>
{/hcTaglib:content}
</div>
<div class="right">
{hcTaglib:category id="202" item="vo" field="*"}
<img src="{$vo['thumbnail']['url']|default=''}" alt="">
{/hcTaglib:category}
</div>
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script src="/themes/static/js/swiper-bundle.min.js"></script>
<script>
var swiper = new Swiper(".mySwiper", {
slidesPerView: 1,
spaceBetween: 20,
pagination: {
el: ".swiper-pagination",
},
breakpoints:{
750:{
slidesPerView: 2,
spaceBetween: 30
},
1280:{
slidesPerView: 3,
spaceBetween: 40
},
1560:{
slidesPerView: 5,
spaceBetween: 0
}
}
});
$('.jishuBlock2 .content .list').hover(function(){
if($(window).width() > 996 ){
$(this).addClass('on')
return
}
},function(){
if($(window).width() > 996 ){
$(this).removeClass('on')
return
}
})
</script>
</body>
</html>

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

@ -1,94 +1,296 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en">
<html lang="zh-CN">
<head> <head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/css/swiper-bundle.min.css">
<link rel="stylesheet" href="/themes/static/scss/search.css">
<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> </head>
<body> <body>
<!-- header -->
{include file="components/header"}
<div class="searchBlock">
<div class="w1400">
<div class="tit">
搜索结果
</div>
<ul>
<li class="{$type==0 ? 'on' : ''}"><a href="javascript:;">全部结果</a></li>
<li class="{$type==1 ? 'on' : ''}"><a href="javascript:;">产品结果</a></li>
<li class="{$type==2 ? 'on' : ''}"><a href="javascript:;">新闻结果</a></li>
</ul>
<div class="content">
{volist name="list" id="vo"}
<?php
$categoryIdArr = explode('-',$vo['category'][0]['path']);
$parentId = $categoryIdArr[1];
?>
{if $parentId == 38 }
<a href="{$vo.url|default='javascript:;'}" target="_blank" class="list">
<p>{$vo.title}</p>
<div class="tips">
{$vo.description}
</div>
<span>了解更多<img src="/themes/static/images/more-red.png" alt=""></span>
</a>
{else /}
<a href="{:hcUrl('detail/index',['id'=>$vo['id'],'cid'=>$vo['category_id']])}" target="_blank" class="list">
<p>{$vo.title}</p>
<div class="tips">
{$vo.description}
</div>
<span>了解更多<img src="/themes/static/images/more-red.png" alt=""></span>
</a>
{/if}
{/volist}
</div>
<!-- 引入公共头部 -->
<!-- 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>
{$list_page|raw}
</div>
<!-- footer -->
{include file="components/footer"}
<!-- 当前页 -->
<script>
function getUrlParam(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  var r = window.location.search.substr(1).match(reg); //匹配目标参数
  if (r != null) return decodeURI(r[2]); return null; //返回参数值
</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);
} }
let baseUrl = '/{:request()->pathinfo()}?';
$('.searchBlock .w1400 ul li a').click(function(){
let quest = getUrlParam('q')
window.location.href = baseUrl + 'q=' + quest + '&type=' + $(this).parent().index()
})
$('.pagination li').each(function(){
if($(this).children().html() == '«'){
$(this).children('a').html('<')
$(this).children('span').html('<')
}
if($(this).children().html() == '»'){
$(this).children('a').html('>')
$(this).children('span').html('>')
}
})
$(document).ready(function(){
let thisOn = getUrlParam('type')
$('.searchBlock .w1400 ul li').removeClass('on')
if(thisOn == '1'){
$('.searchBlock .w1400 ul li').eq(1).addClass('on')
}else if(thisOn == '2'){
$('.searchBlock .w1400 ul li').eq(2).addClass('on')
}else{
$('.searchBlock .w1400 ul li').eq(0).addClass('on')
{/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);
}
} }
})
</script>
}
$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> </body>
</html>
</html>

211
public/themes/website/1/en/demo/single_zhaopin.html

@ -1,211 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
{include file="components/currency"}
<!-- 当前页 -->
<link rel="stylesheet" href="/themes/static/scss/zhaopin.css">
</head>
<body>
<!-- header -->
{include file="components/header"}
<!-- 正文 -->
<div class="listBanner">
{hcTaglib:category id="$current_cate['id']" item="vo" field="*"}
<img src="{$vo['banner']['url']|default=''}" alt="">
<div class="center">
<div class="tit">{$vo.title}</div>
<div class="tips">{$vo.sub_title}</div>
</div>
{/hcTaglib:category}
</div>
<div class="zhaopinBlock">
<div class="w1400">
<div class="tab zn">
<div class="tit">
职能:
</div>
<div class="list">
<a href="javascript:;" data-id='0'>全部</a>
{hcTaglib:subcategory pid="244" moduleId="9" item="vo" field="id,title"}
<a href="javascript:;" data-id="{$vo.id}">{$vo.title}</a>
{/hcTaglib:subcategory}
</div>
</div>
<div class="tab dq">
<div class="tit">
地区:
</div>
<div class="list">
<a href="javascript:;" data-id='0'>全部</a>
{hcTaglib:subcategory pid="245" moduleId="9" item="vo" field="id,title"}
<a href="javascript:;" data-id="{$vo.id}">{$vo.title}</a>
{/hcTaglib:subcategory}
</div>
</div>
<div class="content">
{if isset($job)}
{volist name="job" id="vo"}
<div class="list">
<div class="top">
<div class="tit">{$vo.title}</div>
<div class="addr">地点:{$vo.sub_title}</div>
<div class="menu">
<span></span>
<span></span>
</div>
</div>
<div class="cont">
<div class="center">
<div class="contList">
<div class="contTit">岗位职责:</div>
<div class="text">
{$vo.content|raw}
</div>
</div>
<div class="contList">
<div class="contTit">任职要求:</div>
<div class="text">
{$vo.main_content.rzyq|raw}
</div>
</div>
<div class="contList">
<div class="contTit">待遇简介</div>
<div class="text">
{$vo.main_content.dyjj|raw}
</div>
</div>
<div class="contList">
<div class="contTit">优享待遇</div>
<div class="text">
{$vo.main_content.hxgg|raw}
</div>
</div>
</div>
</div>
</div>
{/volist}
{else /}
{hcTaglib:contentPage mainField="*" subField="*" name="hc_content" limit="" item="vo"}
<div class="list">
<div class="top">
<div class="tit">{$vo.title}</div>
<div class="addr">地点:{$vo.sub_title}</div>
<div class="menu">
<span></span>
<span></span>
</div>
</div>
<div class="cont">
<div class="center">
<div class="contList">
<div class="contTit">岗位职责:</div>
<div class="text">
{$vo.content|raw}
</div>
</div>
<div class="contList">
<div class="contTit">任职要求:</div>
<div class="text">
{$vo.main_content.rzyq|raw}
</div>
</div>
<div class="contList">
<div class="contTit">待遇简介</div>
<div class="text">
{$vo.main_content.dyjj|raw}
</div>
</div>
<div class="contList">
<div class="contTit">核心骨干股权激励计划</div>
<div class="text">
{$vo.main_content.hxgg|raw}
</div>
</div>
</div>
</div>
</div>
{/hcTaglib:contentPage}
{/if}
</div>
{if isset($job)}
{$job|raw}
{else /}
{$hc_content|raw}
{/if}
</div>
</div>
<!-- footer -->
{include file="components/footer"}
<script>
$('.zhaopinBlock .w1400 .zn .list a').eq(0).addClass('on')
$('.zhaopinBlock .w1400 .dq .list a').eq(0).addClass('on')
$('.zhaopinBlock .w1400 .content .list .top').click(function(){
if($(this).hasClass('on')){
$(this).removeClass('on')
$(this).siblings('.cont').stop().animate({'height': 0})
return
}
$(this).addClass('on')
$(this).siblings('.cont').stop().animate({'height': $(this).siblings('.cont').children('.center').outerHeight()})
})
//
function getUrlParam(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  var r = window.location.search.substr(1).match(reg); //匹配目标参数
  if (r != null) return decodeURI(r[2]); return null; //返回参数值
}
let baseUrl = '/{:request()->pathinfo()}?';
let tab1 = getUrlParam('zn')
let tab2 = getUrlParam('dq')
// $('.zhaopinBlock .w1400 .zn .list a').click(function(){
// $(this).siblings().removeClass('on')
// $(this).addClass('on')
// let thisClick = $(this).html()
// window.location.href = baseUrl + 'zn=' + thisClick + '&dq=' + tab2
// })
// $('.zhaopinBlock .w1400 .dq .list a').click(function(){
// $(this).siblings().removeClass('on')
// $(this).addClass('on')
// let thisClick2 = $(this).html()
// window.location.href = baseUrl + 'zn=' + tab1 + '&dq=' + thisClick2
// })
$('.zhaopinBlock .w1400 .zn .list a').click(function(){
if(tab2 == null){
tab2 = 0
}
let thisClick = $(this).attr('data-id')
window.location.href = baseUrl + 'zn=' + thisClick + '&dq=' + tab2
})
$('.zhaopinBlock .w1400 .dq .list a').click(function(){
if(tab1 == null){
tab1 = 0
}
let thisClick2 = $(this).attr('data-id')
window.location.href = baseUrl + 'zn=' + tab1 + '&dq=' + thisClick2
})
//
$('.zhaopinBlock .w1400 .zn .list a').each(function(){
if($(this).attr('data-id') == tab1){
$(this).siblings().removeClass('on')
$(this).addClass('on')
}
})
$('.zhaopinBlock .w1400 .dq .list a').each(function(){
if($(this).attr('data-id') == tab2){
$(this).siblings().removeClass('on')
$(this).addClass('on')
}
})
</script>
</body>
</html>

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

@ -0,0 +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>

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

@ -0,0 +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>
</html>

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

@ -0,0 +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>
</html>
Loading…
Cancel
Save