import { APP_SEASON_PASS_INFO, APP_SEASON_PASS_PRIZE_CLAIM, APP_SEASON_PASS_TASKS_CLAIM, } from '../../api'; import { success } from '@scripts/api/ApiHelper'; import { ApiEnvelope, Http } from '../../request'; import { AppKernel } from '@scripts/app/AppKernel'; class SeasonPassStore { private _seasonPassData = {}; public get seasonPassData() { return this._seasonPassData; } async reqSeasonPassInfo() { const res = await Http.call(APP_SEASON_PASS_INFO); if (success(res)) { this._seasonPassData = res.data; AppKernel.events.emit('seasonPass:update'); return true; } return false; } async reqSeasonPassTasksClaim(task_id: number) { const params = { task_id, } const res = await Http.call(APP_SEASON_PASS_TASKS_CLAIM, params); if (success(res)) { this.reqSeasonPassInfo(); return true; } return false; } async reqSeasonPassPrizeClaim(reward_id: number) { const params = { reward_id, } const res = await Http.call(APP_SEASON_PASS_PRIZE_CLAIM, params); if (success(res)) { this.reqSeasonPassInfo(); return true; } return false; } clear() { this._seasonPassData = null; } } export const seasonPassStore = new SeasonPassStore();