Files
AIGC/demo/deploy_baota/frontend/static/VideoDetail-edda2900.js

2 lines
7.2 KiB
JavaScript
Raw Normal View History

import{_ as G,a as J}from"./index-9349eeb8.js";import{_ as Q}from"./avatar-default-20a1956c.js";import{aB as Y,aA as H,r as v,m as K,U as Z,al as T,z as _,A as w,B as e,R as a,J as i,u,P as d,O as I,Q as ee,I as R,E as te}from"./vue-vendor-164775a6.js";import{E as b,a as se,u as p,f as ae,A as oe,C as le,b as ne}from"./element-plus-83a396df.js";import{a as ie}from"./userWorks-2a8111e1.js";import"./utils-edfcd65b.js";const re={class:"video-detail-page"},ce={class:"sidebar"},de={class:"nav-menu"},ue={class:"nav-item active"},ve={class:"main-content"},_e={key:0,class:"loading-container"},pe={key:1,class:"error-container"},me={class:"video-player-section"},fe={class:"video-container"},ge=["src","poster"],be={class:"video-controls"},ye={class:"control-left"},ke={class:"progress-container"},he={class:"time-display"},Te={class:"control-right"},we={class:"video-actions"},De={class:"detail-sidebar"},Ee={class:"sidebar-header"},Ce={class:"user-info"},Ve={class:"username"},Be={class:"description-section"},Se={class:"description-text"},xe={class:"metadata-section"},Pe={class:"metadata-item"},Ue={class:"value"},Ie={class:"metadata-item"},Re={class:"value"},Ae={class:"metadata-item"},Le={class:"value"},Oe={class:"metadata-item"},ze={class:"value"},Me={class:"metadata-item"},Ne={class:"value"},Fe={class:"metadata-item"},We={class:"value"},Xe={__name:"VideoDetail",setup(je){const A=Y(),y=H(),n=v(null),m=v(!1),D=v(0),k=v(0),E=v(0),h=v(!0),f=v(null),r=v({id:"",username:"",title:"",description:"",createTime:"",duration:"",resolution:"",category:"",aspectRatio:"",videoUrl:"",cover:""}),C=o=>o?o.startsWith("http://")||o.startsWith("https://")||o.startsWith("/")?o:"/"+o:null,V=async()=>{var t,l;const o=A.params.id;if(!o){f.value="缺少视频ID",h.value=!1,b.error("缺少视频ID");return}try{h.value=!0;const c=await ie(o);if(c.data.success){const s=c.data.data,g=C(s.resultUrl),U=C(s.thumbnailUrl);r.value={id:((t=s.id)==null?void 0:t.toString())||"",username:s.username||((l=s.user)==null?void 0:l.username)||"未知用户",title:s.title||s.prompt||"未命名作品",description:s.prompt||s.description||"暂无提示词",createTime:s.createdAt?new Date(s.createdAt).toLocaleString("zh-CN"):"",date:s.createdAt?new Date(s.createdAt).toLocaleDateString("zh-CN"):"",duration:s.duration||s.videoDuration||s.length||5,resolution:s.quality||s.resolution||"1080p",category:s.workType==="TEXT_TO_VIDEO"?"文生视频":s.workType==="IMAGE_TO_VIDEO"?"图生视频":s.workType==="STORYBOARD_VIDEO"?"分镜视频":"未知",aspectRatio:s.aspectRatio||s.ratio||s.aspect||"16:9",videoUrl:g||U||"/images/backgrounds/welcome.jpg",cover:U||g||"/images/backgrounds/welcome.jpg"},f.value=null}else throw new Error(c.data.message||"获取作品详情失败")}catch(c){console.error("加载视频数据失败:",c),f.value=c.message||"加载作品详情失败",b.error("加载作品详情失败: "+(c.message||"未知错误"))}finally{h.value=!1}},L=()=>{n.value&&(m.value?n.value.pause():n.value.play())},O=()=>{k.value=n.value.duration},z=()=>{D.value=n.value.currentTime,E.value=D.value/k.value*100},M=()=>{m.value=!1},N=o=>{if(!n.value)return;const t=o.currentTarget.getBoundingClientRect(),s=(o.clientX-t.left)/t.width*k.value;n.value.currentTime=s},B=o=>{const t=Math.floor(o/60),l=Math.floor(o%60);return`${t.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`},F=()=>{n.value&&(document.fullscreenElement?document.exitFullscreen():n.value.requestFullscreen())},W=()=>{b.success("开始下载视频")},X=async()=>{try{await se.confirm("确定删除这个视频吗?","删除确认",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"}),b.success("视频已删除"),y.back()}catch{}},j=()=>{b.info("跳转到文生视频创作页面")},q=()=>{y.push("/profile")},$=()=>{y.push("/subscription")},S=()=>{y.back()},x=()=>{m.value=!0},P=()=>{m.value=!1};return K(async()=>{await V(),n.value&&(n.value.addEventListener("play",x),n.value.addEventListener("pause",P))}),Z(()=>{n.value&&(n.value.removeEventListener("play",x),n.value.removeEventListener("pause",P))}),(o,t)=>{cons