diff --git a/src/api/aslan-game-king.js b/src/api/aslan-game-king.js new file mode 100644 index 0000000..8eaa092 --- /dev/null +++ b/src/api/aslan-game-king.js @@ -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 + }) +} diff --git a/src/api/aslan-gift-challenge.js b/src/api/aslan-gift-challenge.js new file mode 100644 index 0000000..ea51397 --- /dev/null +++ b/src/api/aslan-gift-challenge.js @@ -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 } + }) +} diff --git a/src/views/activity/game-king/index.vue b/src/views/activity/game-king/index.vue new file mode 100644 index 0000000..27f9268 --- /dev/null +++ b/src/views/activity/game-king/index.vue @@ -0,0 +1,1236 @@ + + + + + diff --git a/src/views/activity/gift-challenge/index.vue b/src/views/activity/gift-challenge/index.vue new file mode 100644 index 0000000..a5e28f7 --- /dev/null +++ b/src/views/activity/gift-challenge/index.vue @@ -0,0 +1,1287 @@ + + + + +