uniapp商城项目之商品详情

embedded/2025/2/2 5:23:31/

文章目录

  • 一、商品详情组件
    • 1.新建页面并处理参数
    • 2.封装API接口
    • 5.初始化调用
  • 二、轮播图交互
    • 1.更新下标
    • 2.放大预览
  • 三、弹出层组件交互
    • 1.弹出层组件
    • 2.实现交互


一、商品详情组件

1.新建页面并处理参数

pages下新建一个文件夹goods——> goods.vue,在分类category.vue父组件中确保传递商品的id,goods.vue中接收传递过来的id
在这里插入图片描述
获取页面参数,根据商品的id查询到某个商品的详细信息展示给用户
在这里插入图片描述

2.封装API接口

在这里插入图片描述

类型声明
src—types—goods.d.ts

import type { GoodsItem } from './global'/** 商品信息 */
export type GoodsResult = {/** id */id: string/** 商品名称 */name: string/** 商品描述 */desc: string/** 当前价格 */price: number/** 原价 */oldPrice: number/** 商品详情: 包含详情属性 + 详情图片 */details: Details/** 主图图片集合[ 主图图片链接 ] */mainPictures: string[]/** 同类商品[ 商品信息 ] */similarProducts: GoodsItem[]/** sku集合[ sku信息 ] */skus: SkuItem[]/** 可选规格集合备注[ 可选规格信息 ] */specs: SpecItem[]/** 用户地址列表[ 地址信息 ] */userAddresses: AddressItem[]
}/** 商品详情: 包含详情属性 + 详情图片 */
export type Details = {/** 商品属性集合[ 属性信息 ] */properties: DetailsPropertyItem[]/** 商品详情图片集合[ 图片链接 ] */pictures: string[]
}/** 属性信息 */
export type DetailsPropertyItem = {/** 属性名称 */name: string/** 属性值 */value: string
}/** sku信息 */
export type SkuItem = {/** id */id: string/** 库存 */inventory: number/** 原价 */oldPrice: number/** sku图片 */picture: string/** 当前价格 */price: number/** sku编码 */skuCode: string/** 规格集合[ 规格信息 ] */specs: SkuSpecItem[]
}/** 规格信息 */
export type SkuSpecItem = {/** 规格名称 */name: string/** 可选值名称 */valueName: string
}/** 可选规格信息 */
export type SpecItem = {/** 规格名称 */name: string/** 可选值集合[ 可选值信息 ] */values: SpecValueItem[]
}/** 可选值信息 */
export type SpecValueItem = {/** 是否可售 */available: boolean/** 可选值备注 */desc: string/** 可选值名称 */name: string/** 可选值图片链接 */picture: string
}/** 地址信息 */
export type AddressItem = {/** 收货人姓名 */receiver: string/** 联系方式 */contact: string/** 省份编码 */provinceCode: string/** 城市编码 */cityCode: string/** 区/县编码 */countyCode: string/** 详细地址 */address: string/** 默认地址,1为是,0为否 */isDefault: number/** 收货地址 id */id: string/** 省市区 */fullLocation: string
}

5.初始化调用

在这里插入图片描述

二、轮播图交互

商品详情里轮播图滑动切换时,右下角更新自定义下标,当图片被点击时放大预览
在这里插入图片描述
在这里插入图片描述

1.更新下标

在这里插入图片描述

2.放大预览

在这里插入图片描述

三、弹出层组件交互

参考效果图
uni-ui 弹出层组件:https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html
在这里插入图片描述

1.弹出层组件

在这里插入图片描述
组合式API写法如下:
在这里插入图片描述
在需要的地方调用
在这里插入图片描述

2.实现交互

点击送至和服务均打开弹出层,准备两个vue,商品goods.vue导入后,将其放在uni-popup中
关闭按钮在子组件,要调用父组件的弹出层关闭(子调父)
在这里插入图片描述

在这里插入图片描述
子组件如下
在这里插入图片描述


http://www.ppmy.cn/embedded/158821.html

相关文章

深度学习|表示学习|卷积神经网络|输出维度公式|15

如是我闻: 在卷积和池化操作中,计算输出维度的公式是关键,它们分别可以帮助我们计算卷积操作和池化操作后的输出大小。下面分别总结公式,并结合解释它们的意义: 1. 卷积操作的输出维度公式 当我们对输入图像进行卷积时…

Python 类型注解

文章目录 Python 类型注解详解1. 引言2. Python 类型注解基础2.1 变量类型注解2.2 函数参数和返回值注解2.3 typing 模块的支持 3. 进阶:复杂数据类型3.1 可选类型(Optional)3.2 联合类型(Union)3.3 泛型(G…

python 使用Whisper模型进行语音翻译

目录 一、Whisper 是什么? 二、Whisper 的基本命令行用法 三、代码实践 四、是否保留Token标记 五、翻译长度问题 六、性能分析 一、Whisper 是什么? Whisper 是由 OpenAI 开源的一个自动语音识别(Automatic Speech Recognition, ASR)系统。它的主要特点是: 多语言…

JavaScript系列(52)--编译优化技术详解

JavaScript编译优化技术详解 🚀 今天,让我们深入探讨JavaScript的编译优化技术。通过理解和应用这些技术,我们可以显著提升JavaScript代码的执行效率。 编译优化基础概念 🌟 💡 小知识:JavaScript引擎通常…

关于Java的HttpURLConnection重定向问题 响应码303

我有一个Java函数,发送了一个POST请求,并获取响应头的Headers,使用 java.net.http 库能正常运行。 伪代码如下 private static String loginPhone() throws Exception {String url1 "https://api-user.xxx";String data1 Strin…

基于微信的课堂助手小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

适合传输政府保密文档的可替代FTP传输系统

在当今数字化的世界里,文件传输已成为政府部门日常运作中不可或缺的一部分。然而,随着网络威胁的日益复杂和数据泄露事件的频发,传统的FTP(文件传输协议)已无法满足政府机构对于安全性和效率的需求。为了确保机密信息的…

【elasticsearch】reindex 操作将索引的数据复制到另一个索引

在Elasticsearch中,reindex 操作用于将一个索引的数据复制到另一个索引。常用的 reindex 命令有很多细节,下面是一些常见用法和命令详解: 基本命令 基础Reindex命令 POST /_reindex {"source": {"index": "source_…