当前位置: 首页 > 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">

相关文章:

  • rancher on k3s
  • kafka介绍,kafka集群环境搭建,kafka命令测试,C++实现kafka客户端
  • 机器学习数学基础:24.随机事件与概率
  • 黑马SpringCloud微服务课程总结(二)
  • Stable Diffusion 安装教程(附安装包) 【SD三种安装方式,Win+Mac一篇文章讲明白】
  • JVM——类的生命周期
  • 【Getting Started】-时间复杂度-Time Complexity
  • 前瞻技术:塑造未来生活的新趋势
  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第八节】
  • 宠物企业宣传网站静态模板 – 前端静态页面开发实例
  • 国密算法SM1、SM2、SM3和SM4 具体的使用和区别
  • 【物联网】电子电路基础知识
  • Linux执行一条命令并自动重试直到成功,自动化脚本
  • 无人机遥感图像拼接软件有哪些?无人机遥感图像采集流程;遥感图像拼接的一般流程
  • EventSource的使用
  • 动态规划LeetCode-494.目标和
  • 百度千帆平台对接DeepSeek官方文档
  • |网络安全|网络安全学习方法
  • 使用deepseek快速创作ppt
  • ESP32无线Wi-Fi蓝牙方案,设备智能连接控制,物联网通信应用
  • 印度一战机在巴基斯坦旁遮普省被击落,飞行员被俘
  • 习近平会见缅甸领导人敏昂莱
  • 上海消防全面推行“检查码”,会同相关部门推行“综合查一次”
  • 马克思主义理论研究教学名师系列访谈|董雅华:让学生感知马克思主义理论存在于社会生活中
  • 援藏博士张兴堂已任西藏农牧学院党委书记、副校长
  • 75岁亚当·费舍尔坐镇,再现80分钟马勒《第九交响曲》