import { ActivityDataResponseData, MissionInfo, MissionActivityVO, MissionTabType } from '../types/mission'; import { ProcessedActivityResult } from '../classes/ProcessedActivityResult'; import { MissionItem, MissionExecutionContext } from '../classes/MissionItem'; /** * 预处理后的Tab数据接口 */ export interface ProcessedTab { /** tab名称 */ tabName: string; /** tab备注 */ tabDesc: string; /** tab类型 */ tabType: MissionTabType; /** 预处理后的任务列表 */ missions: MissionItem[]; /** 总任务数 */ totalCount: number; /** 可领取任务数 */ claimableCount: number; /** 已完成任务数 */ completedCount: number; /** 是否有可领取的任务 */ hasClaimableMissions: boolean; } /** * 预处理后的活动数据接口 * @deprecated 使用 ProcessedActivityResult 类替代 - 保留用于向后兼容 */ export interface ProcessedActivityData { /** 任务活动信息 */ missionActivity: { /** 任务活动code */ missionActivityCode: string; /** 活动开始时间 */ activityStartTime: number; /** 活动结束时间 */ activityEndTime: number; /** 是否进行中 */ isActive: boolean; /** 剩余时间(毫秒) */ timeRemaining: number; /** 格式化的剩余时间 */ timeRemainingText: string; /** 预处理后的Tab列表 */ tabList: ProcessedTab[]; }; /** 奖励活动信息 */ awardActivity: { /** 兑换活动code */ activityCode: string; /** 活动开始时间 */ startTime: number; /** 活动结束时间 */ endTime: number; /** 是否进行中 */ isActive: boolean; /** 可兑换奖品数 */ availablePrizesCount: number; /** 奖品列表 */ items: any[]; }; /** 用户信息 */ userInfo: { /** 用户积分数 */ points: number; /** 积分图标 */ pointsIcon: string; /** 是否有可领取任务 */ hasClaimableMissions: boolean; /** 用户昵称 */ nickname: string; /** 用户头像 */ avatar: string; /** 用户ID */ blogId?: number; }; } /** * 任务处理器类 */ export declare class MissionProcessor { /** * 处理单个任务信息,返回 MissionItem 实例 * @param mission 任务信息 * @param activityCode 活动code * @param missionActivityCode 任务活动code */ static processMission(mission: MissionInfo, activityCode: string, missionActivityCode: string): MissionItem; /** * 处理Tab数据 * @param tab Tab数据 * @param activityCode 活动code * @param missionActivityCode 任务活动code */ static processTab(tab: MissionActivityVO['tabList'][0], activityCode: string, missionActivityCode: string): ProcessedTab; /** * 处理完整的活动数据(新版本 - 返回类实例) */ static processActivityData(data: ActivityDataResponseData): ProcessedActivityResult; /** * 根据showMissionType执行不同的任务逻辑 * @deprecated 建议直接使用 MissionItem.executeTask() 方法 * @param context 执行上下文 * @param showMissionType 显示任务类型 */ static executeByShowMissionType(context: MissionExecutionContext, showMissionType: number): Promise; } //# sourceMappingURL=mission-processor.d.ts.map