当前位置: 首页 > news >正文

uniapp商城之首页模块

文章目录

  • 前言
  • 一、自定义导航栏
    • 1.静态结构
    • 2.修改页面配置
    • 3.组件安全区适配
  • 二、通用轮播组件
    • 1. 静态结构组件
    • 2.自动导入全局组件
    • 3.首页轮播图数据获取
  • 三、首页分类
    • 1.静态结构
    • 2.首页获取分类数据并渲染
  • 四、热门推荐
    • 1.静态结构
    • 2.首页获取推荐数据并渲染
    • 3.首页跳转详细推荐页
  • 五、猜你喜欢
    • 1.静态结构
    • 2.核心业务
  • 六、下拉刷新
  • 七、骨架屏


前言

主要涉及到组件通信、组件自动导入、数据渲染、触底分页加载、下拉刷新等。
在这里插入图片描述


一、自定义导航栏

自定义导航栏的样式需要适配不同的机型。
在这里插入图片描述
操作步骤

  1. 准备组件静态结构
  2. 修改页面配置,隐藏默认导航栏,修改文字颜色
  3. 样式适配 —> 安全区域

1.静态结构

src/pages/index/components/CustomNavbar.vue在这里插入图片描述

2.修改页面配置

// src/pages.json
{"path": "pages/index/index","style": {"navigationStyle": "custom", // 隐藏默认导航"navigationBarTextStyle": "white","navigationBarTitleText": "首页"}
}

3.组件安全区适配

不同手机的安全区域不同,适配安全区域能防止页面重要内容被遮挡。
通过uni.getSystemInfoSync()获取屏幕边界到安全区的距离。
在这里插入图片描述
在这里插入图片描述

二、通用轮播组件

在该项目中,总共有两处广告位,分别位于【首页】和 【商品分类页】。
轮播图组件需要在首页和分类页使用,需要封装成通用组件。

1. 静态结构组件

首页广告布局为独立的组件XtxSwiper,位于src/components目录中。
该组件定义了list属性接收外部传入的数据,内部通过小程序内置组件swiper展示首页广告的数据。
在这里插入图片描述

2.自动导入全局组件

全局组件类型声明
Volar插件说明:Vue Language Tools
在这里插入图片描述
自动导入配置
在这里插入图片描述

3.首页轮播图数据获取

接口封装

// 存放路径: src/services/home.ts
import type { BannerItem } from '@/types/home'/*** 首页-广告区域-小程序* @param distributionSite 广告区域展示位置(投放位置 投放位置,1为首页,2为分类商品页) 默认是1*/
export const getHomeBannerAPI = (distributionSite = 1) => {return http<BannerItem[]>({method: 'GET',url: '/home/banner',data: {distributionSite,},})
}

类型声明

// 存放路径:src/types/home.d.ts
/** 首页-广告区域数据类型 */
export type BannerItem = {/** 跳转链接 */hrefUrl: string/** id */id: string/** 图片链接 */imgUrl: string/** 跳转类型 */type: number
}

数据渲染
在这里插入图片描述
在这里插入图片描述

三、首页分类

1.静态结构

前台类目布局为独立的组件 CategoryPanel 属于首页的业务组件,存放到首页的components目录中。
在这里插入图片描述

2.首页获取分类数据并渲染

接口封装

// services/home.ts
/*** 首页-前台分类-小程序*/
export const getHomeCategoryAPI = () => {return http<CategoryItem[]>({method: 'GET',url: '/home/category/mutli',})
}

数据类型

/** 首页-前台类目数据类型 */
export type CategoryItem = {/** 图标路径 */icon: string/** id */id: string/** 分类名称 */name: string
}

页面渲染
在这里插入图片描述
在这里插入图片描述

四、热门推荐

后端根据用户的消费习惯等信息向用户推荐一系列商品,前端负责将这些商品展示给用户。

1.静态结构

热门推荐布局为独立的组件HotPanel,属于首页的业务组件,存放到首页的components目录中。

<script setup lang="ts">
//
</script><template><!-- 推荐专区 --><view class="panel hot"><view class="item" v-for="item in 4" :key="item"><view class="title"><text class="title-text">特惠推荐</text><text class="title-desc">
http://www.lryc.cn/news/538162.html

相关文章:

  • 【Javascript Day13、14、15、16】
  • linux 板子的wifi模块连上路由器后,用udhcpc给板子wifi分配ip,udhcpc获取到ip,但没有写入wlan0网卡上
  • openGauss 3.0 数据库在线实训课程13: 学习逻辑结构:表管理1
  • 网络编程-
  • 基于单片机的常规肺活量SVC简单计算
  • 【PostgreSQL】PG在windows下的安装
  • 电动汽车电池监测平台系统设计(论文+源码+图纸)
  • 基于和声搜索(Harmony Search, HS)的多中心点选址优化算法matlab仿真
  • 单链表的概念,结构和优缺点
  • SpringBoot+数据可视化的奶茶点单购物平台(程序+论文+讲解+安装+调试+售后)
  • 深入理解 Vue3 中 ref 与 reactive 的区别及应用
  • TDengine 客户端连接工具 taos-Cli
  • Linux(ubuntu)下载ollama速度慢解决办法
  • Mac安装JD-GUI
  • Jenkins 配置 Git Parameter 四
  • 【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
  • Python 自然语言处理(NLP)和文本挖掘的常规操作过程
  • 传统数组 vs vector和list
  • CRMEB 多商户版v3.0.1源码全开源+PC端+Uniapp前端+搭建教程
  • 【ESP32】ESP-IDF开发 | WiFi开发 | HTTPS服务器 + 搭建例程
  • Vue2 中使用 UniApp 时,生命周期钩子函数总结
  • 如何在 Vue 3 中使用 Vue Router 和 Vuex
  • Fiori APP配置中的Semantic object 小bug
  • 【触想智能】工业显示器和普通显示器的区别以及工业显示器的主要应用领域分析
  • BPMN.js 与 DeepSeek 集成:打造个性化 Web 培训项目的秘诀
  • 第二月:学习 NumPy、Pandas 和 Matplotlib 是数据分析和科学计算的基础
  • 安全测试|SSRF请求伪造
  • Flink提交pyflink任务
  • 对称算法模式之CTR
  • Map 和 Set