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