@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
82 lines (81 loc) • 2.04 kB
TypeScript
export declare enum DiscountHooks {
OnDiscountListChange = "discount:onDiscountListChange",
OnDestroy = "discount:onDestroy"
}
interface Product {
id: number;
title: string;
is_charge_tax: number;
base_price: string;
}
interface Formattitle {
auto: string;
original: string;
en?: any;
'zh-CN'?: any;
'zh-HK'?: any;
}
interface Limitedrelationproductdata {
id: number;
type: 'product_all' | 'products' | 'product_collection';
product_ids: number[];
product_collection_id: number[];
}
interface ApplicableProductDetails {
amount: string;
type: string;
resource_id: number;
title: string;
original_amount: string;
num: number;
discount?: {
product_id?: number;
original_amount?: string;
percent?: string;
resource_id?: number;
title?: string;
};
}
export interface Discount {
id: number;
product_name: string;
encoded: string;
code: string;
tag: string;
expire_time?: string;
product_id: number;
relation_type: string;
par_value: string;
used_par_value: string;
limit_status: string;
limited_relation_product_data: Limitedrelationproductdata;
balance: string;
format_title: Formattitle;
product: Product;
type: "product" | 'good_pass';
resource_id?: number;
savedAmount?: number;
isEditMode?: boolean;
isScan?: boolean;
discount?: {
resource_id: number;
};
isManualSelect?: boolean;
isDisabled?: boolean;
isSelected?: boolean;
isAvailable?: boolean;
isUsed?: boolean;
applicableProductIds?: number[];
applicableProductDetails: ApplicableProductDetails[];
appliedProductDetails: ApplicableProductDetails[];
isDisabledForProductUsed?: boolean;
amount?: number;
}
export interface DiscountState {
discountList: Discount[];
}
export interface DiscountModuleAPI {
setDiscountList: (discountList: Discount[]) => Promise<void>;
clear: () => Promise<void>;
}
export {};