未命名文档
侧边栏壁纸
  • 累计撰写 14 篇文章
  • 累计收到 3 条评论

未命名文档

yechen
2025-12-03 / 0 评论 / 2 阅读 / 正在检测是否收录...
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>乐跑登录教程 - 完整操作指南</title>
  <!-- 引入Tailwind CSS -->
  <script src="https://cdn.tailwindcss.com"></script>
  <!-- 引入Font Awesome -->
  <link href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" rel="stylesheet">
  <!-- 配置Tailwind -->
  <script>
    tailwind.config = {
      theme: {
        extend: {
          colors: {
            primary: '#165DFF',
            secondary: '#FF7D00',
            adColor: '#722ED1', // 广告主色调
            neutral: {
              100: '#F5F7FA',
              200: '#E4E7ED',
              300: '#C0C6CF',
              800: '#303133',
              900: '#1E1E1E'
            }
          },
          fontFamily: {
            inter: ['Inter', 'system-ui', 'sans-serif'],
          },
          boxShadow: {
            'card': '0 10px 30px -5px rgba(22, 93, 255, 0.1)',
            'card-hover': '0 20px 40px -5px rgba(22, 93, 255, 0.2)',
            'ad-card': '0 10px 30px -5px rgba(114, 46, 209, 0.15)',
          },
          keyframes: {
            fadeIn: {
              '0%': { opacity: '0', transform: 'translateY(20px)' },
              '100%': { opacity: '1', transform: 'translateY(0)' }
            },
            pulse: {
              '0%, 100%': { opacity: '1' },
              '50%': { opacity: '0.7' }
            }
          },
          animation: {
            'fadeIn': 'fadeIn 0.5s ease forwards',
            'pulse': 'pulse 2s ease-in-out infinite'
          }
        },
      }
    }
  </script>
  <style type="text/tailwindcss">
    @layer utilities {
      .content-auto {
        content-visibility: auto;
      }
      .step-number {
        @apply flex items-center justify-center w-10 h-10 rounded-full bg-primary text-white font-bold mr-4 flex-shrink-0;
      }
      .link-card {
        @apply bg-white rounded-xl p-6 shadow-card transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1 border border-neutral-200;
      }
      .btn-copy {
        @apply bg-primary/10 text-primary px-4 py-3 rounded-lg hover:bg-primary hover:text-white transition-all duration-300 flex items-center gap-2 w-full md:w-auto;
      }
      .step-card {
        @apply bg-white rounded-xl p-4 md:p-6 shadow-card transition-all duration-300 hover:shadow-card-hover border border-neutral-200 mb-6 opacity-0 transform translate-y-4;
      }
      .step-image {
        @apply w-full h-auto rounded-lg border border-neutral-200 object-cover;
      }
      .ad-btn {
        @apply bg-adColor text-white px-4 py-3 rounded-lg hover:bg-adColor/90 transition-all duration-300 flex items-center gap-2 w-full md:w-auto;
      }
      .code-block {
        @apply bg-neutral-100 rounded-lg p-3 border border-neutral-200 overflow-x-auto;
      }
      .image-container {
        @apply relative bg-neutral-100 flex items-center justify-center min-h-[150px] md:min-h-[200px];
      }
      .image-loading {
        @apply absolute inset-0 flex items-center justify-center text-neutral-400;
      }
      .video-btn {
        @apply bg-gradient-to-r from-primary to-secondary text-white px-5 py-3 rounded-xl hover:shadow-lg hover:-translate-y-0.5 transition-all duration-300 flex items-center gap-3 font-medium;
      }
    }
  </style>
</head>
<body class="font-inter bg-neutral-100 text-neutral-800 min-h-screen">

  <!-- 主内容区 -->
  <main class="container mx-auto px-4 py-6 md:py-12">

    <!-- 视频教程链接卡片 -->
    <section class="max-w-4xl mx-auto mb-10 animate-fadeIn" style="animation-delay: 0.1s">
      <div class="relative bg-gradient-to-r from-primary/5 via-white to-secondary/5 rounded-2xl p-5 md:p-7 border border-primary/20 shadow-lg overflow-hidden">
        <!-- 装饰元素 -->
        <div class="absolute -top-10 -right-10 w-40 h-40 rounded-full bg-primary/5"></div>
        <div class="absolute -bottom-10 -left-10 w-40 h-40 rounded-full bg-secondary/5"></div>
        
        <div class="relative flex flex-col md:flex-row items-center justify-between gap-6">
          <div class="flex-1">
            <div class="flex items-center gap-3 mb-3">
              <div class="w-12 h-12 rounded-xl bg-gradient-to-r from-primary to-secondary flex items-center justify-center shadow-md">
                <i class="fa fa-video-camera text-white text-xl"></i>
              </div>
              <div>
                <h3 class="text-xl md:text-2xl font-bold text-neutral-900">视频教程链接</h3>
                <p class="text-neutral-600 text-sm md:text-base">观看完整操作演示,更快掌握登录流程</p>
              </div>
            </div>
            
            <div class="bg-white/80 rounded-lg p-3 border border-neutral-200 mb-3">
              <div class="flex items-center gap-2 text-sm">
                <i class="fa fa-lightbulb-o text-secondary"></i>
                <span class="text-neutral-700">复制下方链接到浏览器打开,观看完整操作视频教程</span>
              </div>
            </div>
            
            <div class="flex items-center gap-2 text-sm text-neutral-500">
              <i class="fa fa-exclamation-circle text-primary"></i>
              <span>提示:建议在WiFi环境下观看,视频约2-3分钟</span>
            </div>
          </div>
          
          <div class="w-full md:w-auto">
            <button onclick="copyVideoLink()" class="video-btn w-full md:w-auto justify-center group">
              <i class="fa fa-film group-hover:scale-110 transition-transform duration-300"></i>
              <span>复制视频链接</span>
              <i class="fa fa-external-link text-sm opacity-80"></i>
            </button>
            
            <div class="mt-3 p-3 bg-gradient-to-r from-green-50 to-emerald-50 rounded-lg border border-green-200 hidden transition-all duration-300" id="videoTip">
              <div class="flex items-start gap-3">
                <div class="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center flex-shrink-0">
                  <i class="fa fa-check text-green-600"></i>
                </div>
                <div>
                  <p class="text-sm text-green-800 font-medium">✓ 已成功复制视频教程链接!</p>
                  <p class="text-xs text-green-600 mt-1">请打开浏览器,粘贴链接到地址栏访问</p>
                  <div class="flex items-center gap-2 mt-2">
                    <div class="w-2 h-2 rounded-full bg-green-400 animate-pulse"></div>
                    <span class="text-xs text-green-500">自动复制到剪贴板</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>

    <!-- 操作步骤区 -->
    <section id="steps" class="max-w-4xl mx-auto mb-12">
      <div class="text-center mb-8 animate-fadeIn" style="animation-delay: 0.2s">
        <h2 class="text-xl md:text-2xl lg:text-3xl font-bold mb-3">详细操作步骤</h2>
        <p class="text-neutral-500 text-sm md:text-base">按照以下步骤操作,轻松完成登录认证</p>
      </div>

<!-- 步骤1:复制乐跑ID(带图片) -->
<div class="step-card" data-animate-delay="0.3s">
  <div class="flex flex-col md:flex-row items-start">
    <div class="step-number mb-3 md:mb-0">1</div>
    <div class="w-full">
      <h3 class="text-lg md:text-xl font-bold mb-3">复制乐跑ID</h3>
      <p class="text-neutral-600 mb-4 text-sm md:text-base">打开乐跑APP,找到并复制您的个人ID(参考下图示意)。请确保ID复制准确,这将用于后续登录验证,先发给夜辰。</p>
      <div class="bg-neutral-100 rounded-lg p-3 md:p-4 border border-neutral-200 mb-4">
        <p class="text-sm text-neutral-500 mb-2">图1:乐跑ID位置示意</p>
        <div class="bg-white rounded-md p-2 border border-neutral-200">
          <!-- 乐跑ID截图展示 - 优化响应式显示 -->
          <div class="image-container">
            <div class="image-loading" id="loader1">
              <i class="fa fa-spinner fa-spin mr-2"></i> 加载中...
            </div>
            <img src="https://pan.81xx.cn/view.php/0b243cb8aec8291a7b7c80a022911b6d.png" alt="乐跑ID位置截图" class="step-image max-w-full h-auto" style="max-width: 100%; height: auto; margin: 0 auto; display: block;" onload="hideLoader('loader1')" onerror="showError('loader1')">
          </div>
          <p class="text-xs text-neutral-400 mt-2 text-center">(复制记号自己ID)</p>
        </div>
      </div>
      <div class="flex items-start text-sm text-neutral-500">
        <i class="fa fa-lightbulb-o text-secondary mr-2 mt-1"></i>
        <span>提示:复制ID后建议粘贴到记事本备用,避免后续操作中忘记【先发给夜辰】</span>
      </div>
    </div>
  </div>
</div>

      <!-- 步骤2:访问认证网站 -->
      <div class="step-card" data-animate-delay="0.4s">
        <div class="flex flex-col md:flex-row items-start">
          <div class="step-number mb-3 md:mb-0">2</div>
          <div class="w-full">
            <h3 class="text-lg md:text-xl font-bold mb-3">访问认证网站</h3>
            <p class="text-neutral-600 mb-4 text-sm md:text-base">打开浏览器,访问以下认证网站,这是乐跑的官方授权登录页面。</p>
            <div class="flex flex-col gap-3 md:flex-row md:items-center mb-4">
              <div class="flex-1 code-block">
                <code class="text-sm text-neutral-700 break-all">https://lepao_auth.66-dd.com/index?redirect=/workbench</code>
              </div>
              <button class="btn-copy" onclick="copyToClipboard('https://lepao_auth.66-dd.com/index?redirect=/workbench', this)">
                <i class="fa fa-copy"></i>
                <span>复制链接</span>
              </button>
            </div>
            <div class="flex items-start text-sm text-neutral-500">
              <i class="fa fa-exclamation-circle text-secondary mr-2 mt-1"></i>
              <span>重要:请使用微信或QQ内置浏览器访问,以便后续顺利扫码登录。</span>
            </div>
          </div>
        </div>
      </div>

      <!-- 步骤3:选择登录方式 -->
      <div class="step-card" data-animate-delay="0.5s">
        <div class="flex flex-col md:flex-row items-start">
          <div class="step-number mb-3 md:mb-0">3</div>
          <div class="w-full">
            <h3 class="text-lg md:text-xl font-bold mb-3">选择登录方式</h3>
            <p class="text-neutral-600 mb-4 text-sm md:text-base">进入认证网站后,您将看到两种登录方式:微信登录和QQ登录,请选择您乐跑账号绑定的对应方式。</p>
            <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4">
              <div class="bg-neutral-100 rounded-lg p-4 border border-neutral-200 flex flex-col items-center justify-center transition-all duration-300 hover:shadow-card hover:-translate-y-1">
                <i class="fa fa-weixin text-green-500 text-4xl mb-2"></i>
                <h4 class="font-medium mb-1">微信登录</h4>
                <p class="text-sm text-neutral-500 text-center">适用于账号绑定微信的用户</p>
              </div>
              <div class="bg-neutral-100 rounded-lg p-4 border border-neutral-200 flex flex-col items-center justify-center transition-all duration-300 hover:shadow-card hover:-translate-y-1">
                <i class="fa fa-qq text-blue-500 text-4xl mb-2"></i>
                <h4 class="font-medium mb-1">QQ登录</h4>
                <p class="text-sm text-neutral-500 text-center">适用于账号绑定QQ的用户</p>
              </div>
            </div>
            <div class="flex items-start text-sm text-neutral-500">
              <i class="fa fa-info-circle text-primary mr-2 mt-1"></i>
              <span>注意:请选择与您乐跑账号绑定一致的登录方式,否则将无法成功关联。</span>
            </div>
          </div>
        </div>
      </div>

      <!-- 步骤4:输入ID并扫码(带图片) -->
      <div class="step-card" data-animate-delay="0.6s">
        <div class="flex flex-col md:flex-row items-start">
          <div class="step-number mb-3 md:mb-0">4</div>
          <div class="w-full">
            <h3 class="text-lg md:text-xl font-bold mb-3">输入ID并扫码</h3>
            <p class="text-neutral-600 mb-4 text-sm md:text-base">选择登录方式后,在输入框中粘贴您之前复制的乐跑ID,然后点击"生成二维码"或类似按钮。</p>
            <div class="bg-neutral-100 rounded-lg p-3 md:p-4 border border-neutral-200 mb-4">
              <p class="text-sm text-neutral-500 mb-2">图2:输入ID并扫码示意</p>
              <div class="bg-white rounded-md p-2 border border-neutral-200">
                <!-- 输入ID并扫码截图展示 - 优化响应式显示 -->
                <div class="image-container">
                  <div class="image-loading" id="loader2">
                    <i class="fa fa-spinner fa-spin mr-2"></i> 加载中...
                  </div>
                  <img src="https://pan.81xx.cn/view.php/8d9e6775f53bd5f38e2afcd29aa1e1ab.png" alt="输入ID并扫码截图" class="step-image max-w-full h-auto" onload="hideLoader('loader2')" onerror="showError('loader2')">
                </div>
                <p class="text-xs text-neutral-400 mt-2 text-center">(实际使用时请替换为真实截图)</p>
              </div>
            </div>
            <p class="text-neutral-600 mb-2 text-sm md:text-base">使用对应APP(微信或QQ)扫描页面上显示的二维码,确认登录授权。</p>
            <div class="flex items-start text-sm text-neutral-500">
              <i class="fa fa-clock-o text-secondary mr-2 mt-1"></i>
              <span>提示:扫码后请耐心等待几秒钟,系统需要验证您的身份信息。</span>
            </div>
          </div>
        </div>
      </div>

      <!-- 步骤5:获取Token(仅保留图片) -->
      <div class="step-card" data-animate-delay="0.7s">
        <div class="flex flex-col md:flex-row items-start">
          <div class="step-number mb-3 md:mb-0">5</div>
          <div class="w-full">
            <h3 class="text-lg md:text-xl font-bold mb-3">获取Token</h3>
            <p class="text-neutral-600 mb-4 text-sm md:text-base">扫码成功并验证通过后,页面将显示您的个人Token信息。请务必复制并保存好此Token,后续查看跑步记录时需要使用。</p>
            
            <!-- Token展示图片(仅保留图片,删除示例代码块) -->
            <div class="bg-neutral-100 rounded-lg p-3 md:p-4 border border-neutral-200 mb-4">
              <p class="text-sm text-neutral-500 mb-2">图3:Token获取示意</p>
              <div class="bg-white rounded-md p-2 border border-neutral-200">
                <!-- Token截图展示 - 优化响应式显示 -->
                <div class="image-container">
                  <div class="image-loading" id="loader3">
                    <i class="fa fa-spinner fa-spin mr-2"></i> 加载中...
                  </div>
                  <img src="https://pan.81xx.cn/view.php/0a6be03c6b6de9a9673565277102e5c0.png" alt="Token获取截图" class="step-image max-w-full h-auto" onload="hideLoader('loader3')" onerror="showError('loader3')">
                </div>
                <p class="text-xs text-neutral-400 mt-2 text-center">(实际使用时请替换为真实截图)</p>
              </div>
            </div>
            
            <div class="flex items-start text-sm bg-secondary/10 text-secondary p-3 rounded-lg">
              <i class="fa fa-lock mr-2 mt-1"></i>
              <span>重要:Token是您的个人身份凭证,请妥善保管,不要泄露给他人。</span>
            </div>
          </div>
        </div>
      </div>

      <!-- 步骤6:查看跑步记录(带图片) -->
      <div class="step-card" data-animate-delay="0.8s">
        <div class="flex flex-col md:flex-row items-start">
          <div class="step-number mb-3 md:mb-0">6</div>
          <div class="w-full">
            <h3 class="text-lg md:text-xl font-bold mb-3">查看跑步记录</h3>
            <p class="text-neutral-600 mb-4 text-sm md:text-base">使用获取到的Token,访问以下网站即可查看您的乐跑记录和相关数据。</p>
            <div class="flex flex-col gap-3 md:flex-row md:items-center mb-4">
              <div class="flex-1 code-block">
                <code class="text-sm text-neutral-700 break-all">http://record.bdlp.xyz/</code>
              </div>
              <button class="btn-copy" onclick="copyToClipboard('http://record.bdlp.xyz/', this)">
                <i class="fa fa-copy"></i>
                <span>复制链接</span>
              </button>
            </div>
            <div class="bg-neutral-100 rounded-lg p-3 md:p-4 border border-neutral-200 mb-4">
              <p class="text-sm text-neutral-500 mb-2">图4:跑步记录查看页面示意</p>
              <div class="bg-white rounded-md p-2 border border-neutral-200">
                <!-- 跑步记录页面截图展示 - 优化响应式显示 -->
                <div class="image-container">
                  <div class="image-loading" id="loader4">
                    <i class="fa fa-spinner fa-spin mr-2"></i> 加载中...
                  </div>
                  <img src="https://pan.81xx.cn/view.php/e58753c46121a2923c8f51c1e66dae6e.png" alt="跑步记录查看页面截图" class="step-image max-w-full h-auto" onload="hideLoader('loader4')" onerror="showError('loader4')">
                </div>
                <p class="text-xs text-neutral-400 mt-2 text-center">(实际使用时请替换为真实截图)</p>
              </div>
            </div>
            <p class="text-neutral-600 mb-3 text-sm md:text-base">进入网站后,按照页面提示粘贴您的Token并验证,即可查看详细的跑步记录、里程统计等信息。</p>
            <div class="flex items-start text-sm text-neutral-500">
              <i class="fa fa-check-circle text-green-500 mr-2 mt-1"></i>
              <span>完成:恭喜您成功完成所有操作,现在可以随时查看您的乐跑记录了!</span>
            </div>
          </div>
        </div>
      </div>
    </section>

    <!-- 常见问题(更新为新内容) -->
    <section class="max-w-3xl mx-auto mb-12 animate-fadeIn" style="animation-delay: 0.9s">
      <div class="text-center mb-8">
        <h2 class="text-xl md:text-2xl lg:text-3xl font-bold mb-3">常见问题</h2>
        <p class="text-neutral-500 text-sm md:text-base">遇到问题?查看以下解决方案</p>
      </div>

      <div class="space-y-4">
        <div class="bg-white rounded-xl p-4 md:p-5 shadow-card border border-neutral-200 transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1">
          <h3 class="font-bold text-base md:text-lg mb-2 flex items-center">
            <div class="w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center mr-3">
              <i class="fa fa-question-circle text-primary text-sm"></i>
            </div>
            乐跑的正确的方法是什么?
          </h3>
          <p class="text-neutral-600 text-sm md:text-base">切记乐跑是一天一跑,全部跑完再上号。乐跑进度查询链接是可以每天查看跑步完成情况的,还可以看授权有没有掉,复制到浏览器访问,里面可以查看每天的完成情况。</p>
        </div>

        <div class="bg-white rounded-xl p-4 md:p-5 shadow-card border border-neutral-200 transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1">
          <h3 class="font-bold text-base md:text-lg mb-2 flex items-center">
            <div class="w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center mr-3">
              <i class="fa fa-question-circle text-primary text-sm"></i>
            </div>
            乐跑授权多久掉一次?
          </h3>
          <p class="text-neutral-600 text-sm md:text-base">没有固定的掉授权时间【时不时会掉的】。今天授权后正常跑步,如果你明天不查看查询链接,即使授权掉了也不知道,照样不会继续跑步【建议每天查看一次】。</p>
        </div>

        <div class="bg-white rounded-xl p-4 md:p-5 shadow-card border border-neutral-200 transition-all duration-300 hover:shadow-card-hover hover:-translate-y-1">
          <h3 class="font-bold text-base md:text-lg mb-2 flex items-center">
            <div class="w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center mr-3">
              <i class="fa fa-question-circle text-primary text-sm"></i>
            </div>
            为什么不能边跑边上号?
          </h3>
          <p class="text-neutral-600 text-sm md:text-base">边跑边上号容易导致授权中断或失效,影响乐跑的正常跑步。为确保乐跑顺利完成,请在全部跑完后再上号查看相关信息。</p>
        </div>
      </div>
    </section>

    <!-- 网课代看广告区域 -->
    <section class="max-w-4xl mx-auto mb-12 animate-fadeIn" style="animation-delay: 1.0s">
      <div class="bg-gradient-to-r from-adColor/90 to-adColor rounded-2xl p-5 md:p-8 text-white shadow-ad-card">
        <div class="flex flex-col gap-6">
          <div class="flex-1">
            <h2 class="text-xl md:text-2xl font-bold mb-3 flex items-center gap-2">
              <i class="fa fa-laptop"></i>
              <span>网课代看服务</span>
            </h2>
            <p class="text-white/90 mb-4 text-sm md:text-base">专业网课代看、代学、代做服务,支持各类学习平台,高效完成学习任务,解放您的时间!</p>
            <div class="flex flex-wrap gap-2 md:gap-3">
              <span class="bg-white/20 px-3 py-1 rounded-full text-xs md:text-sm">自动观看</span>
              <span class="bg-white/20 px-3 py-1 rounded-full text-xs md:text-sm">进度完成</span>
              <span class="bg-white/20 px-3 py-1 rounded-full text-xs md:text-sm">答题辅助</span>
              <span class="bg-white/20 px-3 py-1 rounded-full text-xs md:text-sm">安全稳定</span>
            </div>
          </div>
          <div class="flex flex-col gap-3 w-full">
            <div class="bg-white/10 rounded-lg p-3 border border-white/20 w-full">
              <code class="text-sm text-white break-all">https://wk.81xx.cn/</code>
            </div>
            <div class="flex gap-3 flex-col md:flex-row">
              <button class="ad-btn justify-center" onclick="copyToClipboard('https://wk.81xx.cn/', this)">
                <i class="fa fa-copy"></i>
                <span>复制链接</span>
              </button>
              <a href="https://wk.81xx.cn/" target="_blank" class="ad-btn justify-center bg-white text-adColor hover:bg-neutral-100">
                <i class="fa fa-external-link"></i>
                <span>立即访问</span>
              </a>
            </div>
          </div>
        </div>
      </div>
    </section>
  </main>

  <!-- 复制成功提示 -->
  <div id="copyToast" class="fixed bottom-4 md:bottom-6 left-1/2 transform -translate-x-1/2 translate-y-20 opacity-0 transition-all duration-300 flex items-center gap-2 z-50 bg-green-500 text-white px-5 py-3 rounded-lg shadow-lg">
    <i class="fa fa-check-circle"></i>
    <span>链接已复制到剪贴板!</span>
  </div>

  <!-- JavaScript -->
  <script>
    // 页面加载完成后执行
    document.addEventListener('DOMContentLoaded', function() {
      // 初始化动画
      initAnimations();
    });

    // 初始化动画
    function initAnimations() {
      const stepCards = document.querySelectorAll('.step-card');
      
      stepCards.forEach((card, index) => {
        const delay = card.getAttribute('data-animate-delay') || (0.2 + index * 0.1);
        
        setTimeout(() => {
          card.style.transition = 'opacity 0.5s ease, transform 0.5s ease';
          card.style.opacity = '1';
          card.style.transform = 'translateY(0)';
        }, delay * 1000);
      });
    }

    // 复制视频链接功能
    function copyVideoLink() {
      const videoUrl = 'https://pan.81xx.cn/view.php/e5f3385a3f14f3867383a4a656ff2ef1.mp4';
      
      navigator.clipboard.writeText(videoUrl).then(() => {
        // 显示卡片内部提示
        const videoTip = document.getElementById('videoTip');
        videoTip.classList.remove('hidden');
        videoTip.style.opacity = '0';
        videoTip.style.transform = 'translateY(-10px)';
        
        setTimeout(() => {
          videoTip.style.opacity = '1';
          videoTip.style.transform = 'translateY(0)';
        }, 10);
        
        // 同时显示全局提示
        const toast = document.getElementById('copyToast');
        toast.classList.remove('translate-y-20', 'opacity-0');
        toast.classList.add('translate-y-0', 'opacity-100');
        
        // 按钮状态变化
        const button = document.querySelector('button[onclick="copyVideoLink()"]');
        const originalHTML = button.innerHTML;
        const originalClasses = button.className;
        
        button.innerHTML = '<i class="fa fa-check"></i> <span>已复制 ✓</span> <i class="fa fa-external-link text-sm opacity-80"></i>';
        button.className = 'video-btn w-full md:w-auto justify-center group bg-gradient-to-r from-green-500 to-emerald-500 text-white px-5 py-3 rounded-xl hover:shadow-lg transition-all duration-300 flex items-center gap-3 font-medium';
        
        // 4秒后隐藏提示
        setTimeout(() => {
          // 卡片内部提示淡出
          videoTip.style.opacity = '0';
          videoTip.style.transform = 'translateY(-10px)';
          setTimeout(() => {
            videoTip.classList.add('hidden');
          }, 300);
          
          // 全局提示淡出
          toast.classList.remove('translate-y-0', 'opacity-100');
          toast.classList.add('translate-y-20', 'opacity-0');
        }, 4000);
        
        // 2秒后恢复按钮状态
        setTimeout(() => {
          button.innerHTML = originalHTML;
          button.className = originalClasses;
        }, 2000);
      });
    }

    // 复制到剪贴板功能
    function copyToClipboard(text, button) {
      navigator.clipboard.writeText(text).then(() => {
        // 显示提示
        const toast = document.getElementById('copyToast');
        toast.classList.remove('translate-y-20', 'opacity-0');
        toast.classList.add('translate-y-0', 'opacity-100');
        
        // 3秒后隐藏提示
        setTimeout(() => {
          toast.classList.remove('translate-y-0', 'opacity-100');
          toast.classList.add('translate-y-20', 'opacity-0');
        }, 3000);
        
        // 按钮状态变化
        const originalText = button.innerHTML;
        const isAdBtn = button.classList.contains('ad-btn');
        
        if (isAdBtn) {
          button.innerHTML = '<i class="fa fa-check"></i> <span>已复制</span>';
          button.classList.add('bg-green-600');
          button.classList.remove('bg-adColor', 'bg-white');
        } else {
          button.innerHTML = '<i class="fa fa-check"></i> <span>已复制</span>';
          button.classList.remove('bg-primary/10', 'text-primary');
          button.classList.add('bg-green-100', 'text-green-600');
        }
        
        // 2秒后恢复按钮状态
        setTimeout(() => {
          button.innerHTML = originalText;
          if (isAdBtn) {
            button.classList.remove('bg-green-600');
            if (button.innerHTML.includes('立即访问')) {
              button.classList.add('bg-white', 'text-adColor');
            } else {
              button.classList.add('bg-adColor', 'text-white');
            }
          } else {
            button.classList.remove('bg-green-100', 'text-green-600');
            button.classList.add('bg-primary/10', 'text-primary');
          }
        }, 2000);
      });
    }

    // 平滑滚动
    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
      anchor.addEventListener('click', function (e) {
        e.preventDefault();
        document.querySelector(this.getAttribute('href')).scrollIntoView({
          behavior: 'smooth'
        });
      });
    });

    // 隐藏图片加载指示器
    function hideLoader(loaderId) {
      const loader = document.getElementById(loaderId);
      if (loader) {
        loader.style.display = 'none';
      }
    }

    // 显示图片加载错误
    function showError(loaderId) {
      const loader = document.getElementById(loaderId);
      if (loader) {
        loader.innerHTML = '<i class="fa fa-exclamation-triangle mr-2"></i> 图片加载失败';
        loader.classList.remove('text-neutral-400');
        loader.classList.add('text-secondary');
      }
    }

    // 图片懒加载(增强版)
    function initLazyLoading() {
      if ('IntersectionObserver' in window) {
        const imageObserver = new IntersectionObserver((entries, observer) => {
          entries.forEach(entry => {
            if (entry.isIntersecting) {
              const image = entry.target;
              const src = image.getAttribute('data-src');
              if (src) {
                image.src = src;
                image.removeAttribute('data-src');
              }
              observer.unobserve(image);
            }
          });
        });

        document.querySelectorAll('img[data-src]').forEach(image => {
          imageObserver.observe(image);
        });
      }
    }
  </script>
</body>
</html>
0

评论 (0)

取消