基于微信小程序的冰淇淋商城+PC端管理后台

一系统截图

二系统架构

    微信小程序端:使用uniapp框架开发

    PC端管理后台:使用SSM框架,数据库使用MySQL,前端使用VUE框架,开发环境:JDK8+IDEA+MySQL8.0

三源码下载


[点击下载](基于微信小程序的冰淇淋商城+PC端管理后台)

四伪代码展示

伪代码

小程序代码:

app.js

javascriptCopy Code
//app.js
App({
  globalData: {
    userInfo: null
  }
})
pages/index/index.js

javascriptCopy Code
//pages/index/index.js
Page({
  data: {
    iceCreams: [
      {
        id: 1,
        name: "巧克力口味",
        price: 10.0,
        image: "/images/chocolate.png"
      },
      {
        id: 2,
        name: "草莓口味",
        price: 12.0,
        image: "/images/strawberry.png"
      },
      {
        id: 3,
        name: "香草口味",
        price: 9.0,
        image: "/images/vanilla.png"
      }
    ],
    cart: []
  },
  addToCart(e) {
    const iceCream = e.currentTarget.dataset.icecream;
    const cart = this.data.cart;
    cart.push(iceCream);
    this.setData({
      cart: cart
    });
    wx.showToast({
      title: "已添加到购物车",
      icon: "success"
    });
  },
  goToCart() {
    wx.navigateTo({
      url: "/pages/cart/cart"
    });
  }
})
pages/index/index.wxml

htmlCopy Code
<!--pages/index/index.wxml-->
<view class="container">
  <view class="ice-cream-list">
    <block wx:for="{{iceCreams}}" wx:key="id">
      <view class="ice-cream-item" bindtap="addToCart" data-icecream="{{item}}">
        <image class="ice-cream-image" src="{{item.image}}"></image>
        <text class="ice-cream-name">{{item.name}}</text>
        <text class="ice-cream-price">¥{{item.price}}</text>
      </view>
    </block>
  </view>
  <view class="footer">
    <button class="cart-button" bindtap="goToCart">
      <text class="cart-text">购物车</text>
      <text class="cart-count">{{cart.length}}</text>
    </button>
  </view>
</view>
pages/index/index.wxss

cssCopy Code
/*pages/index/index.wxss*/
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.ice-cream-list {
  width: 100%;
  padding: 20rpx;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200rpx, 1fr));
  grid-gap: 20rpx;
}

.ice-cream-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #f3f3f3;
  border-radius: 10rpx;
  padding: 10rpx;
  box-shadow: 0 2rpx 5rpx rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: transform 0.3s;
}

.ice-cream-item:hover {
  transform: scale(1.05);
}

.ice-cream-image {
  width: 120rpx;
  height: 120rpx;
}

.ice-cream-name {
  margin-top: 10rpx;
  font-size: 28rpx;
  color: #333;
}

.ice-cream-price {
  margin-top: 5rpx;
  font-size: 24rpx;
  color: #999;
}

.footer {
  width: 100%;
  padding: 20rpx;
  display: flex;
  justify-content: flex-end;
}

.cart-button {
  display: flex;
  align-items: center;
  background-color: #ff6b6c;
  color: #fff;
  border-radius: 50rpx;
  padding: 10rpx 20rpx;
  cursor: pointer;
}

.cart-text {
  margin-right: 10rpx;
  font-size: 28rpx;
}

.cart-count {
  font-size: 22rpx;
  font-weight: bold;
}
pages/cart/cart.js

javascriptCopy Code
//pages/cart/cart.js
Page({
  data: {
    cart: []
  },
  onShow() {
    const app = getApp();
    this.setData({
      cart: app.globalData.cart
    });
  }
})后端代码

IceCream.java

javaCopy Code
public class IceCream {
    private int id;
    private String name;
    private double price;
    private String image;

    public IceCream(int id, String name, double price, String image) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.image = image;
    }

    // Getters and Setters

    @Override
    public String toString() {
        return "IceCream{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", price=" + price +
                ", image='" + image + '\'' +
                '}';
    }
}
IceCreamDao.java

javaCopy Code
import java.util.List;

public interface IceCreamDao {
    List<IceCream> getAllIceCreams();
    IceCream getIceCreamById(int id);
    void addIceCream(IceCream iceCream);
    void updateIceCream(IceCream iceCream);
    void deleteIceCream(int id);
}
IceCreamDaoImpl.java

javaCopy Code
import java.util.ArrayList;
import java.util.List;

public class IceCreamDaoImpl implements IceCreamDao {
    private List<IceCream> iceCreams;

    public IceCreamDaoImpl() {
        iceCreams = new ArrayList<>();
    }

    @Override
    public List<IceCream> getAllIceCreams() {
        return iceCreams;
    }

    @Override
    public IceCream getIceCreamById(int id) {
        for (IceCream iceCream : iceCreams) {
            if (iceCream.getId() == id) {
                return iceCream;
            }
        }
        return null;
    }

    @Override
    public void addIceCream(IceCream iceCream) {
        iceCreams.add(iceCream);
    }

    @Override
    public void updateIceCream(IceCream iceCream) {
        for (int i = 0; i < iceCreams.size(); i++) {
            if (iceCreams.get(i).getId() == iceCream.getId()) {
                iceCreams.set(i, iceCream);
                break;
            }
        }
    }

    @Override
    public void deleteIceCream(int id) {
        iceCreams.removeIf(iceCream -> iceCream.getId() == id);
    }
}
IceCreamService.java

javaCopy Code
import java.util.List;

public interface IceCreamService {
    List<IceCream> getAllIceCreams();
    IceCream getIceCreamById(int id);
    void addIceCream(IceCream iceCream);
    void updateIceCream(IceCream iceCream);
    void deleteIceCream(int id);
}
IceCreamServiceImpl.java

javaCopy Code
import java.util.List;

public class IceCreamServiceImpl implements IceCreamService {
    private IceCreamDao iceCreamDao;

    public IceCreamServiceImpl(IceCreamDao iceCreamDao) {
        this.iceCreamDao = iceCreamDao;
    }

    @Override
    public List<IceCream> getAllIceCreams() {
        return iceCreamDao.getAllIceCreams();
    }

    @Override
    public IceCream getIceCreamById(int id) {
        return iceCreamDao.getIceCreamById(id);
    }

    @Override
    public void addIceCream(IceCream iceCream) {
        iceCreamDao.addIceCream(iceCream);
    }

    @Override
    public void updateIceCream(IceCream iceCream) {
        iceCreamDao.updateIceCream(iceCream);
    }

    @Override
    public void deleteIceCream(int id) {
        iceCreamDao.deleteIceCream(id);
    }
}
Main.java

javaCopy Code
public class Main {
    public static void main(String[] args) {
        IceCreamDao iceCreamDao = new IceCreamDaoImpl();
        IceCreamService iceCreamService = new IceCreamServiceImpl(iceCreamDao);

        // 添加冰淇淋
        iceCreamService.addIceCream(new IceCream(1, "巧克力口味", 10.0, "/images/chocolate.png"));
        iceCreamService.addIceCream(new IceCream(2, "草莓口味", 12.0, "/images/strawberry.png"));
        iceCreamService.addIceCream(new IceCream(3, "香草口味", 9.0, "/images/vanilla.png"));

        // 获取所有冰淇淋
        List<IceCream> iceCreams = iceCreamService.getAllIceCreams();
        for (IceCream iceCream : iceCreams) {
            System.out.println(iceCream);
        }

        // 更新冰淇淋
        IceCream iceCreamToUpdate = iceCreamService.getIceCreamById(2);
        if (iceCreamToUpdate != null) {
            iceCreamToUpdate.setPrice(15.0);
            iceCreamService.updateIceCream(iceCreamToUpdate);
            System.out.println("冰淇淋更新成功:" + iceCreamToUpdate);
        }

        // 删除冰淇淋
        iceCreamService.deleteIceCream(1);
        System.out.println("冰淇淋删除成功");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿达

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值