Files
cloud-chip.cn/storage/framework/views/fb732d386deb347bc804e258e49d1979.php
2026-08-08 18:27:38 +08:00

474 lines
33 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="<?php echo e(csrf_token()); ?>">
<?php
$siteName = App\Models\Setting::get('site_name', '深圳市云创芯电子有限公司');
$seoTitleDefault = App\Models\Setting::get('seo_title_default', $siteName . ' - 多口 TypeC 接口IC');
$seoDescDefault = App\Models\Setting::get('seo_description_default', '深圳市云创芯电子有限公司提供多口 TypeC 接口IC。');
$logoUrl = '/images/logo-dark.png'; // 固定品牌 logo,直接指向深色版,不依赖数据库设置(避免服务器库未同步导致回退旧 logo)
$faviconUrl = App\Models\Setting::get('favicon_url', '/images/ccc-icon.ico');
$icpNo = App\Models\Setting::get('icp_no', '');
$securityFilingNo = App\Models\Setting::get('security_filing_no', '粤公网安备44030002015390号');
// 主题配色:后台「站点设置」可切换;默认 azure(沉稳蓝)
$themes = [
'azure' => ['primary' => '#4a8af4', 'hover' => '#76a9f7', 'accent' => '#6fa8f7', 'info' => '#4a8af4', 'rgb' => '74,138,244'],
'slate' => ['primary' => '#6e8cb0', 'hover' => '#8aa6c6', 'accent' => '#7d98ba', 'info' => '#6e8cb0', 'rgb' => '110,140,176'],
'indigo' => ['primary' => '#7b7ef0', 'hover' => '#9b9df6', 'accent' => '#8f86f2', 'info' => '#7b7ef0', 'rgb' => '123,126,240'],
'teal' => ['primary' => '#2bb6a4', 'hover' => '#4fd0bd', 'accent' => '#34c0ad', 'info' => '#2bb6a4', 'rgb' => '43,182,164'],
'amber' => ['primary' => '#e8a13c', 'hover' => '#f2b765', 'accent' => '#ecae52', 'info' => '#e8a13c', 'rgb' => '232,161,60'],
];
$themeKey = App\Models\Setting::get('theme', 'azure');
$theme = $themes[$themeKey] ?? $themes['azure'];
?>
<title><?php echo $__env->yieldContent('title', $seoTitleDefault); ?></title>
<meta name="description" content="<?php echo $__env->yieldContent('description', $seoDescDefault); ?>">
<link rel="canonical" href="<?php echo e(url()->current()); ?>">
<meta property="og:type" content="website">
<meta property="og:site_name" content="<?php echo e($siteName); ?>">
<meta property="og:title" content="<?php echo $__env->yieldContent('title', $seoTitleDefault); ?>">
<meta property="og:description" content="<?php echo $__env->yieldContent('description', $seoDescDefault); ?>">
<meta property="og:url" content="<?php echo e(url()->current()); ?>">
<meta property="og:image" content="<?php echo e(asset($logoUrl)); ?>">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="<?php echo $__env->yieldContent('title', $seoTitleDefault); ?>">
<meta name="twitter:description" content="<?php echo $__env->yieldContent('description', $seoDescDefault); ?>">
<meta name="twitter:image" content="<?php echo e(asset($logoUrl)); ?>">
<link rel="icon" href="<?php echo e(asset($faviconUrl)); ?>" sizes="any">
<link rel="stylesheet" href="<?php echo e(asset('css/app.css')); ?>?v=<?php echo e(filemtime(public_path('css/app.css'))); ?>">
<!-- 主题配色覆盖:由后台「站点设置 → 主题」选择,注入后覆盖 app.css 默认 :root 变量(主色 + 光晕同步联动) -->
<style id="theme-override">
:root {
--color-primary: <?php echo e($theme['primary']); ?>;
--color-primary-hover: <?php echo e($theme['hover']); ?>;
--color-accent: <?php echo e($theme['accent']); ?>;
--color-info: <?php echo e($theme['info']); ?>;
--glow-color: <?php echo e($theme['rgb']); ?>;
}
</style>
<!-- Tailwind Play CDN(零构建);颜色全部映射到 :root CSS 变量,源码不硬编码颜色 -->
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: 'var(--color-primary)',
'primary-hover': 'var(--color-primary-hover)',
'primary-soft': 'var(--color-primary-soft)',
surface: 'var(--color-surface)',
'surface-2': 'var(--color-surface-2)',
line: 'var(--color-border)',
fg: 'var(--color-text)',
muted: 'var(--color-text-muted)',
danger: 'var(--color-danger)',
'danger-hover': 'var(--color-danger-hover)',
'danger-soft': 'var(--color-danger-soft)',
success: 'var(--color-success)',
'success-soft': 'var(--color-success-soft)',
warning: 'var(--color-warning)',
'warning-soft': 'var(--color-warning-soft)',
info: 'var(--color-info)',
'info-soft': 'var(--color-info-soft)',
bg: 'var(--color-bg)',
accent: 'var(--color-accent)',
},
fontFamily: {
sans: ['Inter', 'Noto Sans SC', 'system-ui', '-apple-system', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'PingFang SC', 'Microsoft YaHei', 'sans-serif'],
},
borderRadius: {
sm: 'var(--radius-sm)',
DEFAULT: 'var(--radius)',
lg: 'var(--radius-lg)',
},
boxShadow: {
soft: '0 1px 2px rgba(15, 23, 42, 0.06)',
card: '0 4px 14px rgba(15, 23, 42, 0.08)',
},
maxWidth: {
'8xl': '80rem',
},
}
}
};
</script>
<script src="<?php echo e(asset('js/vendor/vue.global.prod.js')); ?>" defer></script>
<script src="<?php echo e(asset('js/app.js')); ?>?v=<?php echo e(filemtime(public_path('js/app.js'))); ?>" defer></script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": <?php echo json_encode($siteName, JSON_UNESCAPED_UNICODE); ?>,
"url": <?php echo json_encode(url('/'), JSON_UNESCAPED_UNICODE); ?>,
"logo": <?php echo json_encode(asset($logoUrl), JSON_UNESCAPED_UNICODE); ?>,
"description": <?php echo json_encode($seoDescDefault, JSON_UNESCAPED_UNICODE); ?>
}
</script>
</head>
<body class="font-sans text-fg bg-surface antialiased">
<?php
// 前台顶部导航菜单(后台「导航菜单」可全权管理:显示/隐藏 + 排序)
$navMenus = \App\Models\NavigationMenu::visible()->ordered()->get();
?>
<!-- 顶部导航:TI 企业蓝风格,sticky + 留白 + 清晰层级 -->
<header class="sticky top-0 z-50 bg-surface/90 backdrop-blur border-b border-line">
<div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-14 lg:h-[68px]">
<a class="flex items-center gap-3 shrink-0" href="<?php echo e(url('/')); ?>" aria-label="<?php echo e($siteName); ?>">
<img src="<?php echo e(asset($logoUrl)); ?>" alt="<?php echo e($siteName); ?>" class="h-12 w-auto lg:h-14 drop-shadow-sm">
</a>
<nav class="hidden lg:flex items-center gap-7">
<?php $__currentLoopData = $navMenus; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $m): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<a href="<?php echo e(Str::startsWith($m->url, ['http://', 'https://']) ? $m->url : url($m->url)); ?>" class="text-lg lg:text-xl font-medium text-muted hover:text-primary transition-colors"><?php echo e($m->label); ?></a>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</nav>
<div class="hidden lg:flex items-center gap-5">
<!-- 全站搜索 -->
<form action="<?php echo e(url('/search')); ?>" method="GET" class="relative">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'search','size' => 20,'class' => 'absolute left-3 top-1/2 -translate-y-1/2 text-muted pointer-events-none']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'search','size' => 20,'class' => 'absolute left-3 top-1/2 -translate-y-1/2 text-muted pointer-events-none']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<input type="search" name="q" value="<?php echo e(request('q', '')); ?>" placeholder="搜索产品、文章、术语…" class="w-56 rounded-lg border border-line bg-surface-2 pl-10 pr-3 py-2.5 text-lg text-fg placeholder:text-muted focus:border-primary focus:outline-none focus:shadow-[0_0_0_3px_var(--color-primary-soft)]">
</form>
<?php if(auth()->guard()->check()): ?>
<?php if(Auth::user()->role !== 'user'): ?>
<a href="<?php echo e(url('/admin')); ?>" class="text-lg lg:text-xl font-medium text-muted hover:text-primary transition-colors">后台</a>
<?php endif; ?>
<a href="<?php echo e(route('articles.submit')); ?>" class="text-lg lg:text-xl font-medium text-muted hover:text-primary transition-colors">投稿</a>
<?php if (isset($component)) { $__componentOriginal39b43b49f7859249b8d0a5c82f915292 = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginal39b43b49f7859249b8d0a5c82f915292 = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.level-badge','data' => ['user' => Auth::user()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('level-badge'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['user' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(Auth::user())]); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginal39b43b49f7859249b8d0a5c82f915292)): ?>
<?php $attributes = $__attributesOriginal39b43b49f7859249b8d0a5c82f915292; ?>
<?php unset($__attributesOriginal39b43b49f7859249b8d0a5c82f915292); ?>
<?php endif; ?>
<?php if (isset($__componentOriginal39b43b49f7859249b8d0a5c82f915292)): ?>
<?php $component = $__componentOriginal39b43b49f7859249b8d0a5c82f915292; ?>
<?php unset($__componentOriginal39b43b49f7859249b8d0a5c82f915292); ?>
<?php endif; ?>
<span class="text-lg lg:text-xl text-muted"><?php echo e(Auth::user()->name); ?></span>
<a href="<?php echo e(route('auth.settings')); ?>" class="text-lg lg:text-xl font-medium text-muted hover:text-primary transition-colors">设置</a>
<form method="POST" action="<?php echo e(url('/logout')); ?>" class="inline">
<?php echo csrf_field(); ?>
<button type="submit" class="text-lg lg:text-xl font-medium text-muted hover:text-danger transition-colors">退出</button>
</form>
<?php endif; ?>
</div>
<!-- 移动端菜单按钮 -->
<button id="nav-toggle" type="button" class="lg:hidden inline-flex items-center justify-center p-2 rounded-lg text-muted hover:bg-surface-2" aria-label="菜单">
<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M4 6h16M4 12h16M4 18h16"/></svg>
</button>
</div>
</div>
<!-- 移动端展开菜单 -->
<div id="nav-menu" class="lg:hidden hidden border-t border-line bg-surface">
<div class="max-w-8xl mx-auto px-4 py-3 space-y-1">
<form action="<?php echo e(url('/search')); ?>" method="GET" class="relative mb-2">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'search','size' => 20,'class' => 'absolute left-3 top-1/2 -translate-y-1/2 text-muted pointer-events-none']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'search','size' => 20,'class' => 'absolute left-3 top-1/2 -translate-y-1/2 text-muted pointer-events-none']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<input type="search" name="q" value="<?php echo e(request('q', '')); ?>" placeholder="搜索产品、文章、术语…" class="w-full rounded-lg border border-line bg-surface-2 pl-10 pr-3 py-2.5 text-lg text-fg placeholder:text-muted focus:border-primary focus:outline-none focus:shadow-[0_0_0_3px_var(--color-primary-soft)]">
</form>
<?php $__currentLoopData = $navMenus; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $m): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<a href="<?php echo e(Str::startsWith($m->url, ['http://', 'https://']) ? $m->url : url($m->url)); ?>" class="block px-3 py-2.5 rounded-lg text-lg font-medium text-muted hover:bg-surface-2 hover:text-primary"><?php echo e($m->label); ?></a>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
<?php if(auth()->guard()->check()): ?>
<?php if(Auth::user()->role !== 'user'): ?>
<a href="<?php echo e(url('/admin')); ?>" class="block px-3 py-2.5 rounded-lg text-lg font-medium text-muted hover:bg-surface-2 hover:text-primary">后台</a>
<?php endif; ?>
<a href="<?php echo e(route('articles.submit')); ?>" class="block px-3 py-2.5 rounded-lg text-lg font-medium text-muted hover:bg-surface-2 hover:text-primary">投稿</a>
<div class="px-3 py-2.5"><?php if (isset($component)) { $__componentOriginal39b43b49f7859249b8d0a5c82f915292 = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginal39b43b49f7859249b8d0a5c82f915292 = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.level-badge','data' => ['user' => Auth::user()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('level-badge'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['user' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(Auth::user())]); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginal39b43b49f7859249b8d0a5c82f915292)): ?>
<?php $attributes = $__attributesOriginal39b43b49f7859249b8d0a5c82f915292; ?>
<?php unset($__attributesOriginal39b43b49f7859249b8d0a5c82f915292); ?>
<?php endif; ?>
<?php if (isset($__componentOriginal39b43b49f7859249b8d0a5c82f915292)): ?>
<?php $component = $__componentOriginal39b43b49f7859249b8d0a5c82f915292; ?>
<?php unset($__componentOriginal39b43b49f7859249b8d0a5c82f915292); ?>
<?php endif; ?></div>
<a href="<?php echo e(route('auth.settings')); ?>" class="block px-3 py-2.5 rounded-lg text-lg font-medium text-muted hover:bg-surface-2 hover:text-primary">设置</a>
<form method="POST" action="<?php echo e(url('/logout')); ?>" class="block">
<?php echo csrf_field(); ?>
<button type="submit" class="w-full text-left px-3 py-2.5 rounded-lg text-lg font-medium text-muted hover:bg-surface-2 hover:text-danger">退出(<?php echo e(Auth::user()->name); ?></button>
</form>
<?php endif; ?>
</div>
</div>
</header>
<main class="min-h-[60vh]">
<div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
<?php if(session('success')): ?>
<div class="flex items-center gap-2 my-6 rounded-lg border border-success/30 bg-success-soft px-4 py-3 text-sm text-success">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'check','size' => 18]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'check','size' => 18]); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<span><?php echo e(session('success')); ?></span>
</div>
<?php endif; ?>
<?php if($errors?->any()): ?>
<div class="flex items-center gap-2 my-6 rounded-lg border border-danger/30 bg-danger-soft px-4 py-3 text-sm text-danger">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'alert','size' => 18]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'alert','size' => 18]); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<span><?php echo e($errors->first() ?: '表单填写有误,请检查后重试。'); ?></span>
</div>
<?php endif; ?>
</div>
<?php echo $__env->yieldContent('content'); ?>
</main>
<footer class="mt-16 border-t border-line bg-surface">
<div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8 py-10">
<div class="grid gap-8 md:grid-cols-4">
<div class="md:col-span-2">
<div class="flex items-center gap-3 mb-3">
<img src="<?php echo e(asset($logoUrl)); ?>" alt="<?php echo e($siteName); ?>" class="h-12 w-auto drop-shadow-sm">
</div>
<p class="text-sm text-muted max-w-md">TypeC 产品顾问|多口 TypeC 接口IC 方案提供商,专注协议转换与同步整流控制芯片,面向充电与外设厂商。</p>
</div>
<div>
<h4 class="text-sm font-semibold text-fg mb-3">产品与资源</h4>
<ul class="space-y-2 text-sm text-muted">
<li><a href="<?php echo e(url('/products')); ?>" class="hover:text-primary transition-colors">产品中心</a></li>
<li><a href="<?php echo e(url('/solutions')); ?>" class="hover:text-primary transition-colors">解决方案</a></li>
<li><a href="<?php echo e(url('/about')); ?>" class="hover:text-primary transition-colors">关于我们</a></li>
<li><a href="<?php echo e(url('/articles')); ?>" class="hover:text-primary transition-colors">技术文章</a></li>
<li><a href="<?php echo e(url('/news')); ?>" class="hover:text-primary transition-colors">新闻动态</a></li>
<li><a href="<?php echo e(url('/glossary')); ?>" class="hover:text-primary transition-colors">术语库</a></li>
<li><a href="<?php echo e(url('/forum')); ?>" class="hover:text-primary transition-colors">技术论坛</a></li>
</ul>
</div>
<div>
<h4 class="text-sm font-semibold text-fg mb-3">联系我们</h4>
<ul class="space-y-2.5 text-sm text-muted">
<li class="flex items-start gap-2">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'box','size' => 16,'class' => 'mt-0.5 shrink-0 text-muted']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'box','size' => 16,'class' => 'mt-0.5 shrink-0 text-muted']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<span>深圳市云创芯电子有限公司</span>
</li>
<li class="flex items-center gap-2">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'mail','size' => 16,'class' => 'shrink-0 text-muted']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'mail','size' => 16,'class' => 'shrink-0 text-muted']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<a href="mailto:service@51chip.net" class="hover:text-primary transition-colors">service@51chip.net</a>
</li>
<li class="flex items-center gap-2">
<?php if (isset($component)) { $__componentOriginalce262628e3a8d44dc38fd1f3965181bc = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.icon','data' => ['name' => 'phone','size' => 16,'class' => 'shrink-0 text-muted']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('icon'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['name' => 'phone','size' => 16,'class' => 'shrink-0 text-muted']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $attributes = $__attributesOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__attributesOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc)): ?>
<?php $component = $__componentOriginalce262628e3a8d44dc38fd1f3965181bc; ?>
<?php unset($__componentOriginalce262628e3a8d44dc38fd1f3965181bc); ?>
<?php endif; ?>
<a href="tel:13510116819" class="hover:text-primary transition-colors">13510116819</a>
</li>
<li><a href="<?php echo e(url('/contact')); ?>" class="hover:text-primary transition-colors">更多联络方式</a></li>
<?php if(auth()->guard()->check()): ?>
<?php if(Auth::user()->role !== 'user'): ?>
<li><a href="<?php echo e(url('/admin')); ?>" class="hover:text-primary transition-colors">管理后台</a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
</div>
</div>
<?php $footerContent = App\Models\Setting::get('footer_content'); ?>
<?php if($footerContent): ?>
<div class="mt-8 footer-rich">
<?php echo \Purifier::clean($footerContent, 'article'); ?>
</div>
<?php endif; ?>
<div class="mt-8 pt-6 border-t border-line text-sm text-muted">
<p class="flex flex-wrap items-center gap-x-3 gap-y-1">
<span>© <?php echo e(date('Y')); ?> <?php echo e($siteName); ?>. 保留所有权利。</span>
<a href="<?php echo e(url('/sitemap')); ?>" class="hover:text-primary transition-colors">网站地图</a>
<?php if($icpNo): ?>
<a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener noreferrer" class="icp-link"><?php echo e($icpNo); ?></a>
<?php endif; ?>
<?php
// 公安网备号:优先取后台「站点设置」值,缺省内置粤公网安备44030002015390号
$secRaw = trim($securityFilingNo);
if ($secRaw === '') {
$secRaw = '粤公网安备44030002015390号';
}
// 提取数字编号,用于公安网备核验深链
preg_match('/\d{6,}/', $secRaw, $secMatch);
$secCode = $secMatch[0] ?? '44030002015390';
// 规范显示文案:缺「粤公网安备」前缀时自动补上并加「号」
if (!preg_match('/粤公网安备/', $secRaw)) {
$secRaw = '粤公网安备' . preg_replace('/\D/', '', $secRaw) . '号';
}
?>
<a href="https://beian.mps.gov.cn/#/query/webSearch?code=<?php echo e($secCode); ?>" target="_blank" rel="nofollow noopener noreferrer" class="icp-link inline-flex items-center gap-1">
<img src="<?php echo e(asset('images/gongan_badge.png')); ?>" width="16" height="17" alt="公安网备" loading="lazy" class="inline-block align-middle" onerror="this.onerror=null;this.outerHTML='<svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;17&quot; viewBox=&quot;0 0 24 24&quot;><path d=&quot;M12 2l8 3v6c0 5-4 9-8 11-4-2-8-6-8-11V5l8-3z&quot; fill=&quot;#1a3a8f&quot; stroke=&quot;#d4af37&quot; stroke-width=&quot;1&quot;/><polygon points=&quot;12,7 13.5,10.5 17,10.5 14,12.8 15,16.5 12,14.5 9,16.5 10,12.8 7,10.5 10.5,10.5&quot; fill=&quot;#ffffff&quot;/></svg>'">
<?php echo e($secRaw); ?>
</a>
</p>
</div>
</div>
</footer>
<script>
(function () {
var btn = document.getElementById('nav-toggle');
var menu = document.getElementById('nav-menu');
if (btn && menu) {
btn.addEventListener('click', function () {
menu.classList.toggle('hidden');
});
}
})();
</script>
</body>
</html>
<?php /**PATH /www/wwwroot/cloud-chip.cn/resources/views/layouts/app.blade.php ENDPATH**/ ?>