UNPKG

@pisell/pisellos

Version:

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

58 lines (57 loc) 2.24 kB
import { Module, PisellCore, ModuleOptions } from '../../types'; import { BaseModule } from '../BaseModule'; import { Rules, RulesModuleAPI, DiscountResult } from './types'; import { Discount } from '../Discount/types'; import { SetDiscountSelectedParams } from '../../solution/ShopDiscount/types'; import { WindowPlugin } from '../../plugins'; export declare class RulesModule extends BaseModule implements Module, RulesModuleAPI { protected defaultName: string; protected defaultVersion: string; private store; window: WindowPlugin; private hooks; constructor(name?: string, version?: string); initialize(core: PisellCore, options?: ModuleOptions): Promise<void>; setRulesList(rulesList: Rules[]): Promise<void>; getRulesList(): Rules[]; getWalletPassEvaluator(): import("../..").WalletPassEvaluator | undefined; private checkHolderMatch; isDiscountListAvailable({ oldDiscountList, newDiscountList, productList, orderTotalAmount, holders, isFormSubject, }: { oldDiscountList: Discount[]; newDiscountList: Discount[]; productList: any[]; orderTotalAmount: number; holders: { form_record_id: number; }[]; isFormSubject: boolean; }): { isAvailable: boolean; discountList: Discount[]; productList: any[]; }; filterDiscountListByType(discountList: Discount[], type: string): Discount[]; calcDiscount({ discountList, productList, holders, isFormSubject, orderTotalAmount }: { discountList: Discount[]; productList: any[]; holders: { form_record_id: number; }[]; isFormSubject: boolean; orderTotalAmount: number; }, options?: { isSelected?: boolean; discountId?: number; selectedList?: SetDiscountSelectedParams[]; scan?: boolean; }): DiscountResult; /** * 检查优惠是否符合 PackageSubItemUsageRules 配置 * @param discount 优惠券 * @param flatItem 扁平化后的商品项(可能是主商品或bundle子商品) * @returns 是否可用 */ private checkPackageSubItemUsageRules; destroy(): Promise<void>; clear(): Promise<void>; }