基于微信小程序的冰淇淋商城+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
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 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 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 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("冰淇淋删除成功");
}
}
`