优化
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import { http, unwrapApiResponse, type ApiEnvelope } from '@/shared/api/http'
|
||||
|
||||
export type PdaApp = 'domestic' | 'overseas'
|
||||
export type PdaPackageType = 'apk' | 'wgt'
|
||||
export interface PdaRelease {
|
||||
id: string
|
||||
app: PdaApp
|
||||
appid: string
|
||||
packageType: PdaPackageType
|
||||
versionName: string
|
||||
versionCode: number
|
||||
minAppVersionCode: number
|
||||
mandatory: boolean
|
||||
releaseNotes: string
|
||||
status: 'DRAFT' | 'PUBLISHED' | 'WITHDRAWN'
|
||||
current: boolean
|
||||
sha256: string
|
||||
sizeBytes: number
|
||||
downloadUrl: string | null
|
||||
createdAt: string
|
||||
publishedAt: string | null
|
||||
}
|
||||
|
||||
const basePath = '/platform/v1/files/pda-releases'
|
||||
|
||||
export async function listPdaReleases(app: PdaApp) {
|
||||
const response = await http.get<ApiEnvelope<PdaRelease[]>, ApiEnvelope<PdaRelease[]>>(`${basePath}/${app}`)
|
||||
return unwrapApiResponse(response)
|
||||
}
|
||||
|
||||
export async function uploadPdaRelease(app: PdaApp, data: {
|
||||
packageType: PdaPackageType
|
||||
versionName: string
|
||||
versionCode: number
|
||||
minAppVersionCode: number
|
||||
mandatory: boolean
|
||||
releaseNotes: string
|
||||
file: File
|
||||
}) {
|
||||
const form = new FormData()
|
||||
form.append('packageType', data.packageType)
|
||||
form.append('versionName', data.versionName)
|
||||
form.append('versionCode', String(data.versionCode))
|
||||
form.append('minAppVersionCode', String(data.minAppVersionCode))
|
||||
form.append('mandatory', String(data.mandatory))
|
||||
form.append('releaseNotes', data.releaseNotes)
|
||||
form.append('file', data.file)
|
||||
const response = await http.post<ApiEnvelope<PdaRelease>, ApiEnvelope<PdaRelease>>(`${basePath}/${app}`, form, {
|
||||
timeout: 10 * 60 * 1000,
|
||||
})
|
||||
return unwrapApiResponse(response)
|
||||
}
|
||||
|
||||
export async function publishPdaRelease(id: string) {
|
||||
const response = await http.post<ApiEnvelope<PdaRelease>, ApiEnvelope<PdaRelease>>(
|
||||
`${basePath}/${encodeURIComponent(id)}/publish`, {},
|
||||
)
|
||||
return unwrapApiResponse(response)
|
||||
}
|
||||
|
||||
export async function withdrawPdaRelease(id: string) {
|
||||
const response = await http.post<ApiEnvelope<PdaRelease>, ApiEnvelope<PdaRelease>>(
|
||||
`${basePath}/${encodeURIComponent(id)}/withdraw`, {},
|
||||
)
|
||||
return unwrapApiResponse(response)
|
||||
}
|
||||
Reference in New Issue
Block a user