useSync.hook-d1e9af2f.js 3.8 KB

1
  1. import{j as _,as as M,aI as p,aV as c,cx as O,cy as F,H as h,aH as V,a2 as B,cz as D,W as G,cq as g,aR as m,aS as I}from"./index-93381b89.js";import{u as H,a as k,P as E,f as C,C as T,g as x}from"./chartEditStore-15504e7d.js";import{u as J,C as P}from"./chartLayoutStore-ebd0934e.js";import{f as K,d as $,e as j}from"./index-4a4721f7.js";import{b as q,u as z,s as Q,f as W}from"./project.api-badb2f09.js";const X=t=>t,Y=(t,a)=>{try{if(a.id){const d="vnodeBeforeMount"in a.events,i="vnodeMounted"in a.events;return d&&(t.events.advancedEvents.vnodeBeforeMount=a==null?void 0:a.events.vnodeBeforeMount),i&&(t.events.advancedEvents.vnodeMounted=a==null?void 0:a.events.vnodeMounted),(d||i)&&(a.events={baseEvent:{[m.ON_CLICK]:void 0,[m.ON_DBL_CLICK]:void 0,[m.ON_MOUSE_ENTER]:void 0,[m.ON_MOUSE_LEAVE]:void 0},advancedEvents:{[I.VNODE_MOUNTED]:void 0,[I.VNODE_BEFORE_MOUNT]:void 0},interactEvents:[]}),t}}catch{return t}},S=(t,a,d=!1)=>{if(Y(t,a),d)return g(t,a);const i=a.option;if(!i)return g(t,a);if(a.option=void 0,i)return{...g(t,a),option:i}},nt=()=>{const t=H(),a=k();_();const d=J(),i=async(n,l=!1,s=!1)=>{l&&(t.componentList=[],a.clearBackStack(),a.clearForwardStack()),n.editCanvasConfig=X(n.editCanvasConfig),n.componentList.forEach(async e=>{const r=o=>{window.$vue.component(o.chartConfig.chartKey)||(window.$vue.component(o.chartConfig.chartKey,K(o.chartConfig)),window.$vue.component(o.chartConfig.conKey,$(o.chartConfig)))};e.isGroup?e.groupList.forEach(o=>{r(o)}):r(e)});const f=async(e,r)=>{let o=await j(e.chartConfig);e.chartConfig.redirectComponent&&(e.chartConfig.dataset&&(o.option.dataset=e.chartConfig.dataset),o.chartConfig.title=e.chartConfig.title,o.chartConfig.chartFrame=e.chartConfig.chartFrame),r?r(s?S(o,{...e,id:h()}):S(o,e)):s?t.addComponentList(S(o,{...e,id:h()}),!1,!0):t.addComponentList(S(o,e),!1,!0)};for(const e in n)if(e===T.COMPONENT_LIST){let r=0;const o=n[e].length;for(const u of n[e]){let L=parseInt((parseFloat(`${++r/o}`)*100).toString());if(d.setItemUnHandle(P.PERCENTAGE,L),u.isGroup){let v=new x;s?v=S(v,{...u,id:h()}):v=S(v,u);const U=[];for(const R of u.groupList)await f(R,w=>{U.push(w)});v.groupList=U,t.addComponentList(v,!1,!0)}else await f(u);L===100&&(a.clearBackStack(),a.clearForwardStack())}}else(e===T.EDIT_CANVAS_CONFIG||e===T.REQUEST_GLOBAL_CONFIG)&&S(t[e],n[e],!0);d.setItemUnHandle(P.PERCENTAGE,0)},A=n=>{const{id:l,projectName:s,remarks:f,indexImage:e,status:r}=n;t.setProjectInfo(E.PROJECT_ID,l),t.setProjectInfo(E.PROJECT_NAME,s),t.setProjectInfo(E.REMARKS,f),t.setProjectInfo(E.THUMBNAIL,e),t.setProjectInfo(E.RELEASE,r===1)},N=async()=>{t.componentList=[],t.setEditCanvas(C.SAVE_STATUS,c.START);try{const n=await W({id:p()});if(n){A(n),await i(V(n.content));return}else t.setProjectInfo(E.PROJECT_ID,p());return setTimeout(()=>{t.setEditCanvas(C.SAVE_STATUS,c.SUCCESS)},1e3),t.setEditCanvas(C.SAVE_STATUS,c.FAILURE)}catch{t.setEditCanvas(C.SAVE_STATUS,c.FAILURE),B()}},y=M(async(n=!1)=>{if(!p())return;let l=t.getProjectInfo[E.PROJECT_ID];if(l===null||l===""){window.$message.error("数据初未始化成功,请刷新页面!");return}t.setEditCanvas(C.SAVE_STATUS,c.START);try{if(n){const f=document.querySelector(".go-edit-range"),e=await O(f,{backgroundColor:null,allowTaint:!0,useCORS:!0});let r=new FormData;r.append("file",F(e.toDataURL(),`${p()}_index_preview.png`));const{path:o}=await q(r);o&&await z({id:p(),indexImage:o})}}catch(f){console.log(f)}let s=new FormData;s.append("projectId",p()),s.append("content",JSON.stringify(t.getStorageInfo()||{})),await Q(s).then(()=>{setTimeout(()=>{t.setEditCanvas(C.SAVE_STATUS,c.SUCCESS)},1e3)}).catch(()=>{t.setEditCanvas(C.SAVE_STATUS,c.FAILURE)})},3e3);return{updateComponent:i,updateStoreInfo:A,dataSyncFetch:N,dataSyncUpdate:y,intervalDataSyncUpdate:()=>{const n=setInterval(()=>{y()},D*1e3);G(()=>{clearInterval(n)})}}};export{nt as u};