UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

91 lines (90 loc) 2.34 kB
import { CartItem } from '../Cart/types'; export declare enum OrderHooks { OnOrderCreate = "order:onOrderCreate", OnOrderUpdate = "order:onOrderUpdate", OnOrderCancel = "order:onOrderCancel", OnOrderStatusChange = "order:onOrderStatusChange" } export interface OrderState { } /** * 订单信息 */ export interface CommitOrderParams { url?: string; query: { cartItems: CartItem[]; type: 'virtual' | 'appointment_booking'; platform?: 'pc' | 'h5'; extraData?: Record<string, any>; business_code?: string; }; } /** * 支付项数据 */ export interface PaymentItemData { /** 当前支付项的唯一 ID */ uuid: string; /** 当前支付方式付出去多少钱 */ amount: string; /** 支付类型代码 */ code: string; /** 支付类型id */ id: number; /** 支付类型名称 */ name: string; /** 支付类型 */ type: string; /** 是否已同步到后端 */ isSynced?: boolean; } /** * Checkout 专用订单创建参数 */ export interface CheckoutOrderParams { type: 'virtual' | 'appointment_booking'; platform: 'PC' | 'H5'; sales_channel?: string; order_sales_channel?: string; bookings?: any[]; shop_note?: string; schedule_date?: string; is_deposit?: number; relation_products?: any[]; relation_forms?: any[]; payments?: PaymentItemData[]; customer_id?: string; /** 小票数据标记,当有支付项时设置为1 */ small_ticket_data_flag?: number; [key: string]: any; } /** * 订单模块 API */ export interface OrderModuleAPI { /** * 创建订单 * @param params 订单信息 * @returns 订单信息 */ createOrder: (params: CommitOrderParams['query']) => any; /** * 检查购物车提交订单前是否符合条件 */ checkBeforeSubmitOrder: (params: { cartItems: CartItem[]; type: 'holder' | 'account'; }) => boolean; /** * 提交订单 * @param params 订单信息 */ submitOrder: (params: CommitOrderParams) => Promise<void>; /** * Checkout 专用:创建订单到后端 * @param params 订单参数 * @returns 后端返回的订单数据 */ createOrderByCheckout: (params: CheckoutOrderParams) => Promise<any>; }