@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
53 lines (52 loc) • 1.8 kB
TypeScript
import { Module, PisellCore } from '../../types';
import { BaseModule } from '../../modules/BaseModule';
import { Customer } from './types';
import { Discount } from '../../modules/Discount/types';
export declare class ShopDiscountImpl extends BaseModule implements Module {
protected defaultName: string;
protected defaultVersion: string;
isSolution: boolean;
private request;
private window;
private store;
private options;
private hooks?;
constructor(name?: string, version?: string);
initialize(core: PisellCore, options: any): Promise<void>;
destroy(): Promise<void>;
clear(): Promise<void>;
private initializePlugins;
private registerDependentModules;
private registerEventListeners;
setCustomer(customer: Customer): Promise<void>;
calcDiscount(productList: Record<string, any>[], options?: {
discountId: number;
isSelected: boolean;
}): {
productList: Record<string, any>[];
discountList: Discount[];
};
setDiscountSelected({ discountId, isSelected, }: {
discountId: number;
isSelected: boolean;
}): {
productList: Record<string, any>[];
discountList: Discount[];
};
setProductList(productList: Record<string, any>[]): void;
scanCode(code: string): Promise<{
isAvailable: boolean;
productList: Record<string, any>[];
discountList: Discount[];
type: "server" | "clientCalc";
}>;
calcDiscountApplicableProductTotalPrice(discount: Discount): number | undefined;
private getCustomer;
private isWalkIn;
private emitDiscountListChange;
private setDiscountList;
private getDiscountList;
private getCustomerWallet;
private loadPrepareConfig;
}
export default ShopDiscountImpl;