feat: 商品详情交互开发

This commit is contained in:
duanshuwen
2025-08-03 18:06:06 +08:00
parent 42c5354978
commit 5e0d53fc20
22 changed files with 1906 additions and 582 deletions

View File

@@ -8,6 +8,10 @@
- 📱 **响应式布局** - 完美适配各种屏幕尺寸
- 🛒 **商品信息展示** - 支持商品图片、标题、价格、标签展示
- 🔢 **数量选择** - 提供加减按钮和手动输入两种方式
- 👥 **动态表单管理** - 根据数量自动添加/删除游客信息表单
- 📝 **表单数据绑定** - 支持姓名和手机号的双向绑定
- 📱 **横向滚动支持** - 游客信息区域支持横向滚动浏览多个表单
- 🗑️ **删除表单支持** - 支持删除游客信息表单,自动同步数量和列表长度
- 💰 **实时计算** - 自动计算并显示总价
-**性能优化** - 基于 Vue 3 Composition API性能卓越
- 🎭 **动画效果** - 流畅的弹出和交互动画
@@ -53,7 +57,13 @@ const showConfirm = () => {
const handleConfirm = (orderData) => {
console.log('确认订单:', orderData)
// 处理订单确认逻辑
// orderData 包含:
// {
// goodsData: 商品数据,
// quantity: 购买数量,
// totalPrice: 总价,
// userFormList: 游客信息列表 [{ name: '', phone: '' }, ...]
// }
}
const handleClose = () => {
@@ -114,6 +124,10 @@ interface OrderData {
goodsData: GoodsData; // 商品数据
quantity: number; // 购买数量
totalPrice: string; // 总价(字符串格式)
userFormList: Array<{ // 游客信息列表
name: string; // 游客姓名
phone: string; // 游客手机号
}>;
}
```
@@ -202,9 +216,50 @@ const handleConfirm = async (orderData) => {
3. **数量限制**:组件默认最小购买数量为 1可根据业务需求调整
4. **价格格式**:价格支持数字类型,组件内部会自动处理格式化
5. **事件处理**:建议在 `confirm` 事件中添加适当的错误处理和用户反馈
6. **表单管理**:游客信息表单会根据购买数量自动调整,无需手动管理
## 更新日志
### v1.4.2 (2024-12-19)
**修复Stepper组件响应性问题**
- 🐛 修复Stepper组件不响应外部modelValue变化的问题
- 🔄 添加watch监听器确保Stepper组件能实时同步外部值变化
- ✨ 完善删除表单卡片时Stepper显示值的自动更新
- 🎯 提升组件间数据同步的准确性和实时性
### v1.4.1 (2024-12-19)
**修复quantity更新问题**
- 🐛 修复删除表单时quantity值未正确更新的问题
- 🔧 优化watch监听器逻辑添加删除标志位防止冲突
- 🎯 改进deleteUserForm方法确保数据同步准确
- 🔍 增强demo页面调试信息便于测试验证
### v1.4.0
- 🗑️ **新增删除功能** - 支持点击删除图标删除游客信息表单
- 🔄 **智能数量同步** - 删除表单时自动同步quantity数量和userFormList长度
- 🛡️ **最小限制保护** - 确保至少保留一位游客信息,防止全部删除
- 🎯 **动态图标控制** - 只有多于一个表单时才显示删除图标
- 📱 **用户体验优化** - 删除操作提供友好的提示信息
### v1.3.0
- 🚫 **防换行优化** - 确保FormCard组件在任何情况下都不会换行显示
- 📐 **布局增强** - 添加flex-shrink: 0确保表单卡片保持固定宽度
- 🎯 **滚动优化** - 改进横向滚动体验,支持触摸滚动
- 🧪 **测试改进** - demo页面新增多人数测试按钮便于测试横向滚动效果
### v1.2.0
- 📱 **新增横向滚动** - 游客信息区域支持横向滚动浏览多个表单
- 🎨 **优化布局设计** - 表单卡片采用固定宽度,提升视觉体验
- 🔧 **改进滚动体验** - 隐藏滚动条,提供更清爽的界面
- 📐 **响应式优化** - 确保在不同屏幕尺寸下的良好表现
### v1.1.0
- 🎉 **新增动态表单管理** - 根据购买数量自动添加/删除游客信息表单
- 📝 **新增表单数据绑定** - 支持游客姓名和手机号的双向绑定
- 🔄 **优化数据结构** - 确认订单时返回完整的用户信息列表
- 🎯 **改进用户体验** - 表单项数量与购买数量实时同步
- 🐛 **修复已知问题** - 优化组件初始化和数据更新逻辑
### v1.0.0 (2024-01-XX)
- ✨ 初始版本发布
- 🎨 基于 uni-popup 的底部弹出设计