2 lines
25 KiB
JavaScript
2 lines
25 KiB
JavaScript
|
|
"use strict";const e=require("../../common/vendor.js"),o=require("../../config/api.js"),t=require("../../utils/payment.js"),i={components:{PaymentModal:()=>"../../components/PaymentModal.js"},data:()=>({API_BASE:o.API_BASE,photoFile:null,photoPreview:"",modelOptions:[{value:"veo",label:"Veo",hint:"需要音色,生成说话人视频",disabled:!1,maintenanceMsg:""},{value:"volcengine",label:"火山引擎",hint:"需要音色,生成说话人视频",disabled:!1,maintenanceMsg:""}],selectedModel:"veo",selectedModelName:"Veo",modelHint:"需要音色,生成说话人视频",voices:[],voiceTypeOptions:[{value:"CLONE",label:"克隆音色"},{value:"OFFICIAL",label:"官方音色(Flash)"}],selectedVoiceType:"CLONE",selectedVoiceTypeLabel:"克隆音色",selectedVoiceId:"",selectedVoiceName:"",selectedDialect:"",selectedLanguageHint:"",selectedLanguageHintLabel:"",selectedSupportsDialect:!1,selectedSupportsLanguageHints:!1,languageHintOptions:["中文(zh)","英文(en)","法语(fr)","德语(de)","日语(ja)","韩语(ko)","俄语(ru)"],dialectOptions:["广东话","东北话","甘肃话","贵州话","河南话","湖北话","江西话","闽南话","宁夏话","山西话","陕西话","山东话","上海话","四川话","天津话","云南话"],videoTitle:"",text:"",showHelpModal:!1,loading:!1,loadingText:"",progress:[],videoUrl:"",audioUrl:"",localVideoPath:"",localAudioPath:"",isPlaying:!1,videoRetried:!1,paymentModalData:{show:!1,serviceType:"",serviceName:"",serviceDesc:"",price:0,orderNo:"",paymentTips:"点击确认支付后将开始生成视频"},_paymentResolve:null,_paymentReject:null,_paymentOnSuccess:null,_paymentOnFailed:null}),computed:{displayVoices(){const e=(this.voices||[]).filter((e=>e&&(e.voice_type||"CLONE")===this.selectedVoiceType));if("OFFICIAL"!==(this.selectedVoiceType||"CLONE"))return e;const o={"湾区大叔":"台湾","台湾小何":"台湾","双节棍小哥":"台湾","广州德哥":"广州","浩宇小哥":"大陆"};return e.map((e=>{const t=e&&e.voice_name?String(e.voice_name):"",i=t&&o[t]?o[t]:"";return i?{...e,voice_name:`${i}-${t}`}:e}))},canGenerate(){const e=this.modelOptions.find((e=>e.value===this.selectedModel));return(!e||!e.disabled)&&(this.photoFile&&this.videoTitle&&this.text&&this.selectedVoiceId)}},onLoad(){this.loadVoices(),this.loadModelStatus()},methods:{onVoiceTypeChange(e){const o=this.voiceTypeOptions[e.detail.value];this.selectedVoiceType=o?o.value:"CLONE",this.selectedVoiceTypeLabel=o?o.label:"克隆音色",this.selectedVoiceId="",this.selectedVoiceName="",this.selectedDialect="",this.selectedLanguageHint="",this.selectedLanguageHintLabel="",this.selectedSupportsDialect=!1,this.selectedSupportsLanguageHints=!1},showVoiceHelp(){this.showHelpModal=!0},goToUpload(){this.showHelpModal=!1,e.index.navigateTo({url:"/pages/upload-audio/upload-audio"})},getCurrentModelMaintenanceMsg(){const e=this.modelOptions.find((e=>e.value===this.selectedModel));return e&&e.disabled?e.maintenanceMsg:""},onModelChange(e){const o=e.detail.value,t=this.modelOptions[o];this.selectedModel=t.value,this.selectedModelName=t.label,this.modelHint=t.hint,console.log("[Revival] 选择模型:",this.selectedModel)},choosePhoto(){e.index.chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:e=>{this.photoFile={path:e.tempFilePaths[0],name:"photo.jpg"},this.photoPreview=e.tempFilePaths[0]},fail:o=>{e.index.showToast({title:"选择照片失败",icon:"none"})}})},chooseAudio(){},chooseAudioFileFromSystem(){},copyContentUriToLocalForAudio(e,o){},async startRecordAudio(){},loadModelStatus(){console.log("[Revival] 开始加载模型状态..."),e.index.request({url:`${this.API_BASE}/api/system/model-status`,method:"GET",success:e=>{if(console.log("[Revival] 模型状态响应:",e),200===e.statusCode&&e.data&&e.data.success){const o=e.data.data;if("true"===o.veo_disabled){const e=this.modelOptions.find((e=>"veo"===e.value));e&&(e.disabled=!0,e.maintenanceMsg=o.veo_message||"官方接口参数更新,正在处理中,暂不可用")}if("true"===o.volcengine_disabled){const e=this.modelOptions.find((
|