一系统截图
![](https://img-blog.csdnimg.cn/99ce687cc2f84211bf683ec47c0f2e05.jpeg)
![](https://img-blog.csdnimg.cn/5b30e06b84874cec9fc952dde2077ed4.jpeg)
![](https://img-blog.csdnimg.cn/dfab5e42b00f47e9a7d0beee44dca0a5.jpeg)
![](https://img-blog.csdnimg.cn/44231f3dbddb4958850d29f9da737e89.jpeg)
![](https://img-blog.csdnimg.cn/2b841cb540264214a63b28c675beef93.jpeg)
![](https://img-blog.csdnimg.cn/97fee589d4a746b5a7bd2c5b089d875f.jpeg)
![](https://img-blog.csdnimg.cn/22cdc79bce264dec9dec68e956ac1ae0.jpeg)
![](https://img-blog.csdnimg.cn/eb62c1dbcba04558b79733365cd94b73.jpeg)
二系统架构
微信小程序端:使用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("冰淇淋删除成功");
}
}