<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>-Seo优化-汉中市网站建设公司</title><meta name="keywords" content="" /><meta name="description" content="" /><!-- Tailwind CSS v3 --><script src="/templates/博客005/css/tailwindcss.css"></script><!-- Font Awesome --><link href="/templates/博客005/css/font-awesome.min.css" rel="stylesheet"><!-- Highlight.js --><link href="/templates/博客005/css/atom-one-dark.min.css" rel="stylesheet"><script src="/templates/博客005/js/highlight.min.js"></script><!-- AOS Animation --><link href="/templates/博客005/css/aos.css" rel="stylesheet"><script src="/templates/博客005/js/aos.js"></script><!-- Tailwind Config --><script>tailwind.config = {darkMode: 'class',theme: {extend: {colors: {primary: '#1E40AF',secondary: '#3B82F6',dark: {bg: '#0F172A',card: '#1E293B',border: '#334155'}},fontFamily: {sans: ['Inter', 'system-ui', 'sans-serif'],mono: ['Fira Code', 'monospace']},boxShadow: {'card': '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)','card-hover': '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)'}}}}</script><style type="text/tailwindcss">@layer utilities {.text-shadow {text-shadow: 0 2px 4px rgba(0,0,0,0.1);}.text-gradient {background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}.bg-gradient-blue {background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%);}.transition-all-300 {transition: all 0.3s ease;}.glass-effect {backdrop-filter: blur(10px);background-color: rgba(255, 255, 255, 0.1);}.dark .glass-effect {background-color: rgba(30, 41, 59, 0.8);}}/* 自定义滚动条 */::-webkit-scrollbar {width: 8px;height: 8px;}::-webkit-scrollbar-track {background: #f1f1f1;}.dark ::-webkit-scrollbar-track {background: #1E293B;}::-webkit-scrollbar-thumb {background: #c1c1c1;border-radius: 4px;}.dark ::-webkit-scrollbar-thumb {background: #475569;}::-webkit-scrollbar-thumb:hover {background: #a1a1a1;}.dark ::-webkit-scrollbar-thumb:hover {background: #64748b;}/* 代码块样式 */pre {position: relative;border-radius: 0.5rem;margin: 1rem 0;}.code-copy-btn {position: absolute;top: 0.5rem;right: 0.5rem;opacity: 0;transition: opacity 0.3s;}pre:hover .code-copy-btn {opacity: 1;}/* 阅读进度条 */.reading-progress {height: 3px;background: #3B82F6;position: fixed;top: 0;left: 0;z-index: 100;width: 0%;transition: width 0.2s ease;}/* 目录样式 */.toc {position: sticky;top: 2rem;max-height: calc(100vh - 4rem);overflow-y: auto;}.toc ul {list-style-type: none;}.toc li {margin: 0.5rem 0;}.toc a {display: block;padding: 0.25rem 0;color: #64748b;transition: all 0.2s;}.dark .toc a {color: #94a3b8;}.toc a:hover {color: #3B82F6;transform: translateX(5px);}.toc .toc-h3 {padding-left: 1.5rem;}.toc .toc-active {color: #3B82F6;font-weight: 600;}</style>
</head>
<body class="bg-gray-50 text-gray-800 dark:bg-dark-bg dark:text-gray-200 transition-all duration-300"><!-- 阅读进度条 --><div class="reading-progress"></div><!-- 导航栏 --><header class="sticky top-0 z-50 bg-white dark:bg-dark-card shadow-md"><nav class="container mx-auto px-4 py-3 flex items-center justify-between"><div class="flex items-center space-x-2"><img src="https://p11-doubao-search-sign.byteimg.com/tos-cn-i-be4g95zd3a/1651137479115014180~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540448&x-signature=a0l%2FlbnNqIrwUs6ClPl1x84hBt8%3D" alt="Logo" class="w-8 h-8"><a href="/index.html"> <span class="text-xl font-bold text-primary">Seo优化-汉中市网站建设公司</span></a></div><div class="hidden md:flex items-center space-x-6"><a href="/index.html" class="text-primary dark:text-secondary font-medium">首页</a><a href="/news.html" class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">文章</a><a href="/categories.html" class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">分类</a><a href="/tags.html" class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">标签</a><a href="/about.html" class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">关于我</a></div><div class="flex items-center space-x-4"><button id="search-btn" class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors"><i class="fa fa-search text-lg"></i></button><button id="theme-toggle" class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors"><i class="fa fa-moon-o dark:hidden text-lg"></i><i class="fa fa-sun-o hidden dark:block text-lg"></i></button><button class="md:hidden text-gray-700 dark:text-gray-300" id="mobile-menu-btn"><i class="fa fa-bars text-lg"></i></button></div></nav><!-- 移动端菜单 --><div id="mobile-menu" class="md:hidden hidden bg-white dark:bg-dark-card border-t border-gray-200 dark:border-dark-border"><div class="container mx-auto px-4 py-2 flex flex-col space-y-2"><a href="/index.html" class="py-2 text-primary dark:text-secondary font-medium">首页</a><a href="/news.html" class="py-2 text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">文章</a><a href="/categories.html" class="py-2 text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">分类</a><a href="/tags.html" class="py-2 text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">标签</a><a href="/about.html" class="py-2 text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-secondary transition-colors">关于我</a></div></div><!-- 搜索框 --><div id="search-modal" class="hidden fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center p-4"><div class="bg-white dark:bg-dark-card rounded-lg shadow-lg w-full max-w-2xl p-6" data-aos="fade-up"><div class="flex justify-between items-center mb-4"><h3 class="text-xl font-bold">搜索文章</h3><button id="close-search" class="text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"><i class="fa fa-times text-xl"></i></button></div><div class="relative"><input type="text" placeholder="输入关键词搜索..." class="w-full px-4 py-2 border border-gray-300 dark:border-dark-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary dark:bg-dark-bg"><button class="absolute right-2 top-1/2 transform -translate-y-1/2 text-primary"><i class="fa fa-search text-lg"></i></button></div><div class="mt-4"><h4 class="text-sm text-gray-500 dark:text-gray-400 mb-2">热门搜索</h4><div class="flex flex-wrap gap-2"><span class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors">JavaScript</span><span class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors">Vue.js</span><span class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors">React</span><span class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors">TypeScript</span><span class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors">Node.js</span></div></div></div></div></header><!-- 主要内容区域 --><main class="container mx-auto px-4 py-8"><div class="flex flex-col lg:flex-row gap-8"><!-- 中间内容区 --><div class="lg:w-3/4"><article class="bg-white dark:bg-dark-card rounded-lg shadow-card p-6 md:p-8" data-aos="fade-up"><div class="mb-6"><div class="flex items-center mb-2"><a href="/categories/frontend" class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full hover:underline">前端开发</a><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/9 13:20:32</span></div><h1 class="text-3xl font-bold mb-4"></h1><div class="flex items-center justify-between"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-8 h-8 rounded-full mr-2"><div><div class="text-sm font-medium text-gray-800 dark:text-gray-200">技术极客</div><div class="text-xs text-gray-500 dark:text-gray-400">全栈开发工程师</div></div></div><div class="flex items-center space-x-4 text-gray-500 dark:text-gray-400"><button class="flex items-center hover:text-primary transition-colors"><i class="fa fa-eye mr-1"></i><span>1.2k</span></button><button class="flex items-center hover:text-primary transition-colors"><i class="fa fa-comment mr-1"></i><span>48</span></button><button class="flex items-center hover:text-primary transition-colors"><i class="fa fa-heart mr-1"></i><span>126</span></button></div></div></div><!-- AI摘要 --><div class="bg-blue-50 dark:bg-blue-900/30 border-l-4 border-blue-500 p-4 mb-8 rounded"><div class="flex items-start"><i class="fa fa-robot text-blue-500 text-xl mt-1 mr-3"></i><div><h3 class="font-bold text-blue-800 dark:text-blue-300 mb-1">摘要</h3><p class="text-sm text-gray-700 dark:text-gray-300"></p></div></div></div><div class="prose dark:prose-invert max-w-none">文章不存在##当前访问ip142.250.33.72</div><!-- 文章标签 --><div class="mt-8 pt-6 border-t border-gray-200 dark:border-dark-border"><div class="flex flex-wrap gap-2"><span class="text-gray-700 dark:text-gray-300 font-medium">标签：</span><a href="/tags/javascript" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">JavaScript</a><a href="/tags/async" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">异步编程</a><a href="/tags/promise" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">Promise</a><a href="/tags/async-await" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">async/await</a><a href="/tags/frontend" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">前端开发</a></div></div><!-- 分享按钮 --><div class="mt-6 flex items-center"><span class="text-gray-700 dark:text-gray-300 font-medium mr-4">分享到：</span><div class="flex space-x-3"><a href="#" class="w-8 h-8 flex items-center justify-center rounded-full bg-gray-100 dark:bg-dark-border text-gray-700 dark:text-gray-300 hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors"><i class="fa fa-weixin"></i></a><a href="#" class="w-8 h-8 flex items-center justify-center rounded-full bg-gray-100 dark:bg-dark-border text-gray-700 dark:text-gray-300 hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors"><i class="fa fa-weibo"></i></a><a href="#" class="w-8 h-8 flex items-center justify-center rounded-full bg-gray-100 dark:bg-dark-border text-gray-700 dark:text-gray-300 hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors"><i class="fa fa-github"></i></a><a href="#" class="w-8 h-8 flex items-center justify-center rounded-full bg-gray-100 dark:bg-dark-border text-gray-700 dark:text-gray-300 hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors"><i class="fa fa-linkedin"></i></a></div></div><!-- 评论区 --><div class="mt-8 pt-6 border-t border-gray-200 dark:border-dark-border"><!-- 文章列表 --><div class="mb-8"><div class="flex justify-between items-center mb-6"><h2 class="text-2xl font-bold">最新文章</h2><div class="flex space-x-2"><button class="px-3 py-1 bg-primary text-white rounded-md text-sm">最新</button><a href="/list/popular" class="px-3 py-1 bg-gray-100 dark:bg-dark-border hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md text-sm transition-colors">热门</a><a href="/list/recommended" class="px-3 py-1 bg-gray-100 dark:bg-dark-border hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md text-sm transition-colors">推荐</a></div></div><!-- 文章卡片 --><div class="space-y-6"><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/终极植物大战僵尸修改器：PvZ Tools 2.7.4 完全使用指南" alt="终极植物大战僵尸修改器：PvZ Tools 2.7.4 完全使用指南" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/7 0:31:36</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1294835">终极植物大战僵尸修改器：PvZ Tools 2.7.4 完全使用指南</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">终极植物大战僵尸修改器&amp;#xff1a;PvZ Tools 2.7.4 完全使用指南 【免费下载链接】pvztools 植物大战僵尸原版 1.0.0.1051 修改器   项目地址: https://gitcode.com/gh_mirrors/pv/pvztools     
想重温经典《植物大战僵尸》却卡在困难关卡&amp;#xff1f;渴望无限阳光的畅快体验…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/分布式强一致性与高可用权衡：CAP 理论下 Raft/Consul 共识妥协与 AP 最终一致性底座设计" alt="分布式强一致性与高可用权衡：CAP 理论下 Raft/Consul 共识妥协与 AP 最终一致性底座设计" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/7 0:37:13</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1294872">分布式强一致性与高可用权衡：CAP 理论下 Raft/Consul 共识妥协与 AP 最终一致性底座设计</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">分布式强一致性与高可用权衡&amp;#xff1a;CAP 理论下 Raft/Consul 共识妥协与 AP 最终一致性底座设计在当今云原生与超大规模互联网架构中&amp;#xff0c;分布式系统已经成为支撑核心业务的必然选择。然而&amp;#xff0c;分布式环境天然面临着不可控的网络分区&amp;#xff08;Network Par…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/从工业相机标定到缺陷检测：用Halcon 18快速上手你的第一个机器视觉项目" alt="从工业相机标定到缺陷检测：用Halcon 18快速上手你的第一个机器视觉项目" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/7 0:42:07</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1294894">从工业相机标定到缺陷检测：用Halcon 18快速上手你的第一个机器视觉项目</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">从工业相机标定到缺陷检测&amp;#xff1a;用Halcon 18快速上手你的第一个机器视觉项目当你第一次打开Halcon 18的开发环境&amp;#xff0c;面对密密麻麻的算子窗口和复杂的函数库&amp;#xff0c;难免会感到无从下手。这款被工业界广泛认可的机器视觉软件&amp;#xff0c;其强大功能背后是陡峭…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/AI音视频合成软件哪个好？5款主流工具对比评测" alt="AI音视频合成软件哪个好？5款主流工具对比评测" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/7 0:59:47</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1295015">AI音视频合成软件哪个好？5款主流工具对比评测</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">音画不同步与批量合成的工程痛点在搭建短视频矩阵或推进数字人项目时&amp;#xff0c;最消耗团队精力的环节往往不是前期的创意策划&amp;#xff0c;而是后期的音视频合成。面对每天数百条口播音频与对应的画面素材&amp;#xff0c;如果依然依赖人工在时间轴上拖拽对齐、逐条检查音画同步、…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/i.MX RT1062开发实战：如何利用NXP SDK里的驱动库和示例，快速点亮你的第一个LED" alt="i.MX RT1062开发实战：如何利用NXP SDK里的驱动库和示例，快速点亮你的第一个LED" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/7 1:05:03</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1295071">i.MX RT1062开发实战：如何利用NXP SDK里的驱动库和示例，快速点亮你的第一个LED</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">i.MX RT1062开发实战&amp;#xff1a;从SDK驱动库到LED点亮的全流程解析当开发板第一次通电&amp;#xff0c;那个闪烁的LED不仅是硬件正常的信号&amp;#xff0c;更是开发者与芯片对话成功的见证。对于刚接触i.MX RT1062的工程师而言&amp;#xff0c;如何快速跨越从环境搭建到实际控制的鸿沟&am…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/别再只用默认气泡了！手把手教你用uniapp map的customCallout打造个性化地图标注（附完整代码）" alt="别再只用默认气泡了！手把手教你用uniapp map的customCallout打造个性化地图标注（附完整代码）" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/7 1:06:13</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1295086">别再只用默认气泡了！手把手教你用uniapp map的customCallout打造个性化地图标注（附完整代码）</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">解锁uniapp地图高阶玩法&amp;#xff1a;用customCallout实现商业级标注效果在移动应用生态中&amp;#xff0c;地图功能早已超越了简单的导航定位&amp;#xff0c;成为连接用户与线下场景的核心枢纽。当我们开发探店指南、旅游导览或房产展示类小程序时&amp;#xff0c;千篇一律的红色图钉标注显…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/摆脱论文困扰! 2026 最新降AI率网站测评与推荐" alt="摆脱论文困扰! 2026 最新降AI率网站测评与推荐" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/3 15:21:46</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1189681">摆脱论文困扰! 2026 最新降AI率网站测评与推荐</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">2026年真正好用的AI论文降重与改写工具&amp;#xff0c;核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测&amp;#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&amp;#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。
…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/ctf show web入门58" alt="ctf show web入门58" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/3 15:21:25</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1189850">ctf show web入门58</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">这是一道远程代码执行漏洞&amp;#xff0c;我们先查看源代码发现这里是使用POST方式传参给$c,再通过eval&amp;#xff08;&amp;#xff09;函数来执行输入的内容
我们可以打开hackbar来进行POST提交这里提示我们system&amp;#xff08;&amp;#xff09;函数被禁用了&amp;#xff0c;我们尝试其他命令
我…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/Win11系统下JLink驱动安装与激活全攻略（从6.14版到最新版避坑指南）" alt="Win11系统下JLink驱动安装与激活全攻略（从6.14版到最新版避坑指南）" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/3 15:21:03</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1190315">Win11系统下JLink驱动安装与激活全攻略（从6.14版到最新版避坑指南）</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">Win11系统下JLink驱动安装与激活全攻略&amp;#xff08;从6.14版到最新版避坑指南&amp;#xff09;在ARM开发领域&amp;#xff0c;JLink调试器凭借其稳定性和高效性成为工程师的首选工具之一。然而&amp;#xff0c;当Windows 11遇上最新版JLink驱动时&amp;#xff0c;许多开发者却遭遇了意想不到的&…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/专业的 成都大型活动策划 服务商" alt="专业的 成都大型活动策划 服务商" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/3 15:21:14</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1190352">专业的 成都大型活动策划 服务商</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">行业地位与成长轨迹背景介绍成都红星活动策划公司&amp;#xff08;成都红星商贸有限公司&amp;#xff0c;简称红星&amp;#xff09;&amp;#xff0c;成立于1999年的这家公司见证了中国活动策划行业的发展历程。起初以活动物料供应商的身份切入市场&amp;#xff0c;逐渐升级为全案策划服务性企业&amp…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/别再只当3D文件了！手把手教你用WinRAR/7-Zip拆解3DXML，看透达索CATIA的轻量化秘密" alt="别再只当3D文件了！手把手教你用WinRAR/7-Zip拆解3DXML，看透达索CATIA的轻量化秘密" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/3 15:22:16</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1190362">别再只当3D文件了！手把手教你用WinRAR/7-Zip拆解3DXML，看透达索CATIA的轻量化秘密</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">别再只当3D文件了&amp;#xff01;手把手教你用WinRAR/7-Zip拆解3DXML&amp;#xff0c;看透达索CATIA的轻量化秘密当工程师们第一次接触到达索系统的3DXML文件时&amp;#xff0c;大多数人只会把它当作一个普通的3D模型文件。但今天&amp;#xff0c;我要告诉你一个行业内的&quot;公开秘密&quot;—…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article><article class="bg-white dark:bg-dark-card rounded-lg shadow-card overflow-hidden transform transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1" data-aos="fade-up"><div class="md:flex"><div class="md:w-1/3"><img src="http://pic.xiahunao.cn/yaotu/手把手教你用U盘救援模式修复CentOS 7/8的grub.cfg文件（附sync命令详解）" alt="手把手教你用U盘救援模式修复CentOS 7/8的grub.cfg文件（附sync命令详解）" class="w-full h-48 md:h-full object-cover"></div><div class="md:w-2/3 p-6"><div class="flex items-center mb-2"><span class="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 text-xs px-2 py-1 rounded-full">前端开发</span><span class="text-gray-500 dark:text-gray-400 text-sm ml-2">2026/6/3 15:20:53</span></div><h3 class="text-xl font-bold mb-2 hover:text-primary transition-colors"><a href="/news/1190427">手把手教你用U盘救援模式修复CentOS 7/8的grub.cfg文件（附sync命令详解）</a></h3><p class="text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">从U盘救援到系统重生&amp;#xff1a;CentOS GRUB修复全流程实战指南 凌晨三点&amp;#xff0c;服务器告警灯刺眼地闪烁着。屏幕上冰冷的grub&gt;提示符仿佛在嘲笑着手足无措的运维人员——这可能是每个Linux管理员都经历过的噩梦时刻。当/boot分区关键文件意外丢失&amp;#xff0c;系统启动…</p><div class="flex justify-between items-center"><div class="flex items-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-6 h-6 rounded-full mr-2"><span class="text-sm text-gray-700 dark:text-gray-300">技术极客</span></div><div class="flex items-center space-x-3 text-gray-500 dark:text-gray-400 text-sm"><span><i class="fa fa-eye mr-1"></i> 1.2k</span><span><i class="fa fa-comment mr-1"></i> 48</span><span><i class="fa fa-heart mr-1"></i> 126</span></div></div></div></div></article></div></div></div></article></div><!-- 右侧边栏 --><aside class="lg:w-1/4"><!-- 搜索框 --><div class="bg-white dark:bg-dark-card rounded-lg shadow-card p-6 mb-6" data-aos="fade-left" data-aos-delay="100"><div class="relative"><input type="text" placeholder="搜索文章..." class="w-full pl-10 pr-4 py-2 border border-gray-300 dark:border-dark-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary dark:bg-dark-bg"><i class="fa fa-search absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400"></i></div></div><!-- 热门文章 --><div class="bg-white dark:bg-dark-card rounded-lg shadow-card p-6 mb-6" data-aos="fade-left" data-aos-delay="200"><h3 class="text-lg font-bold mb-4 flex items-center"><i class="fa fa-fire text-primary mr-2"></i>最新文章</h3><div class="space-y-4"><a href="/news/1336061" class="flex items-start group"><span class="flex-shrink-0 w-8 h-8 bg-primary text-white rounded flex items-center justify-center mr-3">1</span><div><h4 class="font-medium group-hover:text-primary transition-colors">COMSOL仿真翻车实录：模拟水杯加热时，我踩过的这3个‘二次流’和收敛性大坑</h4><p class="text-sm text-gray-500 dark:text-gray-400 mt-1">2026/6/9 13:20:29</p></div></a><a href="/news/1335826" class="flex items-start group"><span class="flex-shrink-0 w-8 h-8 bg-primary text-white rounded flex items-center justify-center mr-3">2</span><div><h4 class="font-medium group-hover:text-primary transition-colors">LinkSwift网盘直链下载助手：八大网盘文件高效下载完整指南</h4><p class="text-sm text-gray-500 dark:text-gray-400 mt-1">2026/6/9 13:07:44</p></div></a><a href="/news/1335718" class="flex items-start group"><span class="flex-shrink-0 w-8 h-8 bg-primary text-white rounded flex items-center justify-center mr-3">3</span><div><h4 class="font-medium group-hover:text-primary transition-colors">EZSwipeController与Storyboard集成：可视化界面开发教程</h4><p class="text-sm text-gray-500 dark:text-gray-400 mt-1">2026/6/9 13:02:36</p></div></a><a href="/news/1335708" class="flex items-start group"><span class="flex-shrink-0 w-8 h-8 bg-primary text-white rounded flex items-center justify-center mr-3">4</span><div><h4 class="font-medium group-hover:text-primary transition-colors">互联网大厂Java求职面试：Spring Boot与微服务的探讨</h4><p class="text-sm text-gray-500 dark:text-gray-400 mt-1">2026/6/9 13:01:35</p></div></a><a href="/news/1335671" class="flex items-start group"><span class="flex-shrink-0 w-8 h-8 bg-primary text-white rounded flex items-center justify-center mr-3">5</span><div><h4 class="font-medium group-hover:text-primary transition-colors">Excel批量查询工具：突破性革命，10秒完成100个Excel文件的智能搜索！</h4><p class="text-sm text-gray-500 dark:text-gray-400 mt-1">2026/6/9 13:00:06</p></div></a><a href="/news/1335660" class="flex items-start group"><span class="flex-shrink-0 w-8 h-8 bg-primary text-white rounded flex items-center justify-center mr-3">6</span><div><h4 class="font-medium group-hover:text-primary transition-colors">从传统邮件模板迁移到Oy：React化改造的完整迁移策略</h4><p class="text-sm text-gray-500 dark:text-gray-400 mt-1">2026/6/9 12:59:26</p></div></a></div></div><!-- 相关标签 --><div class="bg-white dark:bg-dark-card rounded-lg shadow-card p-6 mb-6" data-aos="fade-left" data-aos-delay="300"><h3 class="text-lg font-bold mb-4 flex items-center"><i class="fa fa-tags text-primary mr-2"></i>相关标签</h3><div class="flex flex-wrap gap-2"><a href="/tags/javascript" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">JavaScript</a><a href="/tags/async" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">异步编程</a><a href="/tags/promise" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">Promise</a><a href="/tags/async-await" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">async/await</a><a href="/tags/frontend" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">前端开发</a><a href="/tags/es6" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">ES6+</a><a href="/tags/webdev" class="px-3 py-1 bg-gray-100 dark:bg-dark-border rounded-full text-sm hover:bg-primary hover:text-white dark:hover:bg-secondary transition-colors">Web开发</a></div></div><!-- 作者信息 --><div class="bg-white dark:bg-dark-card rounded-lg shadow-card p-6 mb-6" data-aos="fade-left" data-aos-delay="400"><div class="flex flex-col items-center text-center"><img src="https://p11-doubao-search-sign.byteimg.com/labis/a3774eec125057bceb8d2837f9581f0d~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540449&x-signature=sRnK0%2BPZGplRJtXfy%2FHC7OpYJao%3D" alt="作者头像" class="w-20 h-20 rounded-full object-cover border-4 border-primary mb-4"><h3 class="text-xl font-bold mb-2">技术极客</h3><p class="text-gray-600 dark:text-gray-400 mb-4">全栈开发工程师 | 技术博主</p><a href="/about.html" class="text-primary dark:text-secondary hover:underline">查看更多关于作者</a></div></div></aside></div></main><!-- 页脚 --><footer class="bg-gray-800 dark:bg-dark-bg text-white py-12"><div class="container mx-auto px-4"><div class="grid grid-cols-1 md:grid-cols-4 gap-8"><div><div class="flex items-center space-x-2 mb-4"><img src="https://p11-doubao-search-sign.byteimg.com/tos-cn-i-be4g95zd3a/1651137479115014180~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1789540448&x-signature=a0l%2FlbnNqIrwUs6ClPl1x84hBt8%3D" alt="Logo" class="w-8 h-8"><span class="text-xl font-bold">CodeBlog</span></div><p class="text-gray-400 mb-4">分享技术见解，记录编程心得，连接开发者社区</p><div class="flex space-x-4"><a href="#" class="text-gray-400 hover:text-white transition-colors"><i class="fa fa-github text-xl"></i></a><a href="#" class="text-gray-400 hover:text-white transition-colors"><i class="fa fa-twitter text-xl"></i></a><a href="#" class="text-gray-400 hover:text-white transition-colors"><i class="fa fa-linkedin text-xl"></i></a><a href="#" class="text-gray-400 hover:text-white transition-colors"><i class="fa fa-weixin text-xl"></i></a></div></div><div><h3 class="text-lg font-bold mb-4">快速链接</h3><ul class="space-y-2"><li><a href="/index.html" class="text-gray-400 hover:text-white transition-colors">首页</a></li><li><a href="/news.html" class="text-gray-400 hover:text-white transition-colors">文章</a></li><li><a href="/categories.html" class="text-gray-400 hover:text-white transition-colors">分类</a></li><li><a href="/tags.html" class="text-gray-400 hover:text-white transition-colors">标签</a></li><li><a href="/about.html" class="text-gray-400 hover:text-white transition-colors">关于我</a></li></ul></div><div><h3 class="text-lg font-bold mb-4">热门分类</h3><ul class="space-y-2"><li><a href="/categories/frontend" class="text-gray-400 hover:text-white transition-colors">前端开发</a></li><li><a href="/categories/backend" class="text-gray-400 hover:text-white transition-colors">后端技术</a></li><li><a href="/categories/mobile" class="text-gray-400 hover:text-white transition-colors">移动开发</a></li><li><a href="/categories/ai" class="text-gray-400 hover:text-white transition-colors">人工智能</a></li><li><a href="/categories/devops" class="text-gray-400 hover:text-white transition-colors">DevOps</a></li></ul></div><div><h3 class="text-lg font-bold mb-4">联系我们</h3><ul class="space-y-2"><li class="flex items-center"><i class="fa fa-envelope text-gray-400 mr-2"></i><a href="mailto:contact@codeblog.com" class="text-gray-400 hover:text-white transition-colors">contact@codeblog.com</a></li><li class="flex items-center"><i class="fa fa-map-marker text-gray-400 mr-2"></i><span class="text-gray-400">北京市海淀区中关村</span></li><li class="flex items-center"><i class="fa fa-phone text-gray-400 mr-2"></i><span class="text-gray-400">+86 123 4567 8910</span></li></ul></div></div><div class="border-t border-gray-700 mt-8 pt-8 flex flex-col md:flex-row justify-between items-center"><p class="text-gray-400 text-sm mb-4 md:mb-0">&copy; 2023 CodeBlog. 保留所有权利。</p><div class="flex space-x-4"><a href="/yinsi" class="text-gray-400 hover:text-white text-sm transition-colors">隐私政策</a><a href="/tiaokuan" class="text-gray-400 hover:text-white text-sm transition-colors">使用条款</a><a href="/cookie" class="text-gray-400 hover:text-white text-sm transition-colors">Cookie政策</a></div></div></div></footer><!-- 返回顶部按钮 --><button id="back-to-top" class="fixed bottom-6 right-6 bg-primary hover:bg-primary/90 text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 opacity-0 invisible"><i class="fa fa-arrow-up"></i></button><!-- JavaScript --><script>// 初始化AOS动画document.addEventListener('DOMContentLoaded', function() {AOS.init({duration: 800,easing: 'ease-in-out',once: true});// 初始化代码高亮hljs.highlightAll();// 移动端菜单切换const mobileMenuBtn = document.getElementById('mobile-menu-btn');const mobileMenu = document.getElementById('mobile-menu');mobileMenuBtn.addEventListener('click', function() {mobileMenu.classList.toggle('hidden');});// 搜索框模态框const searchBtn = document.getElementById('search-btn');const searchModal = document.getElementById('search-modal');const closeSearch = document.getElementById('close-search');searchBtn.addEventListener('click', function() {searchModal.classList.remove('hidden');setTimeout(() => {searchModal.querySelector('input').focus();}, 100);});closeSearch.addEventListener('click', function() {searchModal.classList.add('hidden');});// 点击模态框外部关闭searchModal.addEventListener('click', function(e) {if (e.target === searchModal) {searchModal.classList.add('hidden');}});// 深色模式切换const themeToggle = document.getElementById('theme-toggle');// 检查本地存储中的主题偏好if (localStorage.getItem('theme') === 'dark' || (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {document.documentElement.classList.add('dark');} else {document.documentElement.classList.remove('dark');}themeToggle.addEventListener('click', function() {if (document.documentElement.classList.contains('dark')) {document.documentElement.classList.remove('dark');localStorage.setItem('theme', 'light');} else {document.documentElement.classList.add('dark');localStorage.setItem('theme', 'dark');}});// 返回顶部按钮const backToTopBtn = document.getElementById('back-to-top');window.addEventListener('scroll', function() {if (window.pageYOffset > 300) {backToTopBtn.classList.remove('opacity-0', 'invisible');backToTopBtn.classList.add('opacity-100', 'visible');} else {backToTopBtn.classList.remove('opacity-100', 'visible');backToTopBtn.classList.add('opacity-0', 'invisible');}// 更新阅读进度条const winScroll = document.body.scrollTop || document.documentElement.scrollTop;const height = document.documentElement.scrollHeight - document.documentElement.clientHeight;const scrolled = (winScroll / height) * 100;document.querySelector('.reading-progress').style.width = scrolled + '%';});backToTopBtn.addEventListener('click', function() {window.scrollTo({top: 0,behavior: 'smooth'});});// 代码运行器功能const runCodeBtn = document.getElementById('run-code');const codeOutput = document.getElementById('code-output');if (runCodeBtn && codeOutput) {runCodeBtn.addEventListener('click', function() {// 清空输出codeOutput.innerHTML = '';// 模拟代码执行const steps = [{ text: '开始获取用户数据...', delay: 500 },{ text: '用户数据获取成功: 张三', delay: 1500 },{ text: '开始获取文章 1 详情...', delay: 800 },{ text: '文章 1 详情获取成功', delay: 1200 },{ text: '完整信息:', delay: 500 },{ text: '用户 张三 的文章《JavaScript基础》有 42 条评论和 128 个赞。', delay: 800 },{ text: '操作完成！', delay: 500 }];let i = 0;const executeStep = () => {if (i < steps.length) {const step = steps[i];const line = document.createElement('div');line.textContent = step.text;codeOutput.appendChild(line);codeOutput.scrollTop = codeOutput.scrollHeight;i++;setTimeout(executeStep, step.delay);}};executeStep();});}// 代码复制功能document.querySelectorAll('pre code').forEach(block => {const pre = block.parentNode;const copyBtn = document.createElement('button');copyBtn.className = 'code-copy-btn bg-gray-700 hover:bg-gray-600 text-white text-xs px-2 py-1 rounded';copyBtn.innerHTML = '<i class="fa fa-copy mr-1"></i> 复制';copyBtn.addEventListener('click', function() {const code = block.textContent;navigator.clipboard.writeText(code).then(() => {copyBtn.innerHTML = '<i class="fa fa-check mr-1"></i> 已复制';setTimeout(() => {copyBtn.innerHTML = '<i class="fa fa-copy mr-1"></i> 复制';}, 2000);});});pre.appendChild(copyBtn);});// 目录激活状态const tocLinks = document.querySelectorAll('.toc a');const sections = document.querySelectorAll('h2[id]');// 初始激活第一个目录项if (tocLinks.length > 0) {tocLinks[0].classList.add('toc-active');}// 滚动时更新目录激活状态window.addEventListener('scroll', function() {let current = '';sections.forEach(section => {const sectionTop = section.offsetTop;const sectionHeight = section.clientHeight;if (window.pageYOffset >= sectionTop - 100) {current = section.getAttribute('id');}});tocLinks.forEach(link => {link.classList.remove('toc-active');if (link.getAttribute('href').substring(1) === current) {link.classList.add('toc-active');}});});// 目录点击事件tocLinks.forEach(link => {link.addEventListener('click', function(e) {e.preventDefault();// 移除所有激活状态tocLinks.forEach(item => item.classList.remove('toc-active'));// 添加当前激活状态this.classList.add('toc-active');// 滚动到对应部分const targetId = this.getAttribute('href');const targetElement = document.querySelector(targetId);if (targetElement) {window.scrollTo({top: targetElement.offsetTop - 80,behavior: 'smooth'});}});});});</script>
</body>
</html>