@tencentcloud/ai-desk-customer-wechat
Version:
AI Desk customer UIKit for wechat mini program
3 lines (2 loc) • 4.67 kB
JavaScript
;const e=require("../../../../common/vendor.js"),L=require("../../../adapter-vue.js"),n=require("../../../@aidesk/uikit-engine/index.js"),o=require("../../../../common/assets.js"),N=require("../../common/Toast/index-uniapp.js"),y=require("../../../utils/utils.js"),a=require("../../../utils/env.js"),V=require("../../../utils/state.js"),R=require("../../../utils/logger.js"),F=require("../../common/Toast/type.js");Math||K();const K=()=>"../../common/Icon.js",G=e.defineComponent({__name:"message-input-audio-h5",props:{isInAudioMode:{type:Boolean,default:!1}},emits:["changeDisplayType"],setup(x,{emit:$}){const{ref:r,onMounted:b,onUnmounted:B,watch:A}=L.vue,M=$,f=x;let h,k=-1,C=!1;const l=r(null),d=r(0);let I=0;const c=r(!1),p=r(n.jt.t("TUIChat.按住说话")),T=r(n.jt.t("TUIChat.正在录音")),q=r(!1),g=r(""),s=r(!1),E=r(n.jt.t("TUIChat.松开发送"));function U(){M("changeDisplayType",f.isInAudioMode?"editor":"audio")}b(()=>{l.value=new e.Recorder({sampleBits:16,sampleRate:44100,numChannels:1,compiling:!1}),n.Kt.watch(n.a.CONV,{currentConversationID:w})}),B(()=>{n.Kt.unwatch(n.a.CONV,{currentConversationID:w}),l.value&&l.value.destroy().then(function(){l.value=null})}),A(d,t=>{if(t>=50&&t<60){let i="";const u=V.state.get("currentLanguage");u==="zh"||u==="zh_tw"||u==="ja"?i=`${10-t}${n.jt.t("TUIChat.录音结束提醒")}`:i=`${n.jt.t("TUIChat.录音结束提醒")} ${10-t}s`,E.value=i}else t>=60&&D()});const S=()=>{c.value||(I=Date.now(),c.value=!0,s.value=!1,e.Recorder.getPermission().then(async()=>{c.value&&(h!==void 0&&v(),l.value.start().then(()=>{h=setInterval(()=>{d.value=d.value+1},1e3)},t=>{R.Log.e(`Error in recording ${t.name} : ${t.message}`);let i="";t.name==="NotAllowedError"?i=n.jt.t("TUIChat.请检查麦克风访问权限"):i=`${t.name} : ${t.message}`,c.value=!1,v(),m(i)}))},t=>{R.Log.e(`Error in mic permission ${t.name} : ${t.message}`),c.value=!1,v(),m(n.jt.t("TUIChat.请检查麦克风访问权限"))}))},D=async()=>{c.value=!1,s.value=!1;const t=d.value;if(v(),Date.now()-I<1e3)m(n.jt.t("TUIChat.按压时间过短,请按压超过1秒"));else if(!s.value&&t&&t<=60){let u=l.value.getWAVBlob(),_=new File([u],`ai_desk_customer_uniapp_${Date.now()}.wav`,{type:"wav"});if(_.duration=t*1e3,_&&t<=60)try{n.Yt.sendAudioMessage({to:g.value.replace(n.Vt.TYPES.CONV_C2C,""),conversationType:n.Vt.TYPES.CONV_C2C,payload:{file:_},needReadReceipt:y.isEnabledMessageReadReceiptGlobal()})}catch(z){m(`${n.jt.t("TUIChat.发送语音消息失败")}: ${z}`)}}};function w(t){g.value=t}async function v(){clearInterval(h),h=void 0,d.value=0,await l.value.stop(),p.value=n.jt.t("TUIChat.按住说话"),T.value=""}function P(){C&&(I=Date.now())}function Y(){C=!0,S()}const j=y.throttle(function(t){if(c.value){const i=t.changedTouches[t.changedTouches.length-1].pageY;k<0&&(k=i);const u=k-i;u>110?(p.value=n.jt.t("TUIChat.松手取消"),T.value=n.jt.t("TUIChat.松手取消"),s.value=!0):u>50?(p.value=n.jt.t("TUIChat.松开发送"),T.value=n.jt.t("TUIChat.松开发送"),s.value=!1):(p.value=n.jt.t("TUIChat.松开发送"),T.value=n.jt.t("TUIChat.正在录音"),s.value=!1)}},100);function O(){C=!1,D()}function m(t){N.Toast({message:t,type:F.TOAST_TYPE.ERROR,duration:2e3})}return(t,i)=>e.e$1({a:e.unref(a.isTikTok)},e.unref(a.isTikTok)?{b:f.isInAudioMode?e.unref(o.keyboardIcon):e.unref(o.audioIcon),c:e.o(U)}:{d:e.o(U),e:e.p({file:f.isInAudioMode?e.unref(o.keyboardIcon):e.unref(o.audioIcon),size:"23px",hotAreaSize:"3px"})},{f:f.isInAudioMode},f.isInAudioMode?e.e$1({g:e.t(e.unref(p)),h:e.unref(c)},e.unref(c)?e.e$1({i:e.unref(a.isTikTok)},e.unref(a.isTikTok)?{j:e.unref(s)?e.unref(o.audioBubbleRed):e.unref(o.audioBubbleBlue)}:{k:e.p({file:e.unref(s)?e.unref(o.audioBubbleRed):e.unref(o.audioBubbleBlue),width:"160px",height:"74px"})},{l:!e.unref(a.isTikTok)},e.unref(a.isTikTok)?{}:{},{m:e.t(e.unref(T)),n:e.unref(a.isTikTok)},e.unref(a.isTikTok)?{o:e.unref(s)?e.unref(o.audioDeleteIcon):e.unref(o.audioBeforeDeleteIcon)}:{},{p:!e.unref(a.isTikTok)},e.unref(a.isTikTok)?{}:{q:e.p({file:e.unref(s)?e.unref(o.audioDeleteIcon):e.unref(o.audioBeforeDeleteIcon),width:"54px",height:"54px"})},{r:e.unref(a.isTikTok)},e.unref(a.isTikTok)?{s:e.unref(o.audioRecordIcon)}:{},{t:!e.unref(a.isTikTok)},e.unref(a.isTikTok)?{}:{v:e.p({width:"16px",height:"20px",file:e.unref(o.audioRecordIcon)})}):{},{w:e.o(P),x:e.o(Y),y:e.o((...u)=>e.unref(j)&&e.unref(j)(...u)),z:e.o(O)}):{},{A:e.unref(q)?1:""})}}),W=e._export_sfc(G,[["__scopeId","data-v-a1469678"]]);wx.createComponent(W);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/ai-desk-customer-uniapp/components/CustomerServiceChat/message-input/message-input-audio-h5.js.map