1 line
9.0 KiB
JavaScript
1 line
9.0 KiB
JavaScript
import{At as e,B as t,G as n,H as r,J as i,K as a,Mt as o,Nt as s,Tt as c,U as l,W as u,Y as d,Z as f,_ as p,at as m,bt as h,ct as g,it as _,k as v,kt as y,ot as b,p as x,ut as S,v as C,vt as w,x as T}from"./vue-B11_pI9F.js";import{f as E,l as D,p as O}from"./const-BjfH-jZe.js";import{t as k}from"./_plugin-vue_export-helper-B67ILkmu.js";import{a as ee}from"./kimi-DRwOD7EI.js";import{d as te,o as ne,p as re,u as A}from"./useMessage-Cpv2N0cC.js";import{L as j,V as M,a as N,c as ie,d as ae,f as oe,h as se,l as ce,m as le,n as P,p as F,v as I}from"./index-jtNAhQeK.js";import{K as ue,d as L,ot as R,q as de,t as z}from"./ThumbnailSlide-COLdjDXw.js";import{t as B}from"./kimi.button-DiBbOOiZ.js";import{t as V}from"./Loading-DTHKpUX9.js";import{t as H}from"./usePPTDTitle-senR0KSa.js";var U=e=>e?.replace(/^sandbox:\/\//,``),fe=e=>{let t=U(e);if(!t)return;let n=t.lastIndexOf(`/`);return n>=0?t.substring(0,n+1):void 0},W=M(()=>{let e=v(),{t}=j(),n=ce(ee),{getPPTDData:i,getPPTDIsCreate:a,importFSJSON:o,updateSlidesMetaData:s,setLastModified:l,meta:u,pages:d,pageOrder:f,pageSize:h}=R(),{isCreate:g}=de(),{syncSlidesSummary:_}=ne(),{setBatchGetImages:y,setImageConfig:x}=ue(),{exporting:S,exportPPTXBlob:C}=A(),w=c(!0),k=c(!1),M=c(!1),I=c(0),L=c(0),z=c(0),B=c(0),V=p(`hybrid_has_showed_guide`,!1),H=T(!1,3e3),W=t=>{let n=e.query[t];return(Array.isArray(n)?n[0]:n)??void 0},G=r(()=>W(`chat_id`)??W(`chatId`)),K=r(()=>W(`slide_id`)??W(`slideId`)),pe=r(()=>W(`segment_id`)??W(`segmentId`)),q=r(()=>e.query.share!==void 0),me=r(()=>Math.max(I.value-32,0)),J=r(()=>u.value.title??``),Y=r(()=>J.value||t(`basic.unnamedPresentation`)),he=r(()=>h.value[1]/h.value[0]),ge=r(()=>Math.min(L.value,z.value/he.value)),_e=r(()=>{let e=f.value[B.value];return e?d.value.get(e):void 0}),X=r(()=>!V.value),ve=e=>{I.value=e??window.innerWidth},Z=()=>{L.value=window.innerWidth,z.value=window.innerHeight},ye=async e=>{if(le())try{return await e()}catch(e){P(e);return}},be=async()=>{B.value=0,Z(),M.value=!0,await ye(()=>F(`switchScreen`,{type:`full`}))},xe=async()=>{M.value=!1,await ye(()=>F(`switchScreen`,{type:`inside`}))},Q=e=>{M.value&&xe()},Se=e=>{let t=B.value+e;t<0||t>=f.value.length||(B.value=t)},Ce=e=>{B.value=e},we=e=>{X.value&&(e.stopPropagation(),e.preventDefault(),V.value=!0)},Te=()=>{H.value=!0},Ee=()=>{H.value=!H.value},De=()=>{if(window.webViewId){if(O)return`kimi-ios`;if(D)return`kimi-android`;if(E)return`kimi-harmony`}return`wap`},$=()=>({mode:te.PPTD,ppt_platform:De(),is_mobile:!0}),Oe=async e=>{let t=new window.FormData,{accessToken:n}=await ae(),r={...await ie()};t.append(`slides_file`,e),n&&(r.Authorization=`Bearer ${n}`);let i=await(await fetch(`/apiv2/slides:upload`,{method:`POST`,body:t,headers:r})).json();if(!i.url)throw Error(`upload pptx failed`);return i.url},ke=async()=>{if(S.value)return;let e=Date.now();S.value=!0,N(`msh_nppt_export_start`,{...$(),file_type:`pptx`});try{let t=await C({embedFonts:!0,slideTransition:!0});if(e=Date.now(),le())if(O)await F(`pptFile`,{ppt_tos_url:await Oe(t),title:Y.value});else{let{url:e}=await F(`getSlideUploadUrl`),n=new window.FormData;n.append(`ppt_file`,t,encodeURIComponent(`${Y.value}.pptx`)),await fetch(e,{method:`POST`,body:n})}else re(t,`${Y.value}.pptx`);N(`msh_nppt_export_end`,{...$(),is_success:!0,file_type:`pptx`,export_duration:Date.now()-e})}catch(t){N(`msh_nppt_export_end`,{...$(),is_success:!1,error_reason:t instanceof Error?t.message:`unknown error`,file_type:`pptx`,export_duration:Date.now()-e}),P(t)}finally{S.value=!1}},Ae=async e=>{let t=await n.getSlidesShare({slidesId:e});if(!t.payloadUrl)throw Error(`invalid share`);let r=await fetch(t.payloadUrl);if(!r.ok)throw Error(`failed to fetch share payload: ${r.status}`);return await r.json()};return b(()=>{oe(`closePage`,Q),Z()}),m(()=>{se(`closePage`,Q)}),{isLoading:w,isError:k,isPlaying:M,exporting:S,screenWidth:I,windowWidth:L,windowHeight:z,currentIndex:B,showAction:H,isShare:q,meta:u,pages:d,pageOrder:f,pageSize:h,slideWidth:me,displayTitle:J,playerSlideWidth:ge,currentSlide:_e,showGuide:X,updateScreenWidth:ve,updateWindowSize:Z,enterPlay:be,exitPlay:xe,goStep:Se,goToSlide:Ce,handleGuideClick:we,handleShowAction:Te,toggleAction:Ee,handleExport:ke,loadPPTD:async()=>{if(!K.value){g.value=!1,k.value=!0,w.value=!1;return}let e=K.value,t=Date.now(),n=!1,r=!1,c=e=>{if(!n||r)return;let i=e!==void 0;r=!0,N(`msh_nppt_generate_end`,{...$(),is_success:!i,error_reason:i?e instanceof Error?e.message:String(e):void 0,duration:Date.now()-t})};w.value=!0,k.value=!1;try{if(s({slideId:e,chatId:G.value,messageId:pe.value}),q.value){g.value=!1,o(await Ae(e));return}let t=await(async()=>(n=await a(e),i(e)))();g.value=n;let r=[{path:U(t.pptdPath)??`presentation.pptd`,content:t.content},...Object.entries(t.pagesMap).map(([e,t])=>({path:e,content:t}))];x({basePath:fe(t.pptdPath)}),l(t.lastModifiedTime),o(r),c(),n&&await _()}catch(e){c(e),P(e),k.value=!0}finally{w.value=!1}}}}),G=k(f({__name:`MobileTouchMask`,setup(n){let{t:r}=j(),i=c(),{pages:o,pageOrder:f,pageSize:p,currentIndex:m,showAction:h,showGuide:_,exitPlay:v,goStep:b,goToSlide:x,handleGuideClick:T,handleShowAction:E,toggleAction:D}=W();return C(i,{onSwipeEnd(e,t){_.value||(t===`right`?b(-1):t===`left`&&b(1))}}),w(m,e=>{let t=document.getElementById(`slide-${e}`);t&&t.scrollIntoView({behavior:`instant`,block:`center`})}),(n,c)=>(g(),a(`div`,{ref_key:`playMaskRef`,ref:i,class:`touch-mask`},[l(`div`,{class:e([`touch-mask-guide`,{"touch-mask-guide-show":y(_)}]),onClickCapture:c[3]||(c[3]=(...e)=>y(T)&&y(T)(...e))},[l(`div`,{class:`touch-mask-guide-item`,onClick:c[0]||(c[0]=e=>y(b)(-1))},[l(`p`,null,s(y(r)(`wap.playPrevLine1`)),1),l(`p`,null,s(y(r)(`wap.playPrevLine2`)),1)]),l(`div`,{class:`touch-mask-guide-item`,onClick:c[1]||(c[1]=(...e)=>y(D)&&y(D)(...e))},[l(`p`,null,s(y(r)(`wap.playMenuLine1`)),1),l(`p`,null,s(y(r)(`wap.playMenuLine2`)),1)]),l(`div`,{class:`touch-mask-guide-item`,onClick:c[2]||(c[2]=e=>y(b)(1))},[l(`p`,null,s(y(r)(`wap.playNextLine1`)),1),l(`p`,null,s(y(r)(`wap.playNextLine2`)),1)])],34),l(`div`,{class:e([`player-top-bar`,{"is-show":y(h)}])},[d(y(I),{class:`player-top-bar-icon`,name:`Left_b`,width:`24`,height:`24`,color:`white`,onClick:y(v)},null,8,[`onClick`])],2),l(`div`,{class:e([`player-bottom-bar`,{"is-show":y(h)}]),onTouchmove:c[4]||(c[4]=(...e)=>y(E)&&y(E)(...e)),onClick:c[5]||(c[5]=(...e)=>y(E)&&y(E)(...e))},[(g(!0),a(t,null,S(y(f),(t,n)=>(g(),u(z,{id:`slide-${n}`,key:t,class:e([`player-bottom-bar-slide`,{"is-active":n===y(m)}]),slide:y(o).get(t),"page-width":y(p)[0],"page-height":y(p)[1],style:{width:`100px`},onClick:e=>y(x)(n)},null,8,[`id`,`class`,`slide`,`page-width`,`page-height`,`onClick`]))),128))],34)],512))}}),[[`__scopeId`,`data-v-ee5b5d39`]]),K={class:`hybrid-player`},pe=k(f({__name:`MobilePlayer`,setup(e){let{pageOrder:t,pageSize:r,currentSlide:i,playerSlideWidth:s,updateWindowSize:c,goStep:l}=W();return x(window,`resize`,c),x(window,`keydown`,e=>{t.value.length!==0&&([`ArrowRight`,`ArrowDown`].includes(e.key)?l(1):[`ArrowLeft`,`ArrowUp`].includes(e.key)&&l(-1))}),b(()=>{c()}),(e,t)=>(g(),a(`div`,K,[y(i)?(g(),u(z,{key:0,slide:y(i),"page-width":y(r)[0],"page-height":y(r)[1],style:o({width:`${y(s)}px`})},null,8,[`slide`,`page-width`,`page-height`,`style`])):n(``,!0),d(G)]))}}),[[`__scopeId`,`data-v-2a476c11`]]),q={class:`mobile-loading`},me={class:`mobile-loading-content`},J=k(f({__name:`MobileLoading`,props:{text:{}},setup(e){return(t,n)=>(g(),a(`div`,q,[l(`div`,me,[d(V),l(`span`,null,s(e.text),1)])]))}}),[[`__scopeId`,`data-v-c1193748`]]),Y={key:0,class:`preview-title`},he={key:0,class:`preview-loading`},ge={key:1,class:`preview-error`},_e={key:2,class:`slides-list`},X={key:1,class:`preview-action`},ve=k(f({__name:`MobilePreview`,setup(r){let{t:f}=j(),p=c(),{isLoading:m,isError:v,exporting:C,pages:w,pageOrder:T,pageSize:E,slideWidth:D,displayTitle:O,isShare:k,updateScreenWidth:ee,enterPlay:te,handleExport:ne,loadPPTD:re}=W(),A=()=>{ee(p.value?.clientWidth)};return x(window,`resize`,A),b(async()=>{A(),await re(),await _(),A()}),(r,c)=>(g(),a(`div`,{ref_key:`previewRef`,ref:p,class:`preview-container`},[y(k)?n(``,!0):(g(),a(`div`,Y,s(y(O)),1)),l(`div`,{class:e([`hybrid-preview`,{"is-loading-segment":y(m)}])},[y(m)?(g(),a(`div`,he,[d(V),l(`span`,null,s(y(f)(`wap.loading`)),1)])):y(v)?(g(),a(`div`,ge,s(y(f)(`common.loadFailedRetry`)),1)):(g(),a(`div`,_e,[(g(!0),a(t,null,S(y(T),e=>(g(),u(z,{key:e,class:`slides-list-item`,slide:y(w).get(e),"page-width":y(E)[0],"page-height":y(E)[1],style:o({width:`${y(D)}px`})},null,8,[`slide`,`page-width`,`page-height`,`style`]))),128))]))],2),!y(k)&&!y(m)&&!y(v)?(g(),a(`div`,X,[d(y(B),{type:`secondary`,onClick:y(te)},{default:h(()=>[i(s(y(f)(`wap.play`)),1)]),_:1},8,[`onClick`]),d(y(B),{loading:y(C),onClick:y(ne)},{default:h(()=>[i(s(y(f)(`wap.export`)),1)]),_:1},8,[`loading`,`onClick`])])):n(``,!0),y(C)?(g(),u(J,{key:2,text:y(f)(`wap.exporting`)},null,8,[`text`])):n(``,!0)],512))}}),[[`__scopeId`,`data-v-6f9cecd5`]]),Z=f({__name:`Mobile`,setup(e){L();let{isPlaying:t}=W(),{meta:n}=R(),{setPPTDTitle:r}=H();return w(()=>n.value.title,e=>r(e),{immediate:!0}),(e,n)=>y(t)?(g(),u(pe,{key:0})):(g(),u(ve,{key:1}))}});export{Z as default}; |