feat:首页和案例库功能
This commit is contained in:
22
src/utils/resolve-project-submission-media.ts
Normal file
22
src/utils/resolve-project-submission-media.ts
Normal 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,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user