Files
order_site/apps/frontend/src/services/claim.ts
T
2026-04-13 21:48:23 +08:00

39 lines
1.2 KiB
TypeScript

import { apiDelete, apiGet, apiPost } from '@/lib/http'
import type { ClaimDetailData } from '@/types/claim'
import type { TencentLoginType } from '@/types/tencent/session'
export function fetchClaimDetail(token: string) {
return apiGet<ClaimDetailData>(`/api/v1/claim/${token}`)
}
export function createClaimSession(
token: string,
loginType: TencentLoginType,
options: { forceRecreate?: boolean } = {},
) {
return apiPost<ClaimDetailData>(`/api/v1/claim/${token}/session`, {
loginType,
forceRecreate: Boolean(options.forceRecreate),
})
}
export function fetchClaimSessionSummary(token: string) {
return apiGet<ClaimDetailData>(`/api/v1/claim/${token}/session/summary`)
}
export function refreshClaimSession(token: string) {
return apiPost<ClaimDetailData>(`/api/v1/claim/${token}/session/refresh`, {})
}
export function removeClaimSession(token: string) {
return apiDelete<ClaimDetailData>(`/api/v1/claim/${token}/session`)
}
export function confirmClaimRole(token: string) {
return apiPost<ClaimDetailData>(`/api/v1/claim/${token}/confirm-role`, { confirm: true })
}
export function redeemClaim(token: string) {
return apiPost<ClaimDetailData>(`/api/v1/claim/${token}/redeem`, {})
}