Files
Genarrative/src/services/big-fish-gallery/bigFishGalleryClient.ts
2026-04-27 22:50:18 +08:00

39 lines
976 B
TypeScript

import type { BigFishWorksResponse } from '../../../packages/shared/src/contracts/bigFishWorkSummary';
import { ApiClientError, type ApiRetryOptions, requestJson } from '../apiClient';
const BIG_FISH_GALLERY_API_BASE = '/api/runtime/big-fish/gallery';
const BIG_FISH_GALLERY_READ_RETRY: ApiRetryOptions = {
maxRetries: 1,
baseDelayMs: 120,
maxDelayMs: 360,
};
/**
* 读取大鱼吃小鱼公开广场列表。
*/
export async function listBigFishGallery() {
try {
return await requestJson<BigFishWorksResponse>(
BIG_FISH_GALLERY_API_BASE,
{
method: 'GET',
},
'读取大鱼吃小鱼广场失败',
{
retry: BIG_FISH_GALLERY_READ_RETRY,
skipAuth: true,
skipRefresh: true,
},
);
} catch (error) {
if (error instanceof ApiClientError && error.status === 404) {
return { items: [] };
}
throw error;
}
}
export const bigFishGalleryClient = {
list: listBigFishGallery,
};