UNPKG

@pisell/pisellos

Version:

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

76 lines (75 loc) 2.68 kB
import { CartItem } from "../../../modules"; import { CapacityItem, ResourceItem } from "./resources"; /** * @title: 基于选择的商品格式化容量 * @description: * @param {any} param1 * @return {*} * @Author: zhiwei.Wang */ export declare const formatDefaultCapacitys: ({ capacity, product_bundle, }: any) => CapacityItem[]; /** * @title: 获取总容量 * @description: * @param {object} capacity 为 formatDefaultCapacitys()的结果 * @return {*} * @Author: zhiwei.Wang */ export declare const getSumCapacity: ({ capacity, num }: { capacity: CapacityItem[]; num: number; }) => number; /** * 给定购物车数据,返回对应的 capacity 信息和套餐 capacity * * @export * @param {CartItem} targetCartItem * @return {*} */ export declare function getCapacityInfoByCartItem(targetCartItem: CartItem): { formatCapacity: CapacityItem[]; currentCapacity: number; }; /** * @title: 传入资源,如果有子资源,会根据组合资源的 capacity 计算修改子资源的 capacity * @description: * @param {object} resource * @return {*} * @Author: jinglin.tan */ export declare const checkSubResourcesCapacity: (resource: ResourceItem) => void; /** * 检查资源是否有足够的容量供额外使用 * @param currentCapacity - 当前已使用的容量 * @param requiredCapacity - 需要的额外容量 * @param maxCapacity - 最大允许容量 * @returns 如果资源可以容纳额外的容量则返回 true */ export declare const checkResourceCanUseByCapacity: (currentCapacity: number, requiredCapacity: number, maxCapacity: number) => boolean; /** * 计算按资源类型分组的容量占用情况 * * @param {CartItem[]} cartItems 购物车商品列表 * @param {string} timeSlotStart 时间段开始时间 * @param {string} timeSlotEnd 时间段结束时间 * @param {ResourceItem[]} allProductResources 当前商品的所有资源列表 * @return {Record<string, number>} 返回每种资源类型(form_id)的容量占用 */ export declare function calculateCartItemsCapacityUsageByResourceType({ cartItems, timeSlotStart, timeSlotEnd, allProductResources }: { cartItems: CartItem[]; timeSlotStart: string; timeSlotEnd: string; allProductResources: ResourceItem[]; }): Record<string, number>; /** * 获取商品的资源ID列表 */ export declare function getResourcesIdsByProduct(product: any): number[]; /** * 检查特定时间段的容量是否足够 */ export declare function checkTimeSlotCapacity(timeSlotStart: string, timeSlotEnd: string, cartItems: CartItem[], allResources: ResourceItem[]): { success: boolean; required: number; available: number; };