feat: ✨ 商品详情页的立即购买
This commit is contained in:
parent
f8673b8553
commit
1e9cd792b4
@ -270,8 +270,10 @@ const handlerAddCart = async (e: SkuPopupEvent) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 立即购买
|
// 立即购买
|
||||||
const handlerBuyNow = () => {
|
const handlerBuyNow = (e: SkuPopupEvent) => {
|
||||||
console.log('立即购买')
|
uni.navigateTo({
|
||||||
|
url: `/pagesOrder/create/create?skuId=${e._id}&count=${e.buy_num}`,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -79,13 +79,13 @@ const handleDelete = (id: string) => {
|
|||||||
|
|
||||||
// 创建订单时更改地址
|
// 创建订单时更改地址
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
from: string
|
from?: string
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
const useSelectedAddress = useSelectedAddressStore()
|
const useSelectedAddress = useSelectedAddressStore()
|
||||||
|
|
||||||
const handleSelectAddress = (address: AddressItem) => {
|
const handleSelectAddress = (address: AddressItem) => {
|
||||||
if (props.from === 'order') {
|
if (props?.from === 'order') {
|
||||||
useSelectedAddress.setSelectedAddress(address)
|
useSelectedAddress.setSelectedAddress(address)
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
}
|
}
|
||||||
|
@ -92,9 +92,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { getMemberOrderAPI } from '@/services/order'
|
import { getMemberOrderPreAPI, getMemberOrderPreNowAPI } from '@/services/order'
|
||||||
import { useSelectedAddressStore } from '@/stores/modules/selectedAddress'
|
import { useSelectedAddressStore } from '@/stores/modules/selectedAddress'
|
||||||
import type { AddressItem } from '@/types/address'
|
|
||||||
import type { OrderPreResult } from '@/types/order'
|
import type { OrderPreResult } from '@/types/order'
|
||||||
import { onShow } from '@dcloudio/uni-app'
|
import { onShow } from '@dcloudio/uni-app'
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
@ -120,8 +119,20 @@ const onChangeDelivery: UniHelper.SelectorPickerOnChange = (ev) => {
|
|||||||
|
|
||||||
// 获取预付订单
|
// 获取预付订单
|
||||||
const orderPreList = ref<OrderPreResult>()
|
const orderPreList = ref<OrderPreResult>()
|
||||||
|
const props = defineProps<{
|
||||||
|
skuId?: string
|
||||||
|
count?: number
|
||||||
|
}>()
|
||||||
const getOrderPre = async () => {
|
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)
|
console.log(res)
|
||||||
if (res.code === '1') {
|
if (res.code === '1') {
|
||||||
orderPreList.value = res.result
|
orderPreList.value = res.result
|
||||||
|
@ -28,11 +28,28 @@ export const orderStateList = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取预付订单
|
* 获取预付订单: 从购物车跳转
|
||||||
*/
|
*/
|
||||||
export const getMemberOrderAPI = () => {
|
export const getMemberOrderPreAPI = () => {
|
||||||
return http<OrderPreResult>({
|
return http<OrderPreResult>({
|
||||||
url: '/member/order/pre',
|
url: '/member/order/pre',
|
||||||
method: 'GET',
|
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,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user