2 lines
31 KiB
JavaScript
2 lines
31 KiB
JavaScript
|
|
"use strict";const e=require("../../common/vendor.js"),t=require("../../config/api.js"),s=require("../../utils/payment.js"),i=require("../../common/assets.js"),o={components:{PaymentModal:()=>"../../components/PaymentModal.js"},data:()=>({API_BASE:t.API_BASE,activeTab:"synthesize",loading:!1,message:{type:"",text:""},selectedFile:null,voiceDisplayName:"",voices:[],voiceTypeOptions:[{value:"CLONE",label:"克隆音色"},{value:"OFFICIAL",label:"官方音色(Flash/BigTTS)"}],selectedVoiceType:"CLONE",selectedVoiceTypeLabel:"克隆音色",selectedVoiceId:"",selectedVoiceName:"",selectedDialect:"",selectedLanguageHint:"",selectedLanguageHintLabel:"",selectedSupportsDialect:!1,selectedSupportsLanguageHints:!1,languageHintOptions:["中文(zh)","英文(en)","法语(fr)","德语(de)","日语(ja)","韩语(ko)","俄语(ru)"],dialectOptions:["广东话","东北话","甘肃话","贵州话","河南话","湖北话","江西话","闽南话","宁夏话","山西话","陕西话","山东话","上海话","四川话","天津话","云南话"],ttsText:"",ttsLoading:!1,audioUrl:null,templates:[],expandedCategory:"memorial",isRecording:!1,recorderManager:null,conversationVoiceId:"",conversationVoiceLabel:"",conversationDialect:"",conversationLanguageHint:"",conversationLanguageHintLabel:"",conversationVoiceType:"CLONE",conversationVoiceTypeLabel:"克隆音色",conversationSupportsDialect:!1,conversationSupportsLanguageHints:!1,recognizedText:"",aiResponse:"",conversationAudio:null,isProcessing:!1,memoryIdentity:"",memoryInfo:"",systemPrompt:"",audioFilePath:"",paymentModalData:{show:!1,serviceType:"",serviceName:"",serviceDesc:"",price:0,orderNo:"",paymentTips:"点击确认支付后将开始处理您的请求"},_paymentResolve:null,_paymentReject:null,_paymentOnSuccess:null,_paymentOnFailed:null}),computed:{apiBaseUrl(){return this.API_BASE},voicesOnly(){return(this.voices||[]).map((e=>({voice:e.voice,label:e.voice_name||e.voice,voice_type:e.voice_type,supportsDialect:e.supportsDialect,supportsLanguageHints:e.supportsLanguageHints})))},conversationDisplayVoices(){const e=(this.voices||[]).filter((e=>e&&(e.voice_type||"CLONE")===(this.conversationVoiceType||"CLONE")));if("OFFICIAL"!==(this.conversationVoiceType||"CLONE"))return e;const t=["Cherry","Kai","Mochi","Bunny"],i=["Cherry","Kai","Mochi","Bunny"],o=e.filter((e=>!(e&&t.includes(e.voice)))).map(((e,t)=>({v:e,idx:t}))).sort(((e,t)=>{const s=i.indexOf(e.v.voice),o=i.indexOf(t.v.voice),n=-1===s?999:s,a=-1===o?999:o;return n!==a?n-a:e.idx-t.idx})).map((e=>e.v));return s.mapOfficialVoiceDisplay(o)},displayVoices(){const e=(this.voices||[]).filter((e=>e&&(e.voice_type||"CLONE")===this.selectedVoiceType));if("OFFICIAL"!==(this.selectedVoiceType||"CLONE"))return e;const t=["Cherry","Kai","Mochi","Bunny"],i=["Cherry","Kai","Mochi","Bunny"],o=e.filter((e=>!(e&&t.includes(e.voice)))).map(((e,t)=>({v:e,idx:t}))).sort(((e,t)=>{const s=i.indexOf(e.v.voice),o=i.indexOf(t.v.voice),n=-1===s?999:s,a=-1===o?999:o;return n!==a?n-a:e.idx-t.idx})).map((e=>e.v));return s.mapOfficialVoiceDisplay(o)}},watch:{activeTab(e){this.conversationVoiceId="",this.conversationVoiceLabel="",this.conversationDialect="",this.conversationLanguageHint="",this.conversationLanguageHintLabel="",this.conversationSupportsDialect=!1,this.conversationSupportsLanguageHints=!1,"list"!==e&&"synthesize"!==e&&"conversation"!==e||this.loadVoices()}},onLoad(){this.useDefaultTemplates(),this.loadVoices(),this.loadTemplatesFromServer(),this.initRecorder()},onShow(){!this.checkLogin||!this.checkLogin()||this.voices&&0!==this.voices.length||this.loadVoices()},methods:{onVoiceTypeChange(e){const t=this.voiceTypeOptions[e.detail.value];this.selectedVoiceType=t?t.value:"CLONE",this.selectedVoiceTypeLabel=t?t.label:"克隆音色",this.selectedVoiceId="",this.selectedVoiceName="",this.selectedDialect="",this.selectedLanguageHint="",this.selectedLanguageHintLabel="",this.selectedSupportsDialect=!1,this.selectedSupportsLanguageHints=!1},onConversationVoiceTypeChange(e){const t=this.voiceTypeOptions[e.detail.value];this.conversationVoiceType=t?t.value:"
|