Browse Source

SKU模块加入购物车

template
liruiqiang 2 months ago
parent
commit
17c8b36329
  1. 10
      src/pages/goods/goods.vue
  2. 12
      src/services/cart.ts

10
src/pages/goods/goods.vue

@ -127,6 +127,7 @@
borderColor: '#27BA9B',
backgroundColor: '#E9F8F5',
}"
@add-cart="onAddCart"
/>
</template>
@ -135,9 +136,11 @@ import { onLoad } from '@dcloudio/uni-app'
import { computed, ref } from 'vue'
import type { GoodsResult } from '@/types/goods'
import { getGoodsByIdAPI } from '@/services/goods'
import { postMemberCartAPI } from '@/services/cart'
import AddressPanel from './components/AddressPanel.vue'
import ServicePanel from './components/ServicePanel.vue'
import type {
SkuPopupEvent,
SkuPopupInstance,
SkuPopupLocaldata,
} from '@/components/vk-data-goods-sku-popup/vk-data-goods-sku-popup'
@ -240,6 +243,12 @@ const skuPopupRef = ref<SkuPopupInstance>()
const selectArrText = computed(() => {
return skuPopupRef.value?.selectArr?.join(' ').trim() || '请选择商品规格'
})
const onAddCart = async (ev: SkuPopupEvent) => {
await postMemberCartAPI({ skuId: ev._id, count: ev.buy_num })
uni.showToast({ title: '添加成功' })
isShowSku.value = false
}
</script>
<style lang="scss">
@ -486,6 +495,7 @@ page {
.addcart {
background-color: #ffa868;
}
.buynow,
.payment {
background-color: #27ba9b;
margin-left: 20rpx;

12
src/services/cart.ts

@ -0,0 +1,12 @@
import { http } from '@/utils/http'
/**
*
* @param data
*/
export const postMemberCartAPI = (data: { skuId: string; count: number }) => {
return http({
method: 'POST',
url: '/member/cart',
data,
})
}
Loading…
Cancel
Save