diff --git a/.workbuddy/memory/2026-06-25.md b/.workbuddy/memory/2026-06-25.md index 72aa4eb..ffa09cd 100644 --- a/.workbuddy/memory/2026-06-25.md +++ b/.workbuddy/memory/2026-06-25.md @@ -10,3 +10,15 @@ - **文件**: `/Users/gxwebsoft/VUE/weiyu-taro/src/pages/shop/product-detail.tsx` - 同样缺少 Markdown 图片语法转 HTML 的 `parseContent()` 函数,已同步添加 - 与 xinlong-shop-taro 修复方案完全一致 + +## shop-api 后端秒杀模块实现 +- **项目路径**: `/Users/gxwebsoft/JAVA/shop-api` +- 新增完整的秒杀后端模块,参考 ShopGoods 四层架构模板 +- **Entity**: ShopSeckill.java + ShopSeckillOrder.java(含 tenantId 多租户) +- **Param**: ShopSeckillParam.java +- **Mapper**: ShopSeckillMapper + ShopSeckillOrderMapper + XML(含原子扣库存 SQL) +- **Service**: ShopSeckillServiceImpl(核心下单逻辑:防重复提交→活动校验→限购校验→原子扣库存→创建订单→Redis记录已购) +- **Controller**: ShopSeckillController(管理端 CRUD + 用户端 createOrder/myOrders/timeSlots) +- **定时任务**: SeckillStatusTask(每60秒自动更新过期秒杀状态) +- **建表SQL**: src/main/resources/sql/shop_seckill.sql +- API 路径 `/api/shop/shopSeckill`,与前端 `/shopSeckill/*` 对齐 diff --git a/.workbuddy/memory/2026-06-26.md b/.workbuddy/memory/2026-06-26.md new file mode 100644 index 0000000..46eeb9f --- /dev/null +++ b/.workbuddy/memory/2026-06-26.md @@ -0,0 +1,7 @@ +## 2026-06-26 + +### 商品详情页轮播图添加点击放大预览 +- **文件**: `src/pages/shop/product-detail.tsx` +- 在 Swiper 轮播图的 Image 上添加 `onClick` → 调用 `Taro.previewImage({ current: img, urls: images })` +- `previewImage` 是 Taro 内置 API,在小程序中原生支持全屏预览 + 左右滑动翻图,无需额外组件 +- **文件**: `src/pages/points/product-detail.tsx` — 同样添加了点击放大预览 diff --git a/src/pages/points/product-detail.tsx b/src/pages/points/product-detail.tsx index da319a8..6601245 100644 --- a/src/pages/points/product-detail.tsx +++ b/src/pages/points/product-detail.tsx @@ -97,6 +97,7 @@ const PointsProductDetail: React.FC = () => { style={{ height: '375px' }} src={product.productImage} mode='aspectFill' + onClick={() => Taro.previewImage({ current: product.productImage, urls: [product.productImage!] })} /> ) : ( diff --git a/src/pages/shop/product-detail.tsx b/src/pages/shop/product-detail.tsx index a5cfa32..0a6991c 100644 --- a/src/pages/shop/product-detail.tsx +++ b/src/pages/shop/product-detail.tsx @@ -230,7 +230,12 @@ const ProductDetailPage: React.FC = () => { > {images.map((img, idx) => ( - + Taro.previewImage({ current: img, urls: images })} + /> ))} {images.length === 0 && (