26 lines
768 B
TypeScript
26 lines
768 B
TypeScript
import { get, post, put } from '../utils/request'
|
|
import type { Order, OrderItem } from '../types'
|
|
|
|
interface CreateOrderData {
|
|
items: { productId: number; specDataId: number; quantity: number; unitPrice: number }[]
|
|
receiverName: string
|
|
receiverPhone: string
|
|
receiverAddress: string
|
|
}
|
|
|
|
/** 提交订单 */
|
|
export const createOrder = (data: CreateOrderData) =>
|
|
post<Order>('/api/orders', data as unknown as Record<string, unknown>)
|
|
|
|
/** 获取用户订单列表 */
|
|
export const getOrderList = () =>
|
|
get<Order[]>('/api/orders')
|
|
|
|
/** 获取订单详情 */
|
|
export const getOrderDetail = (id: number) =>
|
|
get<Order & { items: OrderItem[] }>(`/api/orders/${id}`)
|
|
|
|
/** 取消订单 */
|
|
export const cancelOrder = (id: number) =>
|
|
put(`/api/orders/${id}/cancel`)
|