【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

简介: 【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

引言

我们有个产品需要个很漂亮的落地页,网上找了一圈想买个好看的落地页都买不到,于是乎卓伊凡决定做一个非常漂亮的落地页,记录过程给大家。

开源仓库:

https://gitee.com/youyacao/xiaoquanzi-down

演示地址:

https://xqz.fan

实战内容

第5篇我们粗糙的落地页就完成了,但是我说了是粗糙,现在卓伊凡对首页进行改造

首先我们把使用教程改下 ,原先是文字,但是我们做了有视频因此修改

首先对平台特色完善

先对内容进行了完善,然后 是对样式也进行了完善

然后我们对更新日志部分进行特殊调整

更新日志前缀符号优化总结

主要改进:

  1. 更大的前缀符号:
  • 从 w-2 h-2 增加到 w-3 h-3,使符号更加显眼
  1. 双层设计:
  • 外层:蓝色圆点 (bg-blue-500)
  • 内层:白色小圆点 (bg-white),形成更精致的视觉效果
  1. 更好的对齐:
  • 调整了 mt-2 到 mt-1.5,使符号与文字更好地对齐
  • 使用 flex items-center justify-center 确保内层圆点居中
  1. 增加间距:
  • 从 space-y-3 增加到 space-y-4,让每行更新内容之间有更多空间
  1. 改善文字样式:
  • 添加了 leading-relaxed 类,使文字行间距更舒适

视觉效果:

  • 更精致:双层圆点设计比单层圆点更有层次感
  • 更清晰:更大的符号更容易识别
  • 更统一:所有更新条目都使用相同的符号样式
  • 更易读:增加了行间距,文字更易阅读
<div class="update-log-section py-8">
            <div class="max-w-4xl mx-auto px-4">
              <div class="card bg-gradient-to-r from-blue-50 to-indigo-50 p-6 border border-blue-100">
                <div class="flex items-center justify-between mb-4">
                  <div class="flex items-center space-x-3">
                    <div class="w-10 h-10 bg-blue-500 rounded-full flex items-center justify-center">
                      <svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
                      </svg>
                    </div>
                    <div>
                      <h3 class="text-xl font-bold text-gray-800">最新更新日志</h3>
                      <p class="text-sm text-gray-600">版本 v1.4.3 • 2025年10月19日</p>
                    </div>
                  </div>
                  <div class="bg-green-100 text-green-800 px-3 py-1 rounded-full text-sm font-medium">
                    最新版本
                  </div>
                </div>
                <div class="space-y-4">
                  <div class="flex items-start space-x-3">
                    <div class="w-4 h-4 bg-blue-500 rounded-full mt-1 flex-shrink-0 flex items-center justify-center">
                      <span class="text-white text-xs font-bold">•</span>
                    </div>
                    <p class="text-gray-700 leading-relaxed">由于微信支付故障,独立处理了支付宝支付,目前APP支付和H5支付均恢复正常。</p>
                  </div>
                  <div class="flex items-start space-x-3">
                    <div class="w-4 h-4 bg-blue-500 rounded-full mt-1 flex-shrink-0 flex items-center justify-center">
                      <span class="text-white text-xs font-bold">•</span>
                    </div>
                    <p class="text-gray-700 leading-relaxed">美化了个人中心的图标。</p>
                  </div>
                  <div class="flex items-start space-x-3">
                    <div class="w-4 h-4 bg-blue-500 rounded-full mt-1 flex-shrink-0 flex items-center justify-center">
                      <span class="text-white text-xs font-bold">•</span>
                    </div>
                    <p class="text-gray-700 leading-relaxed">处理了APP下载按钮在APP中无法打开的报错。</p>
                  </div>
                  <div class="flex items-start space-x-3">
                    <div class="w-4 h-4 bg-blue-500 rounded-full mt-1 flex-shrink-0 flex items-center justify-center">
                      <span class="text-white text-xs font-bold">•</span>
                    </div>
                    <p class="text-gray-700 leading-relaxed">预开发了图片放大和保存功能,目前经过反馈部分图片过大在APP部分机型无法正常显示。</p>
                  </div>
                </div>
                <div class="mt-4 pt-4 border-t border-blue-200">
                  <p class="text-sm text-gray-500">
                    <span class="font-medium">温馨提示:</span>如遇到任何问题,请及时联系我们的技术支持团队。
                  </p>
                </div>
              </div>
            </div>
          </div>

再把前缀小圆点的颜色改成黑色

效果 zer的 一下就就出来了

对网址按钮进行细节优化

我想做的效果是 默认是橙色,鼠标移动上去渐变为红色。

写法如下
class=”inline-flex items-center px-8 py-4 bg-orange-500 text-white font-semibold rounded-xl shadow-lg hover:bg-red-500 transition-all duration-300 transform hover:scale-105”

效果也是ok的了。

常见问题部分 不好看,也是改

首页 (HomePage.vue) 修改:

  1. 常见问题部分:
  • FAQ卡片:bg-white rounded-xl shadow-sm → card bg-white
  • FAQ分类标签:添加了 card 类
  • 无结果提示:bg-white rounded-xl shadow-sm → card bg-white
  • 底部CTA按钮:添加了 card 类
  1. 联系我们部分:
  • 所有联系卡片:contact-card bg-white rounded-xl shadow-md → card contact-card bg-white

其他页面修改:

FeaturesPage.vue:

  • 所有特色卡片:feature-card bg-white rounded-lg shadow-lg → card feature-card bg-white

TutorialsPage.vue:

  • 关注机制说明卡片:bg-white rounded-2xl shadow-lg → card bg-white
  • 操作指南卡片:bg-white rounded-xl shadow-lg → card bg-white
  • 注意事项卡片:bg-white rounded-lg → card bg-white

AboutPage.vue:

  • 所有功能介绍卡片:bg-gray-50 rounded-lg shadow-sm → card bg-gray-50

CreatorsPage.vue:

  • 所有成功案例卡片:story-card bg-white rounded-lg shadow-lg → card story-card bg-white

MonetizationPage.vue:

  • 所有变现方式卡片:method-card bg-white rounded-lg shadow-lg → card method-card bg-white
  • 收入分析卡片:revenue-analysis bg-white rounded-lg shadow-lg → card revenue-analysis bg-white

TestimonialsPage.vue:

  • 所有评价卡片:testimonial-card bg-white rounded-lg shadow-lg → card testimonial-card bg-white

FaqPage.vue:

  • 联系支持卡片:contact-support bg-gray-50 rounded-lg → card contact-support bg-gray-50

统一效果:

  • 一致的圆角:所有卡片都使用 var(—radius-lg) 即 0.75rem 的圆角
  • 统一的阴影:所有卡片都使用 var(—shadow-sm) 的阴影效果
  • 一致的悬停效果:继承了 card:hover 的悬停动画效果
  • 统一的过渡动画:继承了 card 的过渡效果
  • 更好的视觉一致性:整个网站现在具有统一的卡片样式

logo的样式还是太丑。

加入样式

<div class="flex flex-col">
            <span class="text-3xl font-black text-transparent bg-clip-text bg-gradient-to-r from-orange-500 via-red-500 to-pink-500 leading-none tracking-tight" style="font-family: 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif; text-shadow: 0 2px 4px rgba(0,0,0,0.1);">小圈子</span>
            <span class="text-sm font-semibold text-gray-600 group-hover:text-orange-500 transition-colors duration-300 tracking-wider" style="font-family: 'SF Pro Display', 'PingFang SC', 'Microsoft YaHei', monospace; letter-spacing: 0.1em;">xqz.fan</span>
          </div>

美观

下一步,我们继续,我发现个问题npm打包出来的文件 ,底部链接诸如隐私政策,平台特色,创作者平台等链接跳转会Nginx 404

通过顶部的菜单栏点开就不会404,顶部点开就直接能跳转,这是什么问题?

其实

这是一个典型的单页应用(SPA)路由配置问题。当通过底部链接访问时,Nginx会尝试在服务器上查找对应的物理文件,但实际上这些路由是由Vue Router在客户端处理的,所以会出现404错误。

问题分析:

  1. 底部链接使用了普通的 <a> 标签:底部链接使用的是 <a href="/path"> 而不是 Vue Router 的 <router-link>,这会导致浏览器直接向服务器请求这些路径,而不是通过 Vue Router 处理。
  2. Nginx 配置问题:Nginx 没有配置 SPA 的 fallback 规则,当访问不存在的路径时返回 404 而不是 index.html。

解决方案:

<ul class="space-y-2">
              <li><router-link to="/features" class="text-gray-400 hover:text-white transition-fast">平台特色</router-link></li>
              <li><router-link to="/creators" class="text-gray-400 hover:text-white transition-fast">创作者价值</router-link></li>
              <li><router-link to="/monetization" class="text-gray-400 hover:text-white transition-fast">变现方式</router-link></li>
              <li><router-link to="/testimonials" class="text-gray-400 hover:text-white transition-fast">用户评价</router-link></li>
            </ul>

类似这样

2. 创建 Nginx 配置文件

现在我需要创建一个 Nginx 配置文件来解决 SPA 路由问题:

server {
    listen 80;
    server_name your-domain.com;  # 替换为你的域名
    # 网站根目录
    root /var/www/html;  # 替换为你的网站根目录
    index index.html;
    # 启用 gzip 压缩
    gzip on;
    gzip_vary on;
    gzip_min_length 1024;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types
        text/plain
        text/css
        text/xml
        text/javascript
        application/json
        application/javascript
        application/xml+rss
        application/atom+xml
        image/svg+xml;
    # 静态资源缓存
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
        try_files $uri =404;
    }
    # SPA 路由处理 - 这是关键配置
    location / {
        try_files $uri $uri/ /index.html;
    }
    # 安全头设置
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    # 错误页面
    error_page 404 /index.html;
}

问题修复总结

问题原因分析:

  1. 前端问题
  • 底部链接使用了普通的 <a href="/path"> 标签
  • 这会导致浏览器直接向服务器请求这些路径
  • 服务器找不到对应的物理文件,返回 404
  1. Nginx 配置问题
  • 缺少 SPA (单页应用) 的 fallback 配置
  • 当访问不存在的路径时,Nginx 应该返回 index.html 让 Vue Router 处理

修复方案:

1. 前端修复(已完成)

  • 将所有底部链接从 <a href="/path"> 改为 <router-link to="/path">
  • 这样所有链接都会通过 Vue Router 在客户端处理

2. Nginx 配置修复

  • 创建了 nginx.conf 配置文件
  • 添加了关键的 SPA 路由处理规则:
location / {
    try_files $uri $uri/ /index.html;
}

3. 部署文档

  • 创建了详细的 DEPLOYMENT.md 说明文档
  • 包含了问题分析、解决方案和部署步骤

为什么顶部菜单正常?

  • 顶部菜单使用的是 <router-link> 组件
  • Vue Router 在客户端处理路由,不会向服务器发送请求

部署步骤:

  1. 重新构建项目:npm run build
  2. nginx.conf 配置应用到服务器
  3. 修改配置文件中的域名和路径
  4. 重新加载 Nginx 配置

现在底部链接应该可以正常工作了!

我们测试下,完美可用。

目录
相关文章
|
6天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
5天前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
|
5天前
|
人工智能 自然语言处理 自动驾驶
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
|
Linux 虚拟化 iOS开发
VMware Workstation Pro 25H2 for Windows & Linux - 领先的免费桌面虚拟化软件
VMware Workstation Pro 25H2 for Windows & Linux - 领先的免费桌面虚拟化软件
1080 4
|
8天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
677 2
|
6天前
|
编解码 自然语言处理 文字识别
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
凌晨,Qwen3-VL系列再添新成员——Dense架构的Qwen3-VL-8B、Qwen3-VL-4B 模型,本地部署友好,并完整保留了Qwen3-VL的全部表现,评测指标表现优秀。
510 7
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
|
7天前
|
JavaScript API 开发工具
如何在原生App中调用Uniapp的原生功能?
如何在原生App中调用Uniapp的原生功能?
331 139