Files
YGChatCS/src/pages-aigc/detail/components/ResultPreview/index.vue
duanshuwen 38dbf7afc8 fix(aigc): correct generated media preview handling
update ResultPreview component to use proper image and video result URLs
refine isVideo detection logic across detail and shared work pages
add pointer-events none to preview elements to avoid blocking user interactions
standardize media URL usage between AIGC detail and shared work components
2026-07-16 21:24:38 +08:00

34 lines
891 B
Vue

<template>
<view class="result-preview" :style="{ '--result-accent': result.accent }">
<video
v-if="result.mediaType === 'video'"
class="result-preview-image"
:src="result.videoResultUrl"
:poster="result.imageResultUrl"
controls
object-fit="cover"
/>
<image v-else class="result-preview-image" :src="result.imageResultUrl" mode="aspectFill" />
<view class="result-preview-shade" />
<view class="result-preview-caption">
<text class="result-preview-badge">{{ result.variantLabel }}</text>
<text class="result-preview-title">{{ result.title }}</text>
<text class="result-preview-desc">{{ result.desc }}</text>
</view>
</view>
</template>
<script setup>
defineProps({
result: {
type: Object,
default: () => ({}),
},
});
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>