Files
xin-procurement-weapp/src/services/order.ts
T
2026-08-06 16:37:04 +08:00

44 lines
1.4 KiB
TypeScript

import { get, post, put } from '@/utils/request'
import type { PaginatedData } from '@/types/api'
import type { Order, OrderCreateResult, OrderSummary } from '@/types/order'
/** 下单明细行(金额一律服务端重算,前端不传金额) */
export interface OrderItemParam {
product_id: number
quantity: number
}
/** 下单参数 */
export interface CreateOrderParams {
items: OrderItemParam[]
/** 订单备注(≤255 字符) */
remark?: string
}
/** 下单:POST /mini/order */
export function createOrderApi(params: CreateOrderParams) {
return post<OrderCreateResult>('/mini/order', params)
}
/** 历史订单列表(强制本店隔离):GET /mini/order */
export function getOrderListApi(
params: { status?: number; page?: number; pageSize?: number } = {},
) {
return get<PaginatedData<Order>>('/mini/order', { data: params })
}
/** 周期汇总:GET /mini/order/summary */
export function getOrderSummaryApi(period: 'day' | 'week' | 'month' = 'month') {
return get<OrderSummary>('/mini/order/summary', { data: { period } })
}
/** 订单详情(校验本店归属):GET /mini/order/{id} */
export function getOrderDetailApi(id: number) {
return get<Order>(`/mini/order/${id}`)
}
/** 取消订单(仅待汇总可取消):PUT /mini/order/{id}/cancel */
export function cancelOrderApi(id: number) {
return put(`/mini/order/${id}/cancel`)
}