Browse Source

feat: 添加购物车功能,支持将产品添加至购物车并显示成功提示

EvilDragon 3 months ago
parent
commit
0ca1237fca
1 changed files with 18 additions and 1 deletions
  1. 18 1
      packages/app/src/pages/home/mall/detail/index.vue

+ 18 - 1
packages/app/src/pages/home/mall/detail/index.vue

@@ -14,7 +14,7 @@ import { shoppingBag } from '@designer-hub/assets/src/assets/svgs/index'
 import InvertedTrapezoidButton from '@/components/inverted-trapezoid-button.vue'
 import TrapeziumButton from '@/components/trapezium-button.vue'
 import { useRouter } from '../../../../core/utils/router'
-import { getProduct, productPlacing } from '../../../../core/libs/requests'
+import { createProductItemBuy, getProduct, productPlacing } from '../../../../core/libs/requests'
 import { requestToast } from '../../../../core/utils/common'
 import { useUserStore } from '../../../../store'
 import { storeToRefs } from 'pinia'
@@ -53,6 +53,23 @@ const handleConfirm = async () => {
     if (code !== 0) return
     router.push(`/pages/home/mall/confirm-order/index?data=${JSON.stringify(res)}`)
   }
+  if (type.value === 'add2Cart') {
+    await requestToast(
+      () =>
+        createProductItemBuy({
+          doList: [
+            {
+              userId: userInfo.value.userId,
+              productId: data.value?.productId || '',
+              points: data.value?.points,
+              nums: 1,
+            },
+          ],
+        }),
+      { success: true, successTitle: '加入购物车成功' },
+    )
+    show.value = false
+  }
 }
 onLoad(async (query: { id: string }) => {
   id.value = query.id