feat: add Aslan activity management pages

This commit is contained in:
zhx 2026-07-18 11:17:59 +08:00
parent 03cf7a5b9f
commit fdd71e3319
4 changed files with 2738 additions and 0 deletions

116
src/api/aslan-game-king.js Normal file
View File

@ -0,0 +1,116 @@
import request from '@/utils/request'
// Aslan 游戏王使用独立接口,避免与旧版赛事制 /activity/game/king 的页面契约混用。
const baseUrl = '/activity/game-king'
export function listAslanGameKingActivities() {
return request({
url: `${baseUrl}/list`,
method: 'get'
})
}
export function getAslanGameKingDetail(id) {
return request({
url: `${baseUrl}/detail/${id}`,
method: 'get'
})
}
export function saveAslanGameKingActivity(data) {
return request({
url: `${baseUrl}/save`,
method: 'post',
data
})
}
export function setAslanGameKingEnabled(id, enabled) {
return request({
url: `${baseUrl}/enable/${id}`,
method: 'put',
params: { enabled }
})
}
export function listAslanGameKingPrizes(id) {
return request({
url: `${baseUrl}/prizes/${id}`,
method: 'get'
})
}
export function saveAslanGameKingPrizes(id, prizes) {
return request({
url: `${baseUrl}/prizes/${id}`,
method: 'put',
data: { activityId: id, prizes }
})
}
export function listAslanGameKingRankRewards(id) {
return request({
url: `${baseUrl}/rank-rewards/${id}`,
method: 'get'
})
}
export function saveAslanGameKingRankRewards(id, rankRewards) {
return request({
url: `${baseUrl}/rank-rewards/${id}`,
method: 'put',
data: { activityId: id, rankRewards }
})
}
export function listAslanGameKingSettlementRecords(id) {
return request({
url: `${baseUrl}/settlement-records/${id}`,
method: 'get'
})
}
export function listAslanGameKingDrawRecords(id, params) {
return request({
url: `${baseUrl}/draw-records/${id}`,
method: 'get',
params
})
}
export function retryAslanGameKingDraw(recordId) {
return request({
url: `${baseUrl}/draw/retry/${recordId}`,
method: 'post'
})
}
export function resolveAslanGameKingUnknownDeliveryItem(itemId, delivered) {
return request({
url: `${baseUrl}/delivery-item/resolve/${itemId}`,
method: 'post',
params: { delivered }
})
}
export function settleAslanGameKingActivity(id) {
return request({
url: `${baseUrl}/settlement/${id}`,
method: 'post'
})
}
export function retryAslanGameKingSettlement(recordId) {
return request({
url: `${baseUrl}/settlement/retry/${recordId}`,
method: 'post'
})
}
export function backfillAslanGameKingConsumption(id, params) {
return request({
url: `${baseUrl}/backfill/${id}`,
method: 'post',
params
})
}

View File

@ -0,0 +1,99 @@
import request from '@/utils/request'
// 礼物挑战拥有独立管理契约,不能复用 Game King 的抽奖、奖池或单一总榜语义。
const baseUrl = '/activity/gift-challenge'
export function listAslanGiftChallengeActivities() {
return request({
url: `${baseUrl}/list`,
method: 'get'
})
}
export function getAslanGiftChallengeDetail(id) {
return request({
url: `${baseUrl}/detail/${id}`,
method: 'get'
})
}
export function saveAslanGiftChallengeActivity(data) {
return request({
url: `${baseUrl}/save`,
method: 'post',
data
})
}
export function setAslanGiftChallengeEnabled(id, enabled) {
return request({
url: `${baseUrl}/enable/${id}`,
method: 'put',
params: { enabled }
})
}
export function listAslanGiftChallengeTasks(id) {
return request({
url: `${baseUrl}/tasks/${id}`,
method: 'get'
})
}
export function saveAslanGiftChallengeTasks(id, tasks) {
return request({
url: `${baseUrl}/tasks/${id}`,
method: 'put',
data: { activityId: id, tasks }
})
}
export function listAslanGiftChallengeRankRewards(id) {
return request({
url: `${baseUrl}/rank-rewards/${id}`,
method: 'get'
})
}
export function saveAslanGiftChallengeRankRewards(id, rankRewards) {
return request({
url: `${baseUrl}/rank-rewards/${id}`,
method: 'put',
data: { activityId: id, rankRewards }
})
}
export function getAslanGiftChallengeRanking(id, params) {
return request({
url: `${baseUrl}/ranking/${id}`,
method: 'get',
params
})
}
export function listAslanGiftChallengeSettlementRecords(id, params) {
return request({
url: `${baseUrl}/settlement-records/${id}`,
method: 'get',
params
})
}
export function settleAslanGiftChallengeActivity(id, period, statDate) {
return request({
url: `${baseUrl}/settlement/${id}`,
method: 'post',
params: {
period,
statDate: statDate || undefined
}
})
}
export function resolveAslanGiftChallengeUnknownDeliveryItem(itemId, delivered) {
return request({
url: `${baseUrl}/delivery-item/resolve/${itemId}`,
method: 'post',
params: { delivered }
})
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff