* Date: 2026-5-20 */ if (!defined('ROOT_PATH')) { exit('Access Denied'); } require_once __DIR__ . '/_functions.php'; $pageTitle = '首页'; $extraHead = ''; $slideList = !empty($slides) ? $slides : $db->fetchAll("SELECT * FROM {$db->table('slide')} WHERE status = 1 ORDER BY sort_order ASC, id DESC LIMIT 5"); $aboutCover = ''; $aboutSource = $db->fetch("SELECT litpic, content, title FROM {$db->table('article')} WHERE status = 1 AND litpic <> '' ORDER BY create_time DESC LIMIT 1"); if (!empty($aboutSource['litpic'])) { $aboutCover = (string) $aboutSource['litpic']; } if ($aboutCover === '' && !empty($slideList[0]['litpic'])) { $aboutCover = (string) $slideList[0]['litpic']; } $productRoots = $db->fetchAll("SELECT * FROM {$db->table('channel')} WHERE channel_type = 2 AND parent_id = 0 AND is_show = 1 ORDER BY list_order ASC, id ASC LIMIT 6"); $productTabs = $productRoots; if (count($productRoots) === 1) { $childTabs = $db->fetchAll("SELECT * FROM {$db->table('channel')} WHERE channel_type = 2 AND parent_id = ? AND is_show = 1 ORDER BY list_order ASC, id ASC LIMIT 8", [intval($productRoots[0]['id'])]); if (!empty($childTabs)) { $productTabs = $childTabs; } } if (empty($productTabs)) { $productTabs = $db->fetchAll("SELECT * FROM {$db->table('channel')} WHERE channel_type = 2 AND is_show = 1 ORDER BY list_order ASC, id ASC LIMIT 8"); } $productGroups = []; foreach ($productTabs as $root) { $relatedIds = [intval($root['id'])]; $childIds = $db->fetchAll("SELECT id FROM {$db->table('channel')} WHERE parent_id = ? AND is_show = 1 ORDER BY list_order ASC, id ASC", [intval($root['id'])]); foreach ($childIds as $child) { $relatedIds[] = intval($child['id']); } $relatedIds = array_values(array_unique(array_filter($relatedIds))); $placeholders = implode(',', array_fill(0, count($relatedIds), '?')); $items = $db->fetchAll("SELECT * FROM {$db->table('product')} WHERE channel_id IN ({$placeholders}) AND status = 1 ORDER BY create_time DESC LIMIT 4", $relatedIds); if (!empty($items)) { $productGroups[] = [ 'channel' => $root, 'products' => $items, ]; } } $caseProducts = $db->fetchAll("SELECT p.*, c.channel_name FROM {$db->table('product')} p LEFT JOIN {$db->table('channel')} c ON p.channel_id = c.id WHERE p.status = 1 AND p.litpic <> '' ORDER BY p.create_time DESC LIMIT 8"); $newsList = $db->fetchAll("SELECT a.*, c.channel_name FROM {$db->table('article')} a LEFT JOIN {$db->table('channel')} c ON a.channel_id = c.id WHERE a.status = 1 ORDER BY a.create_time DESC LIMIT 3"); $featureBlocks = [ ['title' => '专属方案定制', 'desc' => '根据行业需求输出展厅、产品、案例与服务内容结构。'], ['title' => '内容自动调用', 'desc' => '首页、列表页、详情页全部读取 CMS 后台内容,无需改系统逻辑。'], ['title' => '移动端同步适配', 'desc' => '导航、轮播、图文卡片和详情内容在手机端完整重排。'], ]; $advantageSlides = [ [ 'index' => '01', 'title' => '高标准视觉统一', 'desc' => '导航、横幅、卡片、按钮和深浅层次统一收拢到同一套品牌视觉语言。', 'image' => !empty($slideList[0]['litpic']) ? $slideList[0]['litpic'] : $aboutCover, ], [ 'index' => '02', 'title' => '多模块内容兼容', 'desc' => '支持文章、产品、图集、下载、视频、招聘和留言等栏目统一展示。', 'image' => !empty($caseProducts[0]['litpic']) ? $caseProducts[0]['litpic'] : $aboutCover, ], [ 'index' => '03', 'title' => '后台可持续维护', 'desc' => '模板不碰核心动态文件,后续只需在后台维护内容即可持续更新站点。', 'image' => !empty($caseProducts[1]['litpic']) ? $caseProducts[1]['litpic'] : $aboutCover, ], ]; require_once __DIR__ . '/_header.php'; ?>
ABOUT
公司介绍
COMPANY PROFILE
PRODUCTS
产品中心
PRODUCT CENTER
    $group): ?>
  • PRODUCT CATALOG

全国服务热线

PRODUCT

$group): ?>

CONSULT

如果您需要了解产品、价格或合作方案

提交需求
ADVANTAGE
核心优势
CORE ADVANTAGES
$slide): ?>
CASES
案例展示
PROJECT SHOWCASE
NEWS
新闻资讯
LATEST NEWS
MESSAGE
在线留言
ONLINE MESSAGE
查看全部留言
(function () { var slides = document.querySelectorAll('#homeBanner .swiper-slide'); var dots = document.querySelectorAll('#bannerDots span'); var prev = document.getElementById('bannerPrev'); var next = document.getElementById('bannerNext'); var current = 0; var timer = null; function show(index) { if (!slides.length) return; current = (index + slides.length) % slides.length; slides.forEach(function (slide, i) { slide.classList.toggle('active', i === current); }); dots.forEach(function (dot, i) { dot.classList.toggle('active', i === current); }); } function autoPlay() { timer = window.setInterval(function () { show(current + 1); }, 5000); } function stopPlay() { if (timer) { window.clearInterval(timer); timer = null; } } dots.forEach(function (dot) { dot.addEventListener('click', function () { stopPlay(); show(parseInt(this.getAttribute('data-index'), 10) || 0); autoPlay(); }); }); if (prev) { prev.addEventListener('click', function () { stopPlay(); show(current - 1); autoPlay(); }); } if (next) { next.addEventListener('click', function () { stopPlay(); show(current + 1); autoPlay(); }); } if (slides.length > 1) { autoPlay(); } var tabs = document.querySelectorAll('#productTabs .li'); var boxes = document.querySelectorAll('.tabBox-right .box'); tabs.forEach(function (tab) { tab.addEventListener('click', function () { var target = this.getAttribute('data-tab'); tabs.forEach(function (item) { item.classList.remove('active'); }); boxes.forEach(function (box) { box.classList.remove('active'); }); this.classList.add('active'); var currentBox = document.getElementById(target); if (currentBox) { currentBox.classList.add('active'); } }); }); var advSlides = document.querySelectorAll('.iyoushi-box .swiper-slide'); var advDots = document.querySelectorAll('#advDots span'); var advPrev = document.getElementById('advPrev'); var advNext = document.getElementById('advNext'); var advIndex = 0; function showAdv(index) { if (!advSlides.length) return; advIndex = (index + advSlides.length) % advSlides.length; advSlides.forEach(function (slide, i) { slide.classList.toggle('active', i === advIndex); }); advDots.forEach(function (dot, i) { dot.classList.toggle('active', i === advIndex); }); } advDots.forEach(function (dot) { dot.addEventListener('click', function () { showAdv(parseInt(this.getAttribute('data-index'), 10) || 0); }); }); if (advPrev) advPrev.addEventListener('click', function () { showAdv(advIndex - 1); }); if (advNext) advNext.addEventListener('click', function () { showAdv(advIndex + 1); }); })(); HTML; require_once __DIR__ . '/_footer.php'; ?>