feat:首页和案例库功能

This commit is contained in:
李伊帆
2026-09-21 15:41:52 +08:00
parent 24d001e0f5
commit b0a711f70a
35 changed files with 1201 additions and 354 deletions

View File

@@ -0,0 +1,22 @@
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<string, string> = {}
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,
}
}