feat: enforce asset watermark preview flow

This commit is contained in:
Codex
2026-06-30 00:16:57 +08:00
parent 3d10497ea8
commit 3905e3cb77
9 changed files with 232 additions and 21 deletions

View File

@@ -137,6 +137,13 @@ export interface AssetWatermarkContext {
renderHint: string;
}
export interface SignedAssetLink {
url?: string;
expiresAt?: string | null;
expiresInSec?: number | null;
signatureMode?: string | null;
}
export async function loadRegions() {
return apiRequest<{ items?: RegionItem[] }>('/api/catalog/regions');
}
@@ -204,9 +211,9 @@ export async function loadContentAssets(query: { entryId?: string; contentNodeId
}
export async function signAssetPreview(assetId: string) {
return apiRequest<{ preview?: { url?: string }; item?: ContentAsset; watermark?: AssetWatermarkContext }>('/api/catalog/assets/preview', { query: { assetId } });
return apiRequest<{ preview?: SignedAssetLink; item?: ContentAsset; watermark?: AssetWatermarkContext }>('/api/catalog/assets/preview', { query: { assetId } });
}
export async function signAssetDownload(assetId: string) {
return apiRequest<{ download?: { url?: string }; item?: ContentAsset; watermark?: AssetWatermarkContext }>('/api/catalog/assets/download', { query: { assetId } });
return apiRequest<{ download?: SignedAssetLink; item?: ContentAsset; watermark?: AssetWatermarkContext }>('/api/catalog/assets/download', { query: { assetId } });
}