微信小程序开发(百货商战)实战项目的分类的创建

avatar
作者
筋斗云
阅读量:0

在这里插入图片描述


👨‍💻个人主页@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏微信小程序开发

🅰

请添加图片描述


文章目录


前言

  在这个数字化飞速发展的时代,购物方式也在不断变革与创新。微信小程序商城应运而生,为您打造一个全新的购物体验。
  我们深知,您的时间宝贵,每一分每一秒都应花在有价值的事情上。因此,我们精心构建了这个便捷、高效的微信小程序商城,让您无需繁琐的下载和安装,轻轻一点,即可开启精彩的购物之旅。
  在这里,您将发现丰富多样的商品,从时尚潮流的服饰到精致实用的家居用品,从美味可口的食品到高科技的电子产品,应有尽有,满足您的各种需求。
  我们秉持着品质至上的原则,严格筛选每一款商品,确保您买到的都是优质、可靠的产品。同时,我们还提供贴心的客户服务,随时为您解答疑问,解决问题,让您购物无忧。
  微信小程序商城,不仅是一个购物平台,更是您生活中的贴心伙伴。让我们一起,在这个数字商城中,探索更多美好!


一、产品分类功能的实现


  欢迎来到微信小程序商城的百货分类页面,这是一个为您精心打造的购物导航图。
  在这个快节奏的时代,我们深知您对便捷和高效的追求。因此,我们将百货商品进行了细致的分类,让您能够迅速找到您所需要的物品。
  无论是追求时尚的您,想要在服饰鞋包分类中展现个性;还是注重生活品质的您,在家居百货中寻找温馨与舒适;亦或是热爱美食的您,在食品饮料分类中探索美味的奥秘。我们的百货分类都能精准地满足您的期待。
  每一个分类背后,都有我们团队的精心挑选和严格把关,只为给您带来最优质、最具性价比的商品。让我们一起,在这丰富的百货分类中,发现生活的更多美好。

(1)category.wxml

<view>     <view class="left-nav">         <van-sidebar active-key="{{ activeKey }}">             <block wx:for="{{ sliderData }}" wx:key="index">                 <van-sidebar-item data-title="{{ item.text }}" bindtap="clickItemNav" title="{{ item.text }}" />             </block>         </van-sidebar>     </view>     <view class="right-nav">         <van-grid column-num="3">             <van-grid-item use-slot wx:for="{{ categoryData }}" wx:key="index">                 <view bindtap="clickItem" data-tag="{{ item.tag }}">                     <image mode="widthFix" src="{{ item.image }}"></image>                     <text>{{ item.tag }}</text>                 </view>             </van-grid-item>         </van-grid>     </view> </view> 

(2)category.wxss

定义一个for循环访问数组:

.left-nav{     float: left;     width: 25%; } .right-nav{     float: right;     width: 75%; }  .right-nav image{     width: 70px; }      .right-nav text{     margin-top: 10px;     font-size: 13px;     color: #333;     text-align: center;     display: block; } 

(3)category.js

import { getCategory,getSearch } from "../../api/index.js"  Page({      /**      * 页面的初始数据      */     data: {         activeKey:0,         categoryData:[],         sliderData:[             {                 "id":0,                 "text":"热门推荐"             },             {                 "id":1,                 "text":"手机数码"             },             {                 "id":2,                 "text":"家用电器"             },             {                 "id":3,                 "text":"电脑办公"             },             {                 "id":4,                 "text":"玩具乐器"             },             {                 "id":5,                 "text":"家具家装"             },             {                 "id":6,                 "text":"男装"             },             {                 "id":7,                 "text":"男鞋"             },             {                 "id":8,                 "text":"女装"             },             {                 "id":9,                 "text":"女鞋"             },             {                 "id":10,                 "text":"美妆护肤"             },             {                 "id":11,                 "text":"户外运动"             }         ],         currentTag:"热门推荐"     },      /**      * 生命周期函数--监听页面加载      */     onLoad(options) {         this.http(this.data.currentTag);     },     clickItemNav(e){         this.http(e.currentTarget.dataset.title)     },     http(tag){         getCategory({tag}).then(res =>{             if(res.data.status === 200){                 this.setData({                     categoryData:res.data.data                 })             }else{                 wx.showToast({                   title: '暂无数据',                   icon:"success"                 })             }         })     },     clickItem(e){         getSearch({search:e.currentTarget.dataset.tag}).then(res =>{             if(!res.data.msg){                 // 序列化                 let goods = JSON.stringify(res.data.data)                 wx.navigateTo({                     url: '/pages/goods/goods?goodsData=' + goods,                 })             }else{                 wx.showToast({                   title: res.data.msg,                 })             }         })     } })  

(4)category.json

{     "usingComponents": {         "van-sidebar": "@vant/weapp/sidebar/index",         "van-sidebar-item": "@vant/weapp/sidebar-item/index",         "van-grid": "@vant/weapp/grid/index",         "van-grid-item": "@vant/weapp/grid-item/index"     } }  

运行结果的显示:
在这里插入图片描述


二、产品的详细介绍以及是否添加购物车


  在这里,“添加购物车”是您与心仪商品之间的约定。它是您购物决策中的一个贴心伙伴,让您能够轻松地收集那些让您眼前一亮的宝贝。
想象一下,购物车就像是您的私人宝库,您可以将各种喜爱的百货商品放入其中,慢慢积攒幸福的可能。无论是一件时尚的衣物,还是一款实用的家居用品,它们都在等待着与您一同回家。
  添加购物车,为您的购物之旅增添了一份从容与自由,让您可以尽情探索更多精彩,不错过任何一个美好。

(1)details.wxml

<view class="details">     <image class="topimage" mode="widthFix" src="{{ goodsDetails.topimage }}"></image>     <view class="content">         <view class="price">             ¥<text>{{ goodsDetails.price }}</text>.00         </view>         <view class="title">             <text>{{ goodsDetails.title }}</text>         </view>     </view>     <view class="introduce">         <image mode="widthFix" src="{{ goodsDetails.details }}"></image>     </view>     <view class="cart">         <van-goods-action>             <van-goods-action-icon icon="chat-o" text="客服" bind:click="onClickKF" />             <van-goods-action-icon icon="cart-o" text="购物车" bind:click="onClickCart" />             <van-goods-action-button text="加入购物车" type="warning" bind:click="onClickAddCart" />             <van-goods-action-button data-id="{{ goodsDetails.id }}" text="立即购买" bind:click="onClickBuy" />         </van-goods-action>     </view> </view> 

(2)details.wxss

.details{     background: #fff; }  .details .topimage{     width: 100%; }  .details .content{     margin: 10px; }  .details .content .price {     color: #f2270c; }  .details .content .price text{     color: #f2270c;     display: inline-block;     font-family: JDZH-Regular;     font-size: 20px;     line-height: 30px; }  .details .content .title{     font-size: 15px;     font-weight: 700; }  .details .introduce image{     width: 100%; }  

(3)details.js

const { getGoodsDetails,addGoodsCart } = require("../../api/index.js")  Page({      /**      * 页面的初始数据      */     data: {         goodsDetails:{}     },      /**      * 生命周期函数--监听页面加载      */     onLoad(options) {         // 提示用户在获取数据         wx.showLoading({           title: '等待数据加载...',         })         getGoodsDetails({id:options.id}).then(res =>{             wx.hideLoading()             if(res.data.status === 200){                 this.setData({                     goodsDetails:res.data.data[0]                 })             }else{                 wx.showToast({                   title: '数据获取失败',                   icon:"success"                 })             }         })     },     /**      * 客服      */     onClickKF(){},     /**      * 购物车      */     onClickCart(){         wx.switchTab({           url: '/pages/cart/cart',         })     },     /**      * 加入购物车      */     onClickAddCart(){         addGoodsCart({             title:this.data.goodsDetails.title,             price:this.data.goodsDetails.price,             image:this.data.goodsDetails.topimage,             currentID:this.data.goodsDetails.id         }).then(res =>{             if(res.data.status === 200){                 wx.showToast({                   title: res.data.msg,                 })             }else{                 wx.showToast({                   title: res.data.msg,                 })             }         })     },     /**      * 立即购买      */     onClickBuy(e){         wx.navigateTo({           url: '/pages/buy/buy?id='+e.currentTarget.dataset.id,         })     } })  

(4)details.json

{     "usingComponents": {         "van-goods-action": "@vant/weapp/goods-action/index",         "van-goods-action-icon": "@vant/weapp/goods-action-icon/index",         "van-goods-action-button": "@vant/weapp/goods-action-button/index"     } }  

运行结果的显示:
在这里插入图片描述

结束语🥇

以上就是微信小程序之列表渲染
持续更新微信小程序教程,欢迎大家订阅系列专栏🔥微信小程序
你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!