@linkshell/gateway 0.6.34 → 0.6.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web-client/assets/{index-BceoaHso.js → index-CpP6sHsL.js} +2 -2
- package/web-client/assets/{index-Df2Vt1E5.css → index-DucA84b9.css} +1 -1
- package/web-client/assets/{qr-scanner.min-CrOoEiOF.js → qr-scanner.min-BeTv0k1C.js} +1 -1
- package/web-client/assets/render-1p4GgyhN.js +629 -0
- package/web-client/assets/render-Bb86geFz.css +1 -0
- package/web-client/index.html +2 -2
- package/web-client/assets/render-B5Hp1v3Z.css +0 -1
- package/web-client/assets/render-Bqy6IX5u.js +0 -629
package/package.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/render-
|
|
2
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const A="modulepreload",R=function(e){return"/"+e},L={},
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/render-1p4GgyhN.js","assets/markdown-SZOrMO_3.js","assets/account-R7yD1rZE.js","assets/terminal-DWFexEE4.js","assets/terminal-DOrYoP_4.css","assets/render-Bb86geFz.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const A="modulepreload",R=function(e){return"/"+e},L={},F=function(t,o,s){let n=Promise.resolve();if(o&&o.length>0){let i=function(a){return Promise.all(a.map(f=>Promise.resolve(f).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),_=c?.nonce||c?.getAttribute("nonce");n=i(o.map(a=>{if(a=R(a),a in L)return;L[a]=!0;const f=a.endsWith(".css"),m=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${m}`))return;const l=document.createElement("link");if(l.rel=f?"stylesheet":A,f||(l.as="script"),l.crossOrigin="",l.href=a,_&&l.setAttribute("nonce",_),document.head.appendChild(l),f)return new Promise((N,I)=>{l.addEventListener("load",N),l.addEventListener("error",()=>I(new Error(`Unable to preload CSS for ${a}`)))})}))}function r(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return n.then(i=>{for(const c of i||[])c.status==="rejected"&&r(c.reason);return t().catch(r)})},S=typeof window<"u"&&window.__LINKSHELL_CONFIG__?.desktop===!0,K=S&&window.__LINKSHELL_CONFIG__?.desktopPlatform==="win32",M="desktop:local",V="linkshell-desktop-visibility",U="linkshell-desktop-account",q="linkshell-desktop-error";let g,u,h,k=Promise.resolve(),b;const p=new Map;let w={},d,y=0;function O(e){window.dispatchEvent(new CustomEvent(q,{detail:e instanceof Error?e.message:String(e)}))}async function E(e,t={}){if(!S||!g)throw new Error("桌面工作台尚未连接,请重新打开窗口");if(!/^\/desktop\/[a-z]+$/.test(e))throw new Error("无效的桌面请求");const o=new Headers(t.headers);o.set("Authorization",`Bearer ${g}`),t.body&&o.set("Content-Type","application/json");const s=await fetch(e,{...t,headers:o,credentials:"omit",cache:"no-store",redirect:"error",signal:t.signal??AbortSignal.timeout(15e3)}),n=await s.json();if(!s.ok)throw new Error(n.error||"桌面服务暂时不可用,请重试");return n}async function x(){if(!(!S||u))return h||(h=(async()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get("desktop");g=t||sessionStorage.getItem("linkshell.desktop.capability")||void 0,t&&(sessionStorage.setItem("linkshell.desktop.capability",t),e.delete("desktop"),history.replaceState(null,"",location.pathname+location.search+(e.size?`#${e}`:""))),u=await E("/desktop/bootstrap"),document.documentElement.dataset.desktop="true",window.__LINKSHELL_DESKTOP_FLUSH__=$})().finally(()=>{h=void 0}),h)}function j(){if(!u)throw new Error("桌面设备身份尚未载入");return u.identity}function W(){return u?.localComputer}function B(e,t){return u?.storage[e]??t}function D(e,t){k=k.then(async()=>{try{await E("/desktop/storage",{method:"PUT",body:JSON.stringify({key:e,value:t.value})}),p.get(e)===t&&p.delete(e)}catch(o){O(new Error(`工作台设置尚未保存:${o instanceof Error?o.message:String(o)}。请重试连接。`))}})}function G(e,t){if(!u)throw new Error("桌面工作台尚未初始化");const o=t===void 0?null:JSON.parse(JSON.stringify(t));u.storage[e]=o;const s={value:o};p.set(e,s),D(e,s)}function H(){for(const[e,t]of p)D(e,t);return k}async function P(){let e;do e=k,await e;while(e!==k)}function $(){return b??=(async()=>(await P(),p.size&&await H(),await P(),{saved:p.size===0,pending:p.size}))().finally(()=>{b=void 0})}function T(e){const t=e.userId!==w.userId||e.email!==w.email||e.accessToken!==w.accessToken;return w=e,t&&window.dispatchEvent(new CustomEvent(U,{detail:e})),e}function z(){if(d)return d;const e=y,t=E("/desktop/account").then(o=>e===y?T(o):w).finally(()=>{d===t&&(d=void 0)});return d=t,t}async function J(){await E("/desktop/login",{method:"POST",signal:AbortSignal.timeout(36e4)}),y++,d=void 0,await z()}async function Y(){await E("/desktop/logout",{method:"POST"}),y++,d=void 0,T({})}function Q(){if(!g)throw new Error("桌面连接已失效,请重新打开窗口");const e=new URL("/desktop/host",location.origin);return e.protocol=location.protocol==="https:"?"wss:":"ws:",e.searchParams.set("token",g),new WebSocket(e)}function v(e){if(K){const o=window.chrome?.webview;return o?(o.postMessage(e),!0):!1}const t=window.webkit?.messageHandlers?.linkshellDesktop;return!S||!t?!1:(t.postMessage(e),!0)}function X(e){return v({action:"screenFullScreen",enabled:e})}const Z="linkshell-desktop-fullscreen";function ee(){v({action:"manage"})||O("请通过 LinkShell 菜单打开本机服务")}function te(e){v({action:"appearance",value:e})}function oe(e){v({action:"contentFocus",focused:e})}async function C(){try{await x(),await F(()=>import("./render-1p4GgyhN.js"),__vite__mapDeps([0,1,2,3,4,5]))}catch(e){const t=document.getElementById("root");t.replaceChildren();const o=document.createElement("main");o.style.cssText="max-width:440px;margin:18vh auto;padding:32px;font:15px system-ui;line-height:1.65";const s=document.createElement("h1");s.textContent="工作台暂时无法打开";const n=document.createElement("p");n.textContent=e instanceof Error?e.message:String(e);const r=document.createElement("button");r.textContent="重试",r.style.cssText="padding:8px 18px;border-radius:9px;cursor:pointer",r.onclick=()=>{r.disabled=!0,C()},o.append(s,n,r),t.append(o)}}C();export{q as D,F as _,j as a,U as b,V as c,z as d,W as e,M as f,E as g,K as h,S as i,Q as j,H as k,Y as l,J as m,X as n,ee as o,Z as p,oe as q,B as r,G as s,te as t};
|