Files
Migu2.0/MiGu.Server/wwwroot/assets/Workspace3D-PfDes8bN.js
T
zhaowei.huangandCursor be0503c535 chore(web): 重新构建前端静态资源
同步 simple-platform-vue 构建产物与 index.html 入口哈希。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 00:16:56 +08:00

2 lines
3.8 KiB
JavaScript

import{aG as N,b5 as P,b4 as $,aC as y,b1 as A,aF as d,ac as D,bH as n,az as i,bo as l,aA as z,aB as u,r as R,br as _,Q as j,bf as r,av as S,b7 as c,aE as f,bg as I,aQ as q,aX as G,aj as H}from"./index-D5OuyicD.js";/* empty css *//* empty css *//* empty css */const M={key:0,class:"workspace-3d-toolbar"},Q={class:"hint"},X=["src"],J={key:1,class:"workspace-3d-mask"},K=N({__name:"Workspace3D",props:{host:{default:void 0},scope:{default:"Platform"},token:{default:""},readOnly:{type:Boolean,default:!1},embedUi:{type:Boolean,default:!1},canvasOnly:{type:Boolean,default:!1},hideToolbar:{type:Boolean,default:!1}},emits:["pick","select","ready"],setup(o,{expose:W,emit:L}){const t=o,v=L,k=r(),g=r(),w=r(!1),p=r(null),b=r([]),h=r(""),m=S(()=>t.host??"localhost:8223"??"localhost:8223"),U=S(()=>{const a=new URLSearchParams;return a.set("scope",t.scope??"Platform"),t.token&&a.set("token",t.token),a.set("ro",t.readOnly?"1":"0"),t.canvasOnly?a.set("ui","canvas-only"):t.embedUi&&a.set("ui","embed"),`http://${m.value}/?${a.toString()}`});async function F(){const a=t.canvasOnly?"/declareCanvasOnly":t.embedUi?"/declareEmbedUi":null;if(a)try{await fetch(`http://${m.value}${a}`,{method:"GET",mode:"no-cors",cache:"no-store",credentials:"omit",keepalive:!0})}catch(e){console.warn(`[Workspace3D] ${a} 请求失败,SimpleLite 可能仍以完整面板模式启动:`,e)}}async function E(){w.value=!1,await F(),h.value=U.value}function T(){w.value=!0,v("ready")}function x(a){if(!k.value||a.source!==k.value.contentWindow)return;const e=a.data;if(!(!e||typeof e!="object")){if(e.type==="workspace.pick"&&e.payload&&typeof e.payload.x=="number")p.value=e.payload,v("pick",e.payload);else if(e.type==="workspace.select"&&Array.isArray(e.payload))b.value=e.payload,v("select",e.payload);else if(e.type==="workspace.shortcut"&&e.payload&&typeof e.payload=="object"){const s=e.payload.action;(s==="undo"||s==="redo"||s==="delete")&&window.dispatchEvent(new CustomEvent("workspace-shortcut",{detail:{action:s}}))}}}function B(){E()}function O(){const a=g.value;a&&(document.fullscreenElement?document.exitFullscreen():a.requestFullscreen())}return P(()=>{window.addEventListener("message",x),E()}),$(()=>{window.removeEventListener("message",x)}),W({reload:B,enterFullscreen:O}),(a,e)=>{const s=D,C=R,V=j;return c(),y("div",{class:A(["workspace-3d-wrap",{"workspace-3d--canvas-only":o.canvasOnly||o.hideToolbar}])},[o.canvasOnly||o.hideToolbar?u("",!0):(c(),y("div",M,[d(s,{type:o.readOnly?"info":"success",effect:"dark",size:"small"},{default:n(()=>[f(l(o.readOnly?"只读":"可交互"),1)]),_:1},8,["type"]),i("span",Q,"webVRender · http://"+l(m.value)+" · scope="+l(o.scope),1),e[2]||(e[2]=i("div",{class:"spacer"},null,-1)),p.value?(c(),z(s,{key:0,type:"warning",size:"small"},{default:n(()=>[f(" Pick ("+l(p.value.x.toFixed(0))+", "+l(p.value.y.toFixed(0))+") ",1)]),_:1})):u("",!0),b.value.length?(c(),z(s,{key:1,type:"primary",size:"small"},{default:n(()=>[f(" Selected: "+l(b.value.length),1)]),_:1})):u("",!0),d(C,{size:"small",icon:_(I),onClick:B},{default:n(()=>[...e[0]||(e[0]=[f("重载",-1)])]),_:1},8,["icon"]),d(C,{size:"small",icon:_(q),onClick:O},{default:n(()=>[...e[1]||(e[1]=[f("全屏",-1)])]),_:1},8,["icon"])])),i("div",{ref_key:"frameWrap",ref:g,class:"workspace-3d-frame"},[h.value?(c(),y("iframe",{key:0,ref_key:"frame",ref:k,src:h.value,class:"workspace-3d-iframe",allow:"fullscreen",onLoad:T},null,40,X)):u("",!0),w.value?u("",!0):(c(),y("div",J,[d(V,{class:"is-loading",size:"32"},{default:n(()=>[d(_(G))]),_:1}),i("span",null,"正在连接 webVRender (http://"+l(m.value)+") ...",1),e[3]||(e[3]=i("span",{class:"muted"},"如长时间未加载,请确认 SimpleLite 已以 Web-Enabled 模式启动且 8223 端口可达。",-1))]))],512)],2)}}}),te=H(K,[["__scopeId","data-v-aaec3f2d"]]);export{te as W};