Browse Source
- BagService 添加 AddItemToBagWithMissionProgress 方法 - 添加物品到背包时自动更新收集任务进度 - 新增 useMissionProgress composable 供手动更新进度 - 前端 API 支持 withMissionProgress 参数master
4 changed files with 96 additions and 1 deletions
@ -0,0 +1,42 @@ |
|||
import { dailyMissionApi, ProgressTargetType } from '@/api/dailyMission' |
|||
|
|||
export const useMissionProgress = () => { |
|||
const updateProgress = async ( |
|||
progressType: ProgressTargetType, |
|||
itemId: number | null = null, |
|||
itemName: string | null = null, |
|||
count: number = 1 |
|||
) => { |
|||
try { |
|||
const result = await dailyMissionApi.updateProgress(progressType, itemId, itemName, count) |
|||
return result |
|||
} catch (error) { |
|||
console.error('更新任务进度失败:', error) |
|||
return null |
|||
} |
|||
} |
|||
|
|||
const onCollectItem = async (itemId: number, itemName: string, count: number = 1) => { |
|||
return updateProgress(ProgressTargetType.CollectItem, itemId, itemName, count) |
|||
} |
|||
|
|||
const onKillMonster = async (monsterId: number, monsterName: string, count: number = 1) => { |
|||
return updateProgress(ProgressTargetType.KillMonster, monsterId, monsterName, count) |
|||
} |
|||
|
|||
const onFish = async (count: number = 1) => { |
|||
return updateProgress(ProgressTargetType.Fish, null, '钓鱼', count) |
|||
} |
|||
|
|||
const onConsumeItem = async (itemId: number, itemName: string, count: number = 1) => { |
|||
return updateProgress(ProgressTargetType.ConsumeItem, itemId, itemName, count) |
|||
} |
|||
|
|||
return { |
|||
updateProgress, |
|||
onCollectItem, |
|||
onKillMonster, |
|||
onFish, |
|||
onConsumeItem |
|||
} |
|||
} |
|||
Loading…
Reference in new issue