UNPKG

@lofter-mission/core

Version:

任务体系逻辑SDK - 提供活动数据获取、任务数据预处理和二次包装功能

125 lines 3.17 kB
import { PrizeItem, PrizeType, PrizeUserStatus } from '../types/mission'; /** * 奖励活动类 * 封装奖励活动相关的数据和操作方法 */ export declare class AwardActivity { /** 兑换活动code */ readonly activityCode: string; /** 活动开始时间 */ readonly startTime: number; /** 活动结束时间 */ readonly endTime: number; /** 是否进行中 */ readonly isActive: boolean; /** 可兑换奖品数 */ readonly availablePrizesCount: number; /** 奖品列表 */ readonly items: PrizeItem[]; constructor(data: { activityCode: string; startTime: number; endTime: number; isActive: boolean; availablePrizesCount: number; items: PrizeItem[]; }); /** * 获取可兑换的奖品列表 */ getAvailablePrizes(): PrizeItem[]; convertPrize({ prizeCode, prizeActivityCode, step, ...otherCustomParams }: { prizeCode: string; prizeActivityCode: string; step?: number; [key: string]: any; }): Promise<any>; /** * 获取不可兑换的奖品列表 抢光了或者已兑换 */ getUnavailablePrizes(): PrizeItem[]; /** * 按奖品类型获取奖品列表 */ getPrizesByType(type: PrizeType): PrizeItem[]; /** * 获取积分类奖品 */ getPointsPrizes(): PrizeItem[]; /** * 获取实物奖品 */ getGoodsPrizes(): PrizeItem[]; /** * 获取虚拟奖品 */ getVirtualPrizes(): PrizeItem[]; /** * 获取抽奖券奖品 */ getLotteryPrizes(): PrizeItem[]; /** * 获取皮肤奖品 */ getSkinPrizes(): PrizeItem[]; /** * 获取头像框奖品 */ getAvatarBoxPrizes(): PrizeItem[]; /** * 获取抽奖装扮奖品 */ getSlotDressingPrizes(): PrizeItem[]; /** * 获取定时抽奖奖品 */ getSlotScheduledPrizes(): PrizeItem[]; /** * 按用户状态获取奖品列表 */ getPrizesByUserStatus(status: PrizeUserStatus): PrizeItem[]; /** * 根据奖品code查找奖品 */ getPrizeByCode(itemCode: string): PrizeItem | undefined; /** * 检查用户是否可以兑换指定奖品 */ canRedeemPrize(itemCode: string): boolean; /** * 获取奖品总数 */ getTotalPrizeCount(): number; /** * 获取已达到兑换上限的奖品数 */ getMaxedOutPrizeCount(): number; /** * 获取活动剩余时间(毫秒) */ getTimeRemaining(): number; /** 判断活动未开始 */ isNotStarted(): boolean; /** 判断活动是否结束 */ isEnded(): boolean; /** * 格式化活动剩余时间 */ getTimeRemainingText(): string; /** * 检查是否有可用奖品 */ hasAvailablePrizes(): boolean; /** * 转换为JSON对象 */ toJSON(): { activityCode: string; startTime: number; endTime: number; isActive: boolean; availablePrizesCount: number; items: PrizeItem[]; }; } //# sourceMappingURL=AwardActivity.d.ts.map