import type { ProjectSubmissionItem } from '@/types/project-submission' import { pickMediaUrl, resolveOssUrlMap } from '@/utils/resolve-oss-media' export async function resolveProjectSubmissionMedia(item: ProjectSubmissionItem) { const serviceIconIds = (item.serviceTypes ?? []).map(st => st.iconUrl) const urlMap = await resolveOssUrlMap([item.logoUrl, item.coverUrl, ...serviceIconIds]) const serviceIcons: Record = {} for (const st of item.serviceTypes ?? []) { if (!st.id) continue const url = pickMediaUrl(st.iconUrl, urlMap) if (url) serviceIcons[String(st.id)] = url } return { logoUrl: pickMediaUrl(item.logoUrl, urlMap) || pickMediaUrl(item.coverUrl, urlMap), coverUrl: pickMediaUrl(item.coverUrl, urlMap), serviceIcons, } }