feat: 创建订单接口

This commit is contained in:
2026-05-21 14:55:31 +08:00
parent 8c080d3e22
commit d772cae6bc
3 changed files with 61 additions and 30 deletions

View File

@@ -5,50 +5,63 @@ import request from '@/utils/request'
* @param data - 包含邮箱的参数 * @param data - 包含邮箱的参数
* @param data.listingId - 商品ID * @param data.listingId - 商品ID
* @param data.listingIds - 商品ID列表 * @param data.listingIds - 商品ID列表
*/ */
export const AddShoppingCart = (data, loading?: boolean) => { export const AddShoppingCart = (data, loading?: boolean) => {
return request({ return request({
url: '/buyer/buyer/cart/add', url: '/buyer/buyer/cart/add',
method: 'post', method: 'post',
data, data,
loading loading
}) })
} }
/** /**
* 清空购物车 * 清空购物车
*/ */
export const ClearShoppingCart = (loading?: boolean) => { export const ClearShoppingCart = (loading?: boolean) => {
return request({ return request({
url: '/buyer/buyer/cart/clear', url: '/buyer/buyer/cart/clear',
method: 'delete', method: 'delete',
loading loading
}) })
} }
/** /**
* 获取购物车列表 * 获取购物车列表
* @param loading - 是否显示loading * @param loading - 是否显示loading
* @returns 购物车列表数据 * @returns 购物车列表数据
*/ */
export const GetShoppingCartList = (loading?: boolean) => { export const GetShoppingCartList = (loading?: boolean) => {
return request({ return request({
url: '/buyer/buyer/cart/list', url: '/buyer/buyer/cart/list',
method: 'get', method: 'get',
loading loading
}) })
} }
/** /**
* 从购物车移除商品 * 从购物车移除商品
* @param params - 包含邮箱的参数 * @param params - 包含邮箱的参数
* @param params.listingId - 商品ID * @param params.listingId - 商品ID
*/ */
export const RemoveShoppingCartItem = (params, loading?: boolean) => { export const RemoveShoppingCartItem = (params, loading?: boolean) => {
return request({ return request({
url: '/buyer/buyer/cart/remove', url: '/buyer/buyer/cart/remove',
method: 'delete', method: 'delete',
params, params,
loading loading
}) })
}
/**
* 创建订单
* @param { Array } data - 商品id数组
* @returns
*/
export const CreateOrder = (data) => {
return request({
url: '/buyer/buyer/order/create',
method: 'post',
data
})
} }

View File

@@ -1,3 +1,5 @@
import request from '@/utils/request'
export interface WardrobeItem { export interface WardrobeItem {
buyerId: number buyerId: number
categories: string[] categories: string[]
@@ -14,14 +16,15 @@ export const fetchMyWardrobe = (data: WardrobeItem): Promise<ApiResponse> => {
} }
export interface OrderItem { export interface OrderItem {
status: number status: number // 0未支付 1已支付 2已取消 不穿查全部
page: number page: number
size: number size: number
} }
export const fetchMyOrders = (data: OrderItem): Promise<ApiResponse> => { export const fetchMyOrders = (data: OrderItem): Promise<ApiResponse> => {
return request({ return request({
url: '/buyer/buyer/order/page', url: '/buyer/buyer/order/page',
method: 'post', method: 'get',
data params: data
}) })
} }

View File

@@ -74,8 +74,9 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { computed, shallowRef } from 'vue' import { computed, shallowRef, onMounted,ref } from 'vue'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { fetchMyOrders } from '@/api/user'
import ScItem from '@/views/shoppingCart/sc-item.vue' import ScItem from '@/views/shoppingCart/sc-item.vue'
type OrderStatus = 'all' | 'paid' | 'unpaid' | 'cancelled' type OrderStatus = 'all' | 'paid' | 'unpaid' | 'cancelled'
@@ -211,6 +212,20 @@ const getOrderActionLabel = (status: ActualOrderStatus) => {
if (status === 'unpaid') return t('Wardrobe.orders.actions.completePayment') if (status === 'unpaid') return t('Wardrobe.orders.actions.completePayment')
return t('Wardrobe.orders.actions.buyAgain') return t('Wardrobe.orders.actions.buyAgain')
} }
const orderParams =ref({
page: 1,
pageSize: 10,
status: ''
})
const fetchAllOrders = () => {
fetchMyOrders(orderParams.value)
}
onMounted(() => {
fetchAllOrders()
})
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>