feat: 商品详情页的立即购买

This commit is contained in:
jqtmviyu 2025-05-08 17:05:45 +08:00
parent f8673b8553
commit 1e9cd792b4
4 changed files with 39 additions and 9 deletions

View File

@ -270,8 +270,10 @@ const handlerAddCart = async (e: SkuPopupEvent) => {
}
//
const handlerBuyNow = () => {
console.log('立即购买')
const handlerBuyNow = (e: SkuPopupEvent) => {
uni.navigateTo({
url: `/pagesOrder/create/create?skuId=${e._id}&count=${e.buy_num}`,
})
}
</script>

View File

@ -79,13 +79,13 @@ const handleDelete = (id: string) => {
//
const props = defineProps<{
from: string
from?: string
}>()
const useSelectedAddress = useSelectedAddressStore()
const handleSelectAddress = (address: AddressItem) => {
if (props.from === 'order') {
if (props?.from === 'order') {
useSelectedAddress.setSelectedAddress(address)
uni.navigateBack()
}

View File

@ -92,9 +92,8 @@
</template>
<script setup lang="ts">
import { getMemberOrderAPI } from '@/services/order'
import { getMemberOrderPreAPI, getMemberOrderPreNowAPI } from '@/services/order'
import { useSelectedAddressStore } from '@/stores/modules/selectedAddress'
import type { AddressItem } from '@/types/address'
import type { OrderPreResult } from '@/types/order'
import { onShow } from '@dcloudio/uni-app'
import { computed, ref } from 'vue'
@ -120,8 +119,20 @@ const onChangeDelivery: UniHelper.SelectorPickerOnChange = (ev) => {
//
const orderPreList = ref<OrderPreResult>()
const props = defineProps<{
skuId?: string
count?: number
}>()
const getOrderPre = async () => {
const res = await getMemberOrderAPI()
let res
if (props?.skuId && props?.count) {
res = await getMemberOrderPreNowAPI({
skuId: props.skuId,
count: props.count,
})
} else {
res = await getMemberOrderPreAPI()
}
console.log(res)
if (res.code === '1') {
orderPreList.value = res.result

View File

@ -28,11 +28,28 @@ export const orderStateList = [
]
/**
*
* 获取预付订单: 从购物车跳转
*/
export const getMemberOrderAPI = () => {
export const getMemberOrderPreAPI = () => {
return http<OrderPreResult>({
url: '/member/order/pre',
method: 'GET',
})
}
/**
* -立即购买: 从商品详情页跳转
* */
type getMemberOrderPreNowParams = {
skuId: string
count: number
addressId?: string
}
export const getMemberOrderPreNowAPI = (data: getMemberOrderPreNowParams) => {
return http<OrderPreResult>({
url: '/member/order/pre/now',
method: 'GET',
data,
})
}