当前位置:网站首页 >小程序开发 > 正文

微信小程序开发购物车的实例代码

声英彦 声英彦 . 发布于 2025-09-29 05:39:41 17 浏览

微信小程序开发购物车实例代码分享🛒

随着移动互联网的普及,微信小程序已经成为我们生活中不可或缺的一部分,购物车作为电商网站的核心功能之一,自然也成为了微信小程序开发的热门话题,我将为大家分享一个简单的微信小程序购物车实例代码,帮助你快速上手小程序开发。👩‍💻

项目准备

在开始编写代码之前,我们需要准备以下工具和资源:

  • 微信开发者工具:用于开发、调试微信小程序
  • 小程序云开发环境:用于存储数据、调用云函数等
  • 代码编辑器:如Visual Studio Code、Sublime Text等

项目结构

以下是购物车小程序的基本项目结构:

/miniprogram
  /pages
    index.wxml
    index.wxss
    index.js
  /utils
    util.js
  app.js
  app.json
  app.wxss

编写代码

1 页面结构(index.wxml)

<view class="container">
  <view class="product-list">
    <block wx:for="{{productList}}" wx:key="index">
      <view class="product-item">
        <image class="product-image" src="{{item.image}}" mode="aspectFit"></image>
        <view class="product-info">
          <text class="product-name">{{item.name}}</text>
          <text class="product-price">¥{{item.price}}</text>
          <button class="add-to-cart" bindtap="addToCart">加入购物车</button>
        </view>
      </view>
    </block>
  </view>
  <view class="cart">
    <view class="cart-header">
      <text>购物车</text>
      <button bindtap="clearCart">清空购物车</button>
    </view>
    <view class="cart-item" wx:for="{{cart}}" wx:key="index">
      <image class="cart-image" src="{{item.image}}" mode="aspectFit"></image>
      <view class="cart-info">
        <text class="cart-name">{{item.name}}</text>
        <text class="cart-price">¥{{item.price}}</text>
        <text class="cart-count">x{{item.count}}</text>
      </view>
      <button bindtap="removeFromCart" data-index="{{index}}">移除</button>
    </view>
    <view class="cart-footer">
      <text>总计:¥{{totalPrice}}</text>
    </view>
  </view>
</view>

2 页面样式(index.wxss)

.container {
  display: flex;
  flex-direction: column;
}
.product-list {
  flex: 1;
}
.product-item {
  display: flex;
  margin-bottom: 10px;
}
.product-image {
  width: 100px;
  height: 100px;
}
.product-info {
  flex: 1;
  padding-left: 10px;
}
.cart {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}
.cart-header {
  display: flex;
  justify-content: space-between;
  padding: 10px;
}
.cart-item {
  display: flex;
  padding: 10px;
  border-bottom: 1px solid #eee;
}
.cart-image {
  width: 50px;
  height: 50px;
}
.cart-info {
  flex: 1;
  padding-left: 10px;
}
.cart-footer {
  padding: 10px;
}

3 页面逻辑(index.js)

Page({
  data: {
    productList: [
      { name: '商品1', price: 10, image: 'https://example.com/image1.png' },
      { name: '商品2', price: 20, image: 'https://example.com/image2.png' },
      { name: '商品3', price: 30, image: 'https://example.com/image3.png' }
    ],
    cart: [],
    totalPrice: 0
  },
  addToCart: function (e) {
    const index = e.currentTarget.dataset.index;
    const item = this.data.productList[index];
    const cartItem = this.data.cart.find(cartItem => cartItem.name === item.name);
    if (cartItem) {
      cartItem.count++;
    } else {
      this.data.cart.push({ ...item, count: 1 });
    }
    this.setData({
      cart: this.data.cart,
      totalPrice: this.data.cart.reduce((total, cartItem) => total + cartItem.price * cartItem.count, 0)
    });
  },
  removeFromCart: function (e) {
    const index = e.currentTarget.dataset.index;
    this.data.cart.splice(index, 1);
    this.setData({
      cart: this.data.cart,
      totalPrice: this.data.cart.reduce((total, cartItem) => total + cartItem.price * cartItem.count, 0)
    });
  },
  clearCart: function () {
    this.setData({
      cart: [],
      totalPrice: 0
    });
  }
});

4 云函数(cloudfunctions)

在云开发环境中,我们需要创建一个云函数来处理购物车数据的存储和更新,以下是云函数的示例代码:

// cloudfunctions/addToCart/index.js
const cloud = require('wx-server-sdk');
cloud.init();
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext();
  const { name, price, count } = event;
  const cartItem = await cloud.database()
    .collection('cart')
    .where({
      _openid: wxContext.OPENID,
      name
    })
    .get();
  if (cartItem.data.length > 0) {
    await cloud.database()
      .collection('cart')
      .doc(cartItem.data[0]._id)
      .update({
        data: {
          count: cartItem.data[0].count + count
        }
      });
  } else {
    await cloud.database()
      .collection('cart')
      .add({
        data: {
          _openid: wxContext.OPENID,
          name,
          price,
          count
        }
      });
  }
  return {
    success: true
  };
};

就是一个简单的微信小程序购物车实例代码,通过这个实例,你可以了解到如何使用微信小程序云开发环境存储购物车数据,以及如何实现购物车的增删改查功能,希望这个例子能帮助你快速上手微信小程序开发。🎉

小程序设计

中原小程序开发应用领域

中原小程序开发应用领域广度与深度随着移动互联网的飞速发展,小程序作为一种轻量级的应用程序,凭借其便捷性、易用性和低门槛的特点,逐渐成为开发者和用户的新宠,在中原地区,小程序的开发应用领域正日益拓展...

东莞市餐饮小程序开发

便捷美食体验的智慧新篇章随着互联网技术的飞速发展,小程序作为一种轻量级的应用程序,逐渐成为人们日常生活中不可或缺的一部分,在东莞市,餐饮行业作为城市经济的重要组成部分,也迎来了小程序开发的浪潮,本...

怎么开发抖因小程序赚钱

如何开发抖因小程序,轻松实现赚钱梦想随着移动互联网的快速发展,小程序成为了商家和创业者争相布局的新阵地,抖因小程序作为一款新兴的社交电商平台,凭借其独特的运营模式和强大的用户基础,成为了众多开发者...

中石化开发票的小程序

中石化开发票,便捷高效的小程序助力企业财务管理随着移动互联网的快速发展,越来越多的企业开始借助科技手段提升工作效率,中石化作为我国石油化工行业的领军企业,紧跟时代步伐,推出了开发票的小程序,为企业...

旬阳科协小程序开发中心

创新驱动,科技服务新篇章在信息化、智能化的时代浪潮中,旬阳科协小程序开发中心应运而生,成为推动地方科技创新和科普服务的重要力量,作为旬阳县科学技术协会的直属机构,该中心致力于利用现代信息技术,为广...

tp5 开发微信小程序

TP5助力微信小程序开发,提升企业移动应用竞争力随着移动互联网的飞速发展,微信小程序作为一种无需下载、即用即走的轻量级应用,已经成为企业拓展市场、提升用户体验的重要工具,而TP5(ThinkPHP...

小程序开发完如何盈利呢

小程序开发完成后,如何实现盈利?随着移动互联网的快速发展,小程序作为一种轻量级的应用程序,逐渐成为企业拓展线上业务的重要工具,小程序开发完成后,如何实现盈利成为许多开发者关注的焦点,以下是一些可行...

上海软件开发小程序制作

助力企业提升效率,拓展市场新渠道随着移动互联网的快速发展,小程序作为一种轻量级的应用程序,以其便捷、高效、低成本等优势迅速成为企业拓展市场、提升服务的重要工具,在上海,越来越多的企业开始关注并投入...

垃圾分类小程序开发介绍

垃圾分类小程序开发介绍——智能生活新伙伴随着我国城市化进程的加快,垃圾分类已成为提升城市管理水平、改善生活环境的重要举措,为了更好地推动垃圾分类工作的普及和实施,一款便捷、高效的垃圾分类小程序应运...

股票交易小程序开发公司

助力金融科技新篇章随着移动互联网的飞速发展,手机已经成为了人们生活中不可或缺的一部分,在这个背景下,股票交易小程序应运而生,为广大投资者提供了便捷、高效的股票交易服务,而在这场金融科技的变革中,专...

汝阳小程序开发制作公司

引领小程序开发新潮流随着移动互联网的飞速发展,小程序作为一种新兴的互联网应用形式,已经逐渐成为企业提升品牌影响力、拓展市场的重要手段,在这个充满机遇与挑战的时代,汝阳小程序开发制作公司应运而生,凭...

小程序云开发发送http请求

小程序云开发中高效发送HTTP请求的实践指南随着移动互联网的快速发展,小程序因其轻量、便捷的特点,受到了广大用户的喜爱,在微信小程序的开发过程中,云开发功能的引入极大地简化了后端服务的搭建和部署,...

声英彦

声英彦

TA太懒了...暂时没有任何简介

小程序开发