黑马 小兔鲜儿 uniapp 小程序开发- 分类模块- day04

 黑马 小兔鲜儿 uniapp 小程序开发- 推荐模块- day03_软工菜鸡的博客-CSDN博客

本课程是全网首套用 vue3 加 TS 写的 uniapp 项目, 里面大量封装自己的组件库,课程从 uni-app 基础入手,按照9大电商业务模块逐步实现完整的电商购物流程业务;涵盖了猜你喜欢、热门推荐、商品分类、商品详情、微信登录、用户管理、地址管理、购物车管理、订单管理等功能。包含微信登录,微信支付等业务。一套代码多端全面覆盖微信小程序端、H5端、APP端。

学完本课程能够收获:使用 uni-app + Vue3 开发中型项目的能力

小兔鲜儿 - 分类模块- day04

用户点击左菜单的一级分类,切换右侧对应的二级分类和商品。

准备工作

参考效果

商品分类页中的广告位,可复用之前定义的轮播图组件 XtxSwiper

黑马 小兔鲜儿 uniapp 小程序开发- 分类模块- day04_第1张图片

静态结构

商品分类页静态结构: src/pages/category/category.vue





渲染轮播图

接口调用

渲染轮播图数据业务功能对于前端来说比较简单,只需调用后端提供的接口将获得的数据展现。

注意:传递参数 2 标识获取商品分类页广告。

接口地址:/home/banner

请求方式:GET

请求参数:

Query:

字段名称

是否必须

默认值

备注

distributionSite

1

活动 banner 位置,1 代表首页,2 代表商品分类页,默认为 1

一级分类

获取数据

该接口同时包含一级分类和二级分类数据,二级分类数据需要先对数据进行处理,再进行渲染。

接口调用

接口地址:/category/top

请求方式:GET

请求参数:无

请求封装

// src/services/category.ts
/**
 * 分类列表-小程序
 */
export const getCategoryTopAPI = () => {
  return http({
    method: 'GET',
    url: '/category/top',
  })
}

类型声明

// src/types/category.d.ts
import type { GoodsItem } from './global'

/** 一级分类项 */
export type CategoryTopItem = {
  /** 二级分类集合[ 二级分类项 ] */
  children: CategoryChildItem[]
  /** 一级分类id */
  id: string
  /** 一级分类图片集[ 一级分类图片项 ] */
  imageBanners: string[]
  /** 一级分类名称 */
  name: string
  /** 一级分类图片 */
  picture: string
}

/** 二级分类项 */
export type CategoryChildItem = {
  /** 商品集合[ 商品项 ] */
  goods: GoodsItem[]
  /** 二级分类id */
  id: string
  /** 二级分类名称 */
  name: string
  /** 二级分类图片 */
  picture: string
}

接下来,先把一级分类数据结合模板语法渲染到页面中。

Tab 交互

当用户点击一级分类时,需要高亮显示,即给它添加 .active 类名即可。



二级分类

商品二级分类是从属于某个一级分类的,通过 computed 配合高亮下标提取当前二级分类数据。

参考代码



提取当前二级分类数据后,剩下的就是列表渲染。

骨架屏

参考效果

实现步骤参考首页的骨架屏。

黑马 小兔鲜儿 uniapp 小程序开发- 分类模块- day04_第2张图片

代码参考(总)

商品分类页




你可能感兴趣的:(前端,java,uniapp)