You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
import http from './index'
|
|
|
|
|
export const DailyMissionStatus = {
|
|
|
|
|
Pending: 0,
|
|
|
|
|
InProgress: 1,
|
|
|
|
|
Completed: 2,
|
|
|
|
|
Claimed: 3
|
|
|
|
|
} as const
|
|
|
|
|
export type DailyMissionStatus = typeof DailyMissionStatus[keyof typeof DailyMissionStatus]
|
|
|
|
|
export const RewardType = {
|
|
|
|
|
Pill: 1,
|
|
|
|
|
Equipment: 2,
|
|
|
|
|
Exp: 3,
|
|
|
|
|
Money: 4
|
|
|
|
|
} as const
|
|
|
|
|
export type RewardType = typeof RewardType[keyof typeof RewardType]
|
|
|
|
|
export interface MissionReward {
|
|
|
|
|
rewardType: RewardType
|
|
|
|
|
rewardTypeName: string
|
|
|
|
|
itemId: number
|
|
|
|
|
itemName: string
|
|
|
|
|
count: number
|
|
|
|
|
}
|
|
|
|
|
export interface DailyMission {
|
|
|
|
|
id: number
|
|
|
|
|
characterId: number
|
|
|
|
|
missionId: number
|
|
|
|
|
missionName: string
|
|
|
|
|
missionTitle: string
|
|
|
|
|
missionDescription: string
|
|
|
|
|
spendTimeMinutes: number
|
|
|
|
|
status: DailyMissionStatus
|
|
|
|
|
startTime?: string
|
|
|
|
|
endTime?: string
|
|
|
|
|
isFromYesterday: boolean
|
|
|
|
|
assignedDate: string
|
|
|
|
|
rewards: MissionReward[]
|
|
|
|
|
}
|
|
|
|
|
export const dailyMissionApi = {
|
|
|
|
|
getList: (): Promise<DailyMission[]> => {
|
|
|
|
|
return http.get('/dailyMission/list')
|
|
|
|
|
},
|
|
|
|
|
accept: (dailyMissionId: number): Promise<boolean> => {
|
|
|
|
|
return http.post(`/dailyMission/${dailyMissionId}/accept`)
|
|
|
|
|
},
|
|
|
|
|
claim: (dailyMissionId: number): Promise<boolean> => {
|
|
|
|
|
return http.post(`/dailyMission/${dailyMissionId}/claim`)
|
|
|
|
|
}
|
|
|
|
|
}
|