按 demo/ 的写法把交付包改成「角色由目录决定」:iw/ 拷内网机、ow/ 拷外网机, 各自含镜像 tar、SQL、配置与 install.sh,install.sh 不再收 iw/ow 参数。 前端不再打进镜像,改为静态包放在 <侧>/web/ 只读挂进 nginx:1.27-alpine, 现场临时改页面直接替换文件 + restart web 即可。数据仍全部挂宿主机, 子目录命名与 deploy/offline 一致(pgdata/redis/mq/upload/logs/gate), 默认根改为包内 ./volumes,放数据盘只改 .env 的 SFILE_DATA_ROOT。 后端镜像 sfile-app:1.0.1 含传输优化那一批(实测组包 11.4×、解包 9.9×)。 出包脚本 deployment/scripts/build-package.sh 负责 jar→镜像→前端双包→sql→tar→VERSION。
1 line
6.3 KiB
JavaScript
1 line
6.3 KiB
JavaScript
import{A as e,Vn as t,Y as n,en as r,f as i,fn as a,k as o,qn as s,sn as c,u as l,y as u,zn as d}from"./index-BaTxSAlR.js";import{t as f}from"./dist-CpxP8T7M.js";import{n as p,r as m,t as h}from"./dist-AWHq1sQs.js";var g=a(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),_=s(t(),1),v=s(d(),1),y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),x=`Radio`,[S,C]=o(x),[w,T]=S(x);function E(e){let{__scopeRadio:t,checked:n=!1,children:r,disabled:i,form:a,name:o,onCheck:s,required:c,value:l=`on`,internal_do_not_use_render:u}=e,[d,f]=_.useState(null),[p,m]=_.useState(null),[h,g]=_.useState(null),y={checked:n,disabled:i,required:c,name:o,form:a,value:l,control:d,setControl:f,userClick:h,onUserClick:g,isFormControl:d?!!a||!!d.closest(`form`):!0,bubbleInput:p,setBubbleInput:m,onCheck:b(()=>s==null?void 0:s(),`onCheck`)};return(0,v.jsx)(w,{scope:t,...y,children:N(u)?u(y):r})}b(E,`RadioProvider`);var D=`RadioTrigger`,O=_.forwardRef(b(function({__scopeRadio:t,onClick:r,...i},a){let{checked:o,disabled:s,value:l,setControl:u,onCheck:d,onUserClick:f,isFormControl:p,bubbleInput:m}=T(D,t),h=c(a,u);return(0,v.jsx)(n.button,{type:`button`,role:`radio`,"aria-checked":o,"data-state":P(o),"data-disabled":s?``:void 0,disabled:s,value:l,...i,ref:h,onClick:e(r,e=>{let t=e.isPropagationStopped();o||(f({hasConsumerStoppedPropagation:t}),d()),m&&p&&(t||e.stopPropagation())})})},`RadioTrigger`)),k=`RadioIndicator`,A=_.forwardRef(b(function(e,t){let{__scopeRadio:r,forceMount:a,...o}=e,s=T(k,r);return(0,v.jsx)(i,{present:a||s.checked,children:(0,v.jsx)(n.span,{"data-state":P(s.checked),"data-disabled":s.disabled?``:void 0,...o,ref:t})})},`RadioIndicator`)),j=`RadioBubbleInput`,M=_.forwardRef(b(function({__scopeRadio:t,onClick:r,...i},a){let{control:o,checked:s,required:l,disabled:d,name:f,value:p,form:m,bubbleInput:h,setBubbleInput:g,userClick:y}=T(j,t),b=c(a,g),x=u(o),S=_.useRef(!1),C=_.useRef(s),w=_.useRef(y),E=_.useRef(null);_.useEffect(()=>{let e=h;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set;if(!n)return;let r=C.current!==s;C.current=s;let i=y!==null&&y!==w.current;if(w.current=y,i)E.current=r?null:y,r&&n.call(e,s),e.dispatchEvent(new Event(`click`,{bubbles:!y.hasConsumerStoppedPropagation}));else if(r){let t=E.current;E.current=null;let r=s&&t!==null;S.current=!0,n.call(e,s),e.dispatchEvent(new Event(`click`,{bubbles:!(r&&t.hasConsumerStoppedPropagation)})),S.current=!1}},[h,s,y]);let D=_.useRef(s);return(0,v.jsx)(n.input,{type:`radio`,"aria-hidden":!0,defaultChecked:D.current,required:l,disabled:d,name:f,value:p,form:m,...i,tabIndex:-1,ref:b,onClick:e(r,e=>{S.current&&e.stopPropagation()}),style:{...i.style,...x,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`RadioBubbleInput`));function N(e){return typeof e==`function`}b(N,`isFunction`);function P(e){return e?`checked`:`unchecked`}b(P,`getState`);var F=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],I=`RadioGroup`,[L,R]=o(I,[m,C]),z=m(),B=C(),[V,H]=L(I),U=_.forwardRef(b(function(e,t){let{__scopeRadioGroup:r,name:i,form:a,defaultValue:o,value:s,required:u=!1,disabled:d=!1,orientation:p,dir:m,loop:g=!0,onValueChange:y,...x}=e,S=z(r),C=f(m),[w,T]=l({prop:s,defaultProp:o??null,onChange:y,caller:I}),[E,D]=_.useState(null),O=c(t,D),k=_.useRef(w);return _.useEffect(()=>{let e=a?E==null?void 0:E.ownerDocument.getElementById(a):E==null?void 0:E.closest(`form`);if(e instanceof HTMLFormElement){let t=b(()=>T(k.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[E,a,T]),(0,v.jsx)(V,{scope:r,name:i,form:a,required:u,disabled:d,value:w,onValueChange:T,children:(0,v.jsx)(h,{asChild:!0,...S,orientation:p,dir:C,loop:g,children:(0,v.jsx)(n.div,{role:`radiogroup`,"aria-required":u,"aria-orientation":p,"data-disabled":d?``:void 0,dir:C,...x,ref:O})})})},`RadioGroup`)),W=`RadioGroupItemProvider`,G=`RadioGroupItemTrigger`;function K(e){let{__scopeRadioGroup:t,value:n,disabled:r,children:i,internal_do_not_use_render:a}=e,o=H(W,t),s=B(t),c=o.disabled||r;return(0,v.jsx)(E,{...s,checked:o.value===n,disabled:c,required:o.required,name:o.name,form:o.form,value:n,onCheck:()=>o.onValueChange(n),internal_do_not_use_render:a,children:i})}b(K,`RadioGroupItemProvider`);var q=_.forwardRef(b(function(t,n){let{__scopeRadioGroup:r,...i}=t,a=z(r),o=B(r),{checked:s,disabled:l}=T(G,o.__scopeRadio),u=_.useRef(null),d=c(n,u),f=_.useRef(!1);return _.useEffect(()=>{let e=b(e=>{F.includes(e.key)&&(f.current=!0)},`handleKeyDown`),t=b(()=>f.current=!1,`handleKeyUp`);return document.addEventListener(`keydown`,e),document.addEventListener(`keyup`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`keyup`,t)}},[]),(0,v.jsx)(p,{asChild:!0,...a,focusable:!l,active:s,children:(0,v.jsx)(O,{...o,...i,ref:d,onKeyDown:e(i.onKeyDown,e=>{e.key===`Enter`&&e.preventDefault()}),onFocus:e(i.onFocus,()=>{if(f.current){var e;(e=u.current)==null||e.click()}})})})},`RadioGroupItemTrigger`)),J=_.forwardRef(b(function(e,t){let{__scopeRadioGroup:n,value:r,disabled:i,...a}=e;return(0,v.jsx)(K,{__scopeRadioGroup:n,value:r,disabled:i,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(q,{...a,ref:t,__scopeRadioGroup:n}),e&&(0,v.jsx)(Y,{__scopeRadioGroup:n})]})})},`RadioGroupItem`)),Y=_.forwardRef(b(function(e,t){let{__scopeRadioGroup:n,...r}=e;return(0,v.jsx)(M,{...B(n),...r,ref:t})},`RadioGroupItemBubbleInput`)),X=_.forwardRef(b(function(e,t){let{__scopeRadioGroup:n,...r}=e;return(0,v.jsx)(A,{...B(n),...r,ref:t})},`RadioGroupIndicator`));function Z({className:e,...t}){return(0,v.jsx)(U,{"data-slot":`radio-group`,className:r(`grid gap-3`,e),...t})}function Q({className:e,...t}){return(0,v.jsx)(J,{"data-slot":`radio-group-item`,className:r(`border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,v.jsx)(X,{"data-slot":`radio-group-indicator`,className:`relative flex items-center justify-center`,children:(0,v.jsx)(g,{className:`fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2`})})})}export{Q as n,Z as t}; |