2 lines
3.0 KiB
JavaScript
2 lines
3.0 KiB
JavaScript
"use strict";const e=require("../common/vendor.js"),o=require("../config/api.js"),t={props:{show:{type:Boolean,default:!1}},data:()=>({loading:!1,videos:[],selectedVideoId:"",selectedVideo:null}),watch:{show(e){e&&this.loadVideos()}},methods:{isVideoUsableForCall(e){if(!e)return!1;const o=e.edited_video_url||e.videoUrl||e.local_video_path||e.video_url||e.localVideoPath,t=e.voice_id||e.voiceId;return!!o&&!!t},async loadVideos(){this.loading=!0;const t=e.index.getStorageSync("userId")||"",i=e.index.getStorageSync("token")||"",d=d=>new Promise((a=>{d?e.index.request({url:`${d}/api/photo-revival/videos`,method:"GET",timeout:o.API_TIMEOUT,header:{"X-User-Id":t,Authorization:i?`Bearer ${i}`:""},success:e=>{a({ok:!0,baseUrl:d,res:e})},fail:e=>{a({ok:!1,baseUrl:d,err:e})}}):a({ok:!1,baseUrl:d,err:{errMsg:"invalid url"}})})),a=await d(o.API_BASE);let s=a;if(!a.ok&&o.API_CONFIG&&o.API_CONFIG.development&&o.API_CONFIG.development.baseURL){const e=o.API_CONFIG.development.baseURL;s=await d(e)}if(!s.ok)return console.error("[VideoSelectModal] 加载视频列表失败:",s.err),e.index.showToast({title:s.err&&s.err.errMsg?s.err.errMsg:"加载失败",icon:"none"}),this.videos=[],void(this.loading=!1);const r=s.res;if(200===r.statusCode){let e=[];return Array.isArray(r.data)?e=r.data:r.data&&Array.isArray(r.data.data)?e=r.data.data:r.data&&r.data.videos&&Array.isArray(r.data.videos)&&(e=r.data.videos),this.videos=(e||[]).filter((e=>this.isVideoUsableForCall(e))),void(this.loading=!1)}e.index.showToast({title:`加载失败(HTTP ${r.statusCode})`,icon:"none"}),this.videos=[],this.loading=!1},selectVideo(e){this.selectedVideoId=e.id,this.selectedVideo=e},handleConfirm(){this.selectedVideo?(this.$emit("confirm",this.selectedVideo),this.handleClose()):e.index.showToast({title:"请选择视频",icon:"none"})},handleClose(){this.selectedVideoId="",this.selectedVideo=null,this.$emit("close")},goToRevival(){this.handleClose(),e.index.navigateTo({url:"/pages/revival/revival-original"})},formatTime(e){if(!e)return"";const o=new Date(e);return`${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")} ${String(o.getHours()).padStart(2,"0")}:${String(o.getMinutes()).padStart(2,"0")}`}}};const i=e._export_sfc(t,[["render",function(o,t,i,d,a,s){return e.e({a:i.show},i.show?e.e({b:e.o(((...e)=>s.handleClose&&s.handleClose(...e))),c:a.loading},a.loading?{}:a.videos.length>0?{e:e.f(a.videos,((o,t,i)=>e.e({a:o.photo_url},o.photo_url?{b:o.photo_url}:{},{c:a.selectedVideoId===o.id},(a.selectedVideoId,o.id,{}),{d:e.t(o.name||"复活视频"),e:e.t(o.text||"暂无描述"),f:e.t(s.formatTime(o.create_time)),g:o.id,h:e.n(a.selectedVideoId===o.id?"selected":""),i:e.o((e=>s.selectVideo(o)),o.id)})))}:{f:e.o(((...e)=>s.goToRevival&&s.goToRevival(...e)))},{d:a.videos.length>0,g:e.o(((...e)=>s.handleClose&&s.handleClose(...e))),h:!a.selectedVideoId,i:e.o(((...e)=>s.handleConfirm&&s.handleConfirm(...e))),j:e.o((()=>{})),k:e.o(((...e)=>s.handleClose&&s.handleClose(...e)))}):{})}],["__scopeId","data-v-37762882"]]);wx.createComponent(i);
|