// 获取应用实例 const {API} = require('../../service/api.js'); Page({ data:{ cartList: [ { id: 1, name: "商品A商品A商品A商品A商品A", price: 100, checked: false, count: 1 }, { id: 2, name: "商品B商品B商品B商品B商品B", price: 200, checked: false, count: 2 }, { id: 3, name: "商品C", price: 300, checked: false, count: 1 } ], isAllChecked: false, // 全选状态 totalPrice:0, checkedCount:0, isManage:false, // 是否进入管理模式 }, // 获取购物车商品 getCartProds(){ API.getCartProds().then(res=>{ console.log("999999999999",res); }) }, // 复选框变化事件 handleCheckboxChange(e) { const checkedIds = e.detail.value; // 选中的商品id数组(如 ['1', '2']) const cartList = this.data.cartList.map(item => { item.checked = checkedIds.includes(item.id.toString()); return item; }); this.setData({ cartList, isAllChecked: checkedIds.length === this.data.cartList.length }); this.calculateTotal(); // 计算总价 }, // 全选/取消全选 toggleAll() { const isAllChecked = !this.data.isAllChecked; const cartList = this.data.cartList.map(item => { item.checked = isAllChecked; return item; }); this.setData({ cartList, isAllChecked }); this.calculateTotal(); }, // 增加数量 increaseCount(e) { const id = e.currentTarget.dataset.id; const cartList = this.data.cartList.map(item => { if (item.id == id) item.count++; return item; }); this.setData({ cartList }); this.calculateTotal(); }, // 减少数量 decreaseCount(e) { const id = e.currentTarget.dataset.id; const cartList = this.data.cartList.map(item => { if (item.id == id && item.count > 1) item.count--; return item; }); this.setData({ cartList }); this.calculateTotal(); }, // 计算总价和选中数量 calculateTotal() { let totalPrice = 0; let checkedCount = 0; this.data.cartList.forEach(item => { if (item.checked) { totalPrice += item.price * item.count; checkedCount++; } }); this.setData({ totalPrice, checkedCount }); }, // 管理按钮 manageBut(){ this.setData({ isManage:!this.data.isManage }) }, onLoad(){ this.getCartProds(); } })