/** * taskService API 调用封装 * 所有 API 通过 gateway 路由到 taskService (Triple/HTTP) * baseURL 已配置在 api.js 中指向 gateway (端口 8080) */ import { request } from './api.js' /** * 获取每日任务列表 * @param {number} starId - 明星ID * @returns {Promise} */ export const getDailyTasks = (starId) => request({ url: '/api/v1/tasks/daily', data: { star_id: starId } }) /** * 上报任务事件 * @param {string} eventType - 事件类型(如 daily_login, daily_browse_asset) * @param {number} starId - 明星ID * @returns {Promise} */ export const reportEvent = (eventType, starId) => request({ url: '/api/v1/tasks/report-event', method: 'POST', data: { event_type: eventType, star_id: starId } }) /** * 领取单个每日任务奖励 * @param {string} taskKey - 任务key * @param {number} starId - 明星ID * @returns {Promise} */ export const claimDailyTask = (taskKey, starId) => request({ url: '/api/v1/tasks/daily/claim', method: 'POST', data: { task_key: taskKey, star_id: starId } }) /** * 一键领取所有已完成每日任务 * @param {number} starId - 明星ID * @returns {Promise} */ export const claimAllDailyTasks = (starId) => request({ url: `/api/v1/tasks/daily/claim-all?star_id=${starId}`, method: 'POST' }) /** * 完成引导步骤 * @param {string} taskKey - 引导任务key(如 square_home, profile_edit) * @returns {Promise} */ export const completeGuide = (taskKey) => request({ url: '/api/v1/tasks/guide/complete', method: 'POST', data: { task_key: taskKey } }) /** * 获取引导状态 * @returns {Promise} */ export const getOnboardingStatus = () => request({ url: '/api/v1/tasks/onboarding/status' }) /** * 进入下一阶段 * @param {number} targetStage - 目标阶段 * @returns {Promise} */ export const advanceStage = (targetStage) => request({ url: '/api/v1/tasks/onboarding/advance-stage', method: 'POST', data: { target_stage: targetStage } }) /** * 领取引导阶段奖励 * @param {number} stage - 阶段号 * @returns {Promise} */ export const claimOnboardingReward = (stage) => request({ url: '/api/v1/tasks/onboarding/claim-reward', method: 'POST', data: { stage } }) /** * 获取展示收益列表 * @param {number} starId - 明星ID * @param {string} status - 状态筛选(claimable/claimed),可选 * @param {number} page - 页码 * @param {number} pageSize - 每页条数 * @returns {Promise} */ export const getExhibitionRevenue = (starId, status, page, pageSize) => request({ url: '/api/v1/tasks/exhibition-revenue', data: { star_id: starId, status, page, page_size: pageSize } }) /** * 领取单个展示收益 * @param {number} revenueId - 收益记录ID * @param {number} starId - 明星ID * @returns {Promise} */ export const claimExhibitionRevenue = (revenueId, starId) => request({ url: '/api/v1/tasks/exhibition-revenue/claim', method: 'POST', data: { revenue_id: revenueId, star_id: starId } }) /** * 一键领取所有可领取展示收益 * @param {number} starId - 明星ID * @returns {Promise} */ export const claimAllExhibitionRevenue = (starId) => request({ url: '/api/v1/tasks/exhibition-revenue/claim-all', method: 'POST', data: { star_id: starId } })