1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2026-02-03 23:23:09 +00:00

deploy: 2f02dd951f519d1969dc5ae9a95c5ddfdf1f6a1c

This commit is contained in:
Sunwuyuan 2026-02-01 09:29:35 +00:00
parent 2b49875ea4
commit 8459e9eb6f
42 changed files with 46 additions and 46 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{aO as F,p as P,a3 as M,g as N,ar as O,bo as R,cu as j,aG as q,bg as p,ch as G,be as K,aB as W,aq as H,c as l,cv as J,i as s,n as y,d as f,t as Q,E as b,aW as S,y as U,av as k,e as X,bp as Y,a_ as Z,cf as ee,bj as ae,m as te,bk as le,ci as ne,bl as se,bq as oe,f as ie,aK as ce,h as re}from"./index-wZZo_do4.js";const ue=F("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,o){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??o()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Z,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...re(),...ce(),...ie(),...oe(),...de(),...se(),...ne(),...le(),...te(),...ae(),...ee({variant:"flat"})},"VAlert"),be=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{emit:r,slots:a}=o;const t=O(e,"modelValue"),i=k(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:V}=R(e),{colorClasses:z,colorStyles:C,variantClasses:x}=j(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=q(e),{dimensionStyles:h}=X(e),{elevationClasses:B}=Y(e),{locationStyles:I}=p(e),{positionClasses:A}=G(e),{roundedClasses:T}=K(e),{textColorClasses:D,textColorStyles:L}=W(()=>e.borderColor),{t:$}=H(),u=k(()=>({"aria-label":$(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),w=!!(a.title||e.title),E=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:f(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},V.value,z.value,_.value,B.value,A.value,T.value,x.value,e.class]),style:y([C.value,h.value,I.value,e.style]),role:"alert"},{default:()=>{var v,m;return[J(!1,"v-alert"),e.border&&s("div",{key:"border",class:f(["v-alert__border",D.value]),style:y(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(S,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(Q,b({key:"prepend-icon"},d),null)]),s("div",{class:"v-alert__content"},[w&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),E&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(S,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(U,b({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a};
import{aO as F,p as P,a3 as M,g as N,ar as O,bo as R,cu as j,aG as q,bg as p,ch as G,be as K,aB as W,aq as H,c as l,cv as J,i as s,n as y,d as f,t as Q,E as b,aW as S,y as U,av as k,e as X,bp as Y,a_ as Z,cf as ee,bj as ae,m as te,bk as le,ci as ne,bl as se,bq as oe,f as ie,aK as ce,h as re}from"./index-DS_mP1l0.js";const ue=F("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,o){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??o()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Z,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...re(),...ce(),...ie(),...oe(),...de(),...se(),...ne(),...le(),...te(),...ae(),...ee({variant:"flat"})},"VAlert"),be=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{emit:r,slots:a}=o;const t=O(e,"modelValue"),i=k(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:V}=R(e),{colorClasses:z,colorStyles:C,variantClasses:x}=j(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=q(e),{dimensionStyles:h}=X(e),{elevationClasses:B}=Y(e),{locationStyles:I}=p(e),{positionClasses:A}=G(e),{roundedClasses:T}=K(e),{textColorClasses:D,textColorStyles:L}=W(()=>e.borderColor),{t:$}=H(),u=k(()=>({"aria-label":$(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),w=!!(a.title||e.title),E=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:f(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},V.value,z.value,_.value,B.value,A.value,T.value,x.value,e.class]),style:y([C.value,h.value,I.value,e.style]),role:"alert"},{default:()=>{var v,m;return[J(!1,"v-alert"),e.border&&s("div",{key:"border",class:f(["v-alert__border",D.value]),style:y(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(S,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(Q,b({key:"prepend-icon"},d),null)]),s("div",{class:"v-alert__content"},[w&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),E&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(S,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(U,b({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{a as o,m as f}from"./VSwitch-COqzOycM.js";import{g as v,ar as c,b as V,aA as I,c as k,E as x,av as l,p as b,a_ as h}from"./index-wZZo_do4.js";const C=b({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),a=c(e,"modelValue");function u(n){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return V(()=>{const n=I(o.filterProps(e),["modelValue"]);return k(o,x(n,{modelValue:a.value,"onUpdate:modelValue":[d=>a.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
import{a as o,m as f}from"./VSwitch-W6HBEtkv.js";import{g as v,ar as c,b as V,aA as I,c as k,E as x,av as l,p as b,a_ as h}from"./index-DS_mP1l0.js";const C=b({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),a=c(e,"modelValue");function u(n){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return V(()=>{const n=I(o.filterProps(e),["modelValue"]);return k(o,x(n,{modelValue:a.value,"onUpdate:modelValue":[d=>a.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as t,b7 as l,b as r,c as i,n as m,d as c,e as u,p as d,m as C,f,h as p}from"./index-wZZo_do4.js";const y=d({fluid:{type:Boolean,default:!1},...p(),...f(),...C()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=l(),{dimensionStyles:o}=u(e);return r(()=>i(e.tag,{class:c(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:m([o.value,e.style])},a)),{}}});export{g as V};
import{g as t,b7 as l,b as r,c as i,n as m,d as c,e as u,p as d,m as C,f,h as p}from"./index-DS_mP1l0.js";const y=d({fluid:{type:Boolean,default:!1},...p(),...f(),...C()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=l(),{dimensionStyles:o}=u(e);return r(()=>i(e.tag,{class:c(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:m([o.value,e.style])},a)),{}}});export{g as V};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as p,b,i as v,n as h,d as y,au as F,a2 as V,p as R,h as P}from"./index-wZZo_do4.js";import{h as k,i as C}from"./VTextField-WA3Rs3IZ.js";const S=R({...P(),...C()},"VForm"),D=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:s,emit:l}=i;const r=k(o),n=V();function f(t){t.preventDefault(),r.reset()}function u(t){const a=t,e=r.validate();a.then=e.then.bind(e),a.catch=e.catch.bind(e),a.finally=e.finally.bind(e),l("submit",a),a.defaultPrevented||e.then(c=>{var m;let{valid:d}=c;d&&((m=n.value)==null||m.submit())}),a.preventDefault()}return b(()=>{var t;return v("form",{ref:n,class:y(["v-form",o.class]),style:h(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),F(r,n)}});export{D as V};
import{g as p,b,i as v,n as h,d as y,au as F,a2 as V,p as R,h as P}from"./index-DS_mP1l0.js";import{h as k,i as C}from"./VTextField-B3mgzys3.js";const S=R({...P(),...C()},"VForm"),D=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:s,emit:l}=i;const r=k(o),n=V();function f(t){t.preventDefault(),r.reset()}function u(t){const a=t,e=r.validate();a.then=e.then.bind(e),a.catch=e.catch.bind(e),a.finally=e.finally.bind(e),l("submit",a),a.defaultPrevented||e.then(c=>{var m;let{valid:d}=c;d&&((m=n.value)==null||m.submit())}),a.preventDefault()}return b(()=>{var t;return v("form",{ref:n,class:y(["v-form",o.class]),style:h(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),F(r,n)}});export{D as V};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as C,cw as S,a3 as b,p as k,m as N,h as j,cx as i,b_ as u}from"./index-wZZo_do4.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function _(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const G=["auto","start","end","center","baseline","stretch"],I=k({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>G.includes(e)},...j(),...N()},"VCol"),K=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=_(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return S(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],h=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],w=e=>R.includes(e),$=d("align",()=>({type:String,default:null,validator:w})),T=[...f,...h],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...h,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys($),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const x=k({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:w},...$,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),z=C()({name:"VRow",props:x(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return S(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{z as V,K as a};
import{g as C,cw as S,a3 as b,p as k,m as N,h as j,cx as i,b_ as u}from"./index-DS_mP1l0.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function _(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const G=["auto","start","end","center","baseline","stretch"],I=k({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>G.includes(e)},...j(),...N()},"VCol"),K=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=_(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return S(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],h=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],w=e=>R.includes(e),$=d("align",()=>({type:String,default:null,validator:w})),T=[...f,...h],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...h,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys($),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const x=k({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:w},...$,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),z=C()({name:"VRow",props:x(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return S(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{z as V,K as a};

View File

@ -1 +1 @@
import{g as d,bo as b,aC as k,bz as v,bg as C,ch as P,be as h,b as g,c as S,n as y,d as V,e as p,bp as z,p as B,bj as R,m as T,bk as f,ci as D,bl as E,bq as L,f as j,h as q,bI as x}from"./index-wZZo_do4.js";const F=B({color:String,...x(),...q(),...j(),...L(),...E(),...D(),...f(),...T(),...R()},"VSheet"),N=d()({name:"VSheet",props:F(),setup(e,s){let{slots:a}=s;const{themeClasses:o}=b(e),{backgroundColorClasses:n,backgroundColorStyles:t}=k(()=>e.color),{borderClasses:l}=v(e),{dimensionStyles:r}=p(e),{elevationClasses:c}=z(e),{locationStyles:i}=C(e),{positionClasses:m}=P(e),{roundedClasses:u}=h(e);return g(()=>S(e.tag,{class:V(["v-sheet",o.value,n.value,l.value,c.value,m.value,u.value,e.class]),style:y([t.value,r.value,i.value,e.style])},a)),{}}});export{N as V,F as m};
import{g as d,bo as b,aC as k,bz as v,bg as C,ch as P,be as h,b as g,c as S,n as y,d as V,e as p,bp as z,p as B,bj as R,m as T,bk as f,ci as D,bl as E,bq as L,f as j,h as q,bI as x}from"./index-DS_mP1l0.js";const F=B({color:String,...x(),...q(),...j(),...L(),...E(),...D(),...f(),...T(),...R()},"VSheet"),N=d()({name:"VSheet",props:F(),setup(e,s){let{slots:a}=s;const{themeClasses:o}=b(e),{backgroundColorClasses:n,backgroundColorStyles:t}=k(()=>e.color),{borderClasses:l}=v(e),{dimensionStyles:r}=p(e),{elevationClasses:c}=z(e),{locationStyles:i}=C(e),{positionClasses:m}=P(e),{roundedClasses:u}=h(e);return g(()=>S(e.tag,{class:V(["v-sheet",o.value,n.value,l.value,c.value,m.value,u.value,e.class]),style:y([t.value,r.value,i.value,e.style])},a)),{}}});export{N as V,F as m};

View File

@ -1 +1 @@
import{g as f,aC as k,bo as x,aq as y,b as S,i as r,E as C,F as L,a3 as w,as as B,e as P,bp as V,p as T,bj as A,bq as _,f as E,d as F}from"./index-wZZo_do4.js";const j={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function q(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:F(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function l(e){const[a,t]=e.split("@");return Array.from({length:t}).map(()=>i(a))}function i(e){let a=[];if(!e)return a;const t=j[e];if(e!==t){if(e.includes(","))return d(e);if(e.includes("@"))return l(e);t.includes(",")?a=d(t):t.includes("@")?a=l(t):t&&a.push(i(t))}return[q(e,a)]}function d(e){return e.replace(/\s/g,"").split(",").map(i)}const D=T({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...E(),..._(),...A()},"VSkeletonLoader"),z=f()({name:"VSkeletonLoader",inheritAttrs:!1,props:D(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:c,backgroundColorStyles:u}=k(()=>e.color),{dimensionStyles:g}=P(e),{elevationClasses:m}=V(e),{themeClasses:v}=x(e),{t:b}=y(),p=w(()=>i(B(e.type).join(",")));return S(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",C({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},v.value,c.value,m.value],style:[u.value,g.value]},h,t),[p.value]):r(L,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{z as V};
import{g as f,aC as k,bo as x,aq as y,b as S,i as r,E as C,F as L,a3 as w,as as B,e as P,bp as V,p as T,bj as A,bq as _,f as E,d as F}from"./index-DS_mP1l0.js";const j={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function q(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:F(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function l(e){const[a,t]=e.split("@");return Array.from({length:t}).map(()=>i(a))}function i(e){let a=[];if(!e)return a;const t=j[e];if(e!==t){if(e.includes(","))return d(e);if(e.includes("@"))return l(e);t.includes(",")?a=d(t):t.includes("@")?a=l(t):t&&a.push(i(t))}return[q(e,a)]}function d(e){return e.replace(/\s/g,"").split(",").map(i)}const D=T({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...E(),..._(),...A()},"VSkeletonLoader"),z=f()({name:"VSkeletonLoader",inheritAttrs:!1,props:D(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:c,backgroundColorStyles:u}=k(()=>e.color),{dimensionStyles:g}=P(e),{elevationClasses:m}=V(e),{themeClasses:v}=x(e),{t:b}=y(),p=w(()=>i(B(e.type).join(",")));return S(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",C({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},v.value,c.value,m.value],style:[u.value,g.value]},h,t),[p.value]):r(L,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{z as V};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as N,aC as I,be as R,aq as w,aB as A,bf as O,bg as F,b as x,bh as $,c as g,i as h,a$ as D,I as L,J as H,E as m,t as M,e as W,p as T,a_ as X,f as Y,bi as _,bj as j,m as q,bk as E,bl as G,h as J,ar as U,aH as z,bm as K,an as k,au as Q,a3 as S,av as B,a2 as Z,aA as p,bn as ee}from"./index-wZZo_do4.js";const ae=T({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:X,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...J(),...G({location:"top end"}),...E(),...q(),...j(),..._({transition:"scale-rotate-transition"}),...Y()},"VBadge"),ne=N()({name:"VBadge",inheritAttrs:!1,props:ae(),setup(e,o){const{backgroundColorClasses:n,backgroundColorStyles:l}=I(()=>e.color),{roundedClasses:v}=R(e),{t:b}=w(),{textColorClasses:r,textColorStyles:u}=A(()=>e.textColor),{themeClasses:f}=O(),{locationStyles:V}=F(e,!0,a=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(a)?Number(e.offsetY??0):["left","right"].includes(a)?Number(e.offsetX??0):0)),{dimensionStyles:y}=W(e);return x(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=$(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return g(e.tag,m({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},d,{style:e.style}),{default:()=>{var t,s;return[h("div",{class:"v-badge__wrapper"},[(s=(t=o.slots).default)==null?void 0:s.call(t),g(D,{transition:e.transition},{default:()=>{var P,C;return[L(h("span",m({class:["v-badge__badge",f.value,n.value,v.value,r.value],style:[l.value,u.value,y.value,e.inline?{}:V.value],"aria-atomic":"true","aria-label":b(e.label,a),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(C=(P=o.slots).badge)==null?void 0:C.call(P):e.icon?g(M,{icon:e.icon},null):c]),[[H,e.modelValue]])]}})])]}})}),{}}}),te=T({id:String,interactive:Boolean,text:String,...p(ee({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","retainFocus","captureFocus","disableInitialFocus"])},"VTooltip"),ie=N()({name:"VTooltip",props:te(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=U(e,"modelValue"),{scopeId:v}=z(),b=K(),r=B(()=>e.id||`v-tooltip-${b}`),u=Z(),f=S(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=S(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=B(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return x(()=>{const c=k.filterProps(e);return g(k,m({ref:u,class:["v-tooltip",{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:r.value},c,{modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,transition:y.value,absolute:!0,location:f.value,origin:V.value,role:"tooltip",activatorProps:a.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),t=0;t<i;t++)d[t]=arguments[t];return((s=n.default)==null?void 0:s.call(n,...d))??e.text}})}),Q({},u)}});export{ie as V,ne as a};
import{g as N,aC as I,be as R,aq as w,aB as A,bf as O,bg as F,b as x,bh as $,c as g,i as h,a$ as D,I as L,J as H,E as m,t as M,e as W,p as T,a_ as X,f as Y,bi as _,bj as j,m as q,bk as E,bl as G,h as J,ar as U,aH as z,bm as K,an as k,au as Q,a3 as S,av as B,a2 as Z,aA as p,bn as ee}from"./index-DS_mP1l0.js";const ae=T({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:X,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...J(),...G({location:"top end"}),...E(),...q(),...j(),..._({transition:"scale-rotate-transition"}),...Y()},"VBadge"),ne=N()({name:"VBadge",inheritAttrs:!1,props:ae(),setup(e,o){const{backgroundColorClasses:n,backgroundColorStyles:l}=I(()=>e.color),{roundedClasses:v}=R(e),{t:b}=w(),{textColorClasses:r,textColorStyles:u}=A(()=>e.textColor),{themeClasses:f}=O(),{locationStyles:V}=F(e,!0,a=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(a)?Number(e.offsetY??0):["left","right"].includes(a)?Number(e.offsetX??0):0)),{dimensionStyles:y}=W(e);return x(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=$(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return g(e.tag,m({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},d,{style:e.style}),{default:()=>{var t,s;return[h("div",{class:"v-badge__wrapper"},[(s=(t=o.slots).default)==null?void 0:s.call(t),g(D,{transition:e.transition},{default:()=>{var P,C;return[L(h("span",m({class:["v-badge__badge",f.value,n.value,v.value,r.value],style:[l.value,u.value,y.value,e.inline?{}:V.value],"aria-atomic":"true","aria-label":b(e.label,a),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(C=(P=o.slots).badge)==null?void 0:C.call(P):e.icon?g(M,{icon:e.icon},null):c]),[[H,e.modelValue]])]}})])]}})}),{}}}),te=T({id:String,interactive:Boolean,text:String,...p(ee({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","retainFocus","captureFocus","disableInitialFocus"])},"VTooltip"),ie=N()({name:"VTooltip",props:te(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=U(e,"modelValue"),{scopeId:v}=z(),b=K(),r=B(()=>e.id||`v-tooltip-${b}`),u=Z(),f=S(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=S(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=B(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return x(()=>{const c=k.filterProps(e);return g(k,m({ref:u,class:["v-tooltip",{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:r.value},c,{modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,transition:y.value,absolute:!0,location:f.value,origin:V.value,role:"tooltip",activatorProps:a.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),t=0;t<i;t++)d[t]=arguments[t];return((s=n.default)==null?void 0:s.call(n,...d))??e.text}})}),Q({},u)}});export{ie as V,ne as a};

View File

@ -1 +1 @@
import{_ as c}from"./ExamConfigEditor-BXNBFQRf.js";import{_ as u,o as n,j as p,w as r,c as e,v as d,x as v,y as m,D as _}from"./index-wZZo_do4.js";import{c as g,b as x}from"./VAppBarTitle-ARAoPZOf.js";import{V as l}from"./VContainer-BtHsULJV.js";import"./dataProvider-C6luShKM.js";import"./serverRotation-DrICCXJn.js";import"./VAlert-DKfjhUNi.js";import"./VSkeletonLoader-D-CLGD3S.js";import"./VTooltip-DNQ4DtNB.js";import"./VChip-Ok7_JIqk.js";import"./VRow-BoDIw_Rl.js";import"./VTextField-WA3Rs3IZ.js";import"./VTextarea-BF_k2or0.js";import"./VSwitch-COqzOycM.js";import"./filter-CYSxk_t-.js";import"./VCheckboxBtn-Cu7Iq8d9.js";import"./VSheet-CnHyB6hc.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:c},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(o){this.id=o}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var o,t;(t=(o=this.$toast)==null?void 0:o.success)==null||t.call(o,"保存成功")},onError(o){var t,i;(i=(t=this.$toast)==null?void 0:t.error)==null||i.call(t,o||"保存失败")}}};function C(o,t,i,V,a,s){const f=c;return n(),p(l,{class:"pa-0"},{default:r(()=>[e(g,{elevation:"1"},{prepend:r(()=>[e(m,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=h=>o.$router.back())})]),default:r(()=>[e(x,{class:"text-h6"},{default:r(()=>[...t[1]||(t[1]=[d(" 编辑考试配置 ",-1)])]),_:1}),e(v),e(m,{loading:a.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:s.save},{default:r(()=>[...t[2]||(t[2]=[d(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(n(),p(f,{key:0,ref:"editor","config-id":a.id,onError:s.onError,onSaved:s.onSaved},null,8,["config-id","onError","onSaved"])):_("",!0)]),_:1})]),_:1})}const H=u(E,[["render",C]]);export{H as default};
import{_ as c}from"./ExamConfigEditor-Bht_-7d8.js";import{_ as u,o as n,j as p,w as r,c as e,v as d,x as v,y as m,D as _}from"./index-DS_mP1l0.js";import{c as g,b as x}from"./VAppBarTitle-BKEu3EYt.js";import{V as l}from"./VContainer-BfESQJFn.js";import"./dataProvider-d4kaP9eY.js";import"./serverRotation-mM--a4oc.js";import"./VAlert-C6vRZNCN.js";import"./VSkeletonLoader-Ci6QbomZ.js";import"./VTooltip-BIZwxB70.js";import"./VChip-DXbJhYeb.js";import"./VRow-t6OL9jRI.js";import"./VTextField-B3mgzys3.js";import"./VTextarea-DGS_A_Ul.js";import"./VSwitch-W6HBEtkv.js";import"./filter-CXn4g5S1.js";import"./VCheckboxBtn-C6cZpiqT.js";import"./VSheet-C1GOiZPj.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:c},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(o){this.id=o}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var o,t;(t=(o=this.$toast)==null?void 0:o.success)==null||t.call(o,"保存成功")},onError(o){var t,i;(i=(t=this.$toast)==null?void 0:t.error)==null||i.call(t,o||"保存失败")}}};function C(o,t,i,V,a,s){const f=c;return n(),p(l,{class:"pa-0"},{default:r(()=>[e(g,{elevation:"1"},{prepend:r(()=>[e(m,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=h=>o.$router.back())})]),default:r(()=>[e(x,{class:"text-h6"},{default:r(()=>[...t[1]||(t[1]=[d(" 编辑考试配置 ",-1)])]),_:1}),e(v),e(m,{loading:a.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:s.save},{default:r(()=>[...t[2]||(t[2]=[d(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(n(),p(f,{key:0,ref:"editor","config-id":a.id,onError:s.onError,onSaved:s.onSaved},null,8,["config-id","onError","onSaved"])):_("",!0)]),_:1})]),_:1})}const H=u(E,[["render",C]]);export{H as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{ao as V,ap as g,Z as _,s as c,k,o as u,j as l,w as e,c as a,l as y,q as C,v as i,A as d,z as h,ag as x,D as p,i as T,M as B,x as N,y as S,a2 as f}from"./index-wZZo_do4.js";import{V as w,a as R}from"./VRow-BoDIw_Rl.js";import{V as j}from"./VContainer-BtHsULJV.js";const M={__name:"authorize",setup(q){const m=V(),n=g(),s=f("processing"),r=f("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}c("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(c("device.uuid","00000000-0000-4000-8000-000000000000"),r.value="授权成功!已完成数据迁移。"):r.value="授权成功!",s.value="success",n.push("/")}catch(t){console.error("授权处理失败:",t),s.value="error",r.value=`授权失败: ${t.message}`}});const v=()=>{n.push("/")};return(t,o)=>(u(),l(j,{class:"fill-height",fluid:""},{default:e(()=>[a(w,{align:"center",justify:"center"},{default:e(()=>[a(R,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(y,null,{default:e(()=>[a(C,{class:"text-h5"},{default:e(()=>[i(d(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(u(),l(x,{key:0,class:"mb-4",color:"primary",indeterminate:""})):p("",!0),T("p",null,d(r.value),1)]),_:1}),s.value!=="processing"?(u(),l(B,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[i("返回首页",-1)])]),_:1})]),_:1})):p("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{M as default};
import{ao as V,ap as g,Z as _,s as c,k,o as u,j as l,w as e,c as a,l as y,q as C,v as i,A as d,z as h,ag as x,D as p,i as T,M as B,x as N,y as S,a2 as f}from"./index-DS_mP1l0.js";import{V as w,a as R}from"./VRow-t6OL9jRI.js";import{V as j}from"./VContainer-BfESQJFn.js";const M={__name:"authorize",setup(q){const m=V(),n=g(),s=f("processing"),r=f("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}c("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(c("device.uuid","00000000-0000-4000-8000-000000000000"),r.value="授权成功!已完成数据迁移。"):r.value="授权成功!",s.value="success",n.push("/")}catch(t){console.error("授权处理失败:",t),s.value="error",r.value=`授权失败: ${t.message}`}});const v=()=>{n.push("/")};return(t,o)=>(u(),l(j,{class:"fill-height",fluid:""},{default:e(()=>[a(w,{align:"center",justify:"center"},{default:e(()=>[a(R,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(y,null,{default:e(()=>[a(C,{class:"text-h5"},{default:e(()=>[i(d(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(u(),l(x,{key:0,class:"mb-4",color:"primary",indeterminate:""})):p("",!0),T("p",null,d(r.value),1)]),_:1}),s.value!=="processing"?(u(),l(B,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[i("返回首页",-1)])]),_:1})]),_:1})):p("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{M as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{aO as u,Z as f,o as c,j as g,w as t,c as e,l as p,q as V,v as l,Y as v,z as m,i as C,A as _,M as b,y,aP as D,aQ as x,a2 as r}from"./index-wZZo_do4.js";import{V as I}from"./VContainer-BtHsULJV.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),d=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),d.value=await x()}catch(i){console.error(i),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(i,a)=>(c(),g(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(v,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者以便进行问题排查。 ",-1)])]),_:1}),e(m,null,{default:t(()=>[a[2]||(a[2]=C("div",{class:"text-h6 mb-2"},"访客 ID",-1)),e(k,{class:"d-block pa-2 bg-grey-lighten-4 rounded mb-4"},{default:t(()=>[l(_(s.value||"加载中..."),1)]),_:1})]),_:1}),e(b,null,{default:t(()=>[e(y,{color:"primary",onClick:n,loading:o.value},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{S as default};
import{aO as u,Z as f,o as c,j as g,w as t,c as e,l as p,q as V,v as l,Y as v,z as m,i as C,A as _,M as b,y,aP as D,aQ as x,a2 as r}from"./index-DS_mP1l0.js";import{V as I}from"./VContainer-BfESQJFn.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),d=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),d.value=await x()}catch(i){console.error(i),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(i,a)=>(c(),g(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(v,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者以便进行问题排查。 ",-1)])]),_:1}),e(m,null,{default:t(()=>[a[2]||(a[2]=C("div",{class:"text-h6 mb-2"},"访客 ID",-1)),e(k,{class:"d-block pa-2 bg-grey-lighten-4 rounded mb-4"},{default:t(()=>[l(_(s.value||"加载中..."),1)]),_:1})]),_:1}),e(b,null,{default:t(()=>[e(y,{color:"primary",onClick:n,loading:o.value},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{S as default};

View File

@ -1 +1 @@
import{a2 as s,k as a,r as R,o as U,j as N,w as t,c as e,l as k,q as g,v as o,z as _,K as B,y as p,P as G,Q as C,a0 as T,a1 as D,A as S,s as n,a3 as c}from"./index-wZZo_do4.js";import{k as K}from"./dataProvider-C6luShKM.js";import{V as z,a as y}from"./VRow-BoDIw_Rl.js";import{V as A}from"./VForm-H0QuTex5.js";import{V as d}from"./VTextField-WA3Rs3IZ.js";import{V as F}from"./VContainer-BtHsULJV.js";import"./serverRotation-DrICCXJn.js";const I="kvinit.redirecting",M={__name:"debug-init",setup(P){const i=s(a("server.provider")||"kv-server"),v=s(a("server.kvToken")||""),m=s(a("device.uuid")||"00000000-0000-4000-8000-000000000000"),f=s(a("server.authDomain")||"https://cs.example.com"),w=()=>{n("server.provider",i.value),n("server.kvToken",v.value),n("device.uuid",m.value),n("server.authDomain",f.value),location.reload()},b=()=>{try{sessionStorage.removeItem(I)}catch(u){console.debug(u)}},x=()=>{K.loadNamespaceInfo=async()=>{throw new Error("模拟加载错误")},location.reload()},E=c(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=c(()=>JSON.stringify({provider:a("server.provider"),kvToken:a("server.kvToken"),uuid:a("device.uuid"),authDomain:a("server.authDomain")},null,2));return(u,l)=>{const V=R("v-list-item-content");return U(),N(F,null,{default:t(()=>[e(z,null,{default:t(()=>[e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(_,null,{default:t(()=>[e(A,null,{default:t(()=>[e(d,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=r=>i.value=r),label:"server.provider (kv-server/classworkscloud/other)"},null,8,["modelValue"]),e(d,{modelValue:v.value,"onUpdate:modelValue":l[1]||(l[1]=r=>v.value=r),label:"server.kvToken (空表示未授权)"},null,8,["modelValue"]),e(d,{modelValue:m.value,"onUpdate:modelValue":l[2]||(l[2]=r=>m.value=r),label:"device.uuid"},null,8,["modelValue"]),e(d,{modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=r=>f.value=r),label:"server.authDomain"},null,8,["modelValue"])]),_:1}),e(B,{class:"my-4"}),e(p,{class:"me-2",color:"primary",onClick:w},{default:t(()=>[...l[5]||(l[5]=[o(" 应用设置 ",-1)])]),_:1}),e(p,{class:"me-2",color:"secondary",onClick:b},{default:t(()=>[...l[6]||(l[6]=[o(" 清除重定向守卫 ",-1)])]),_:1}),e(p,{color:"error",onClick:x},{default:t(()=>[...l[7]||(l[7]=[o(" 模拟命名空间加载错误 ",-1)])]),_:1}),e(G,{"two-line":""},{default:t(()=>[e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(E.value),1)]),_:1})]),_:1})]),_:1}),e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(_,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{M as default};
import{a2 as s,k as a,r as R,o as U,j as N,w as t,c as e,l as k,q as g,v as o,z as _,K as B,y as p,P as G,Q as C,a0 as T,a1 as D,A as S,s as n,a3 as c}from"./index-DS_mP1l0.js";import{k as K}from"./dataProvider-d4kaP9eY.js";import{V as z,a as y}from"./VRow-t6OL9jRI.js";import{V as A}from"./VForm-D0L66uox.js";import{V as d}from"./VTextField-B3mgzys3.js";import{V as F}from"./VContainer-BfESQJFn.js";import"./serverRotation-mM--a4oc.js";const I="kvinit.redirecting",M={__name:"debug-init",setup(P){const i=s(a("server.provider")||"kv-server"),v=s(a("server.kvToken")||""),m=s(a("device.uuid")||"00000000-0000-4000-8000-000000000000"),f=s(a("server.authDomain")||"https://cs.example.com"),w=()=>{n("server.provider",i.value),n("server.kvToken",v.value),n("device.uuid",m.value),n("server.authDomain",f.value),location.reload()},b=()=>{try{sessionStorage.removeItem(I)}catch(u){console.debug(u)}},x=()=>{K.loadNamespaceInfo=async()=>{throw new Error("模拟加载错误")},location.reload()},E=c(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=c(()=>JSON.stringify({provider:a("server.provider"),kvToken:a("server.kvToken"),uuid:a("device.uuid"),authDomain:a("server.authDomain")},null,2));return(u,l)=>{const V=R("v-list-item-content");return U(),N(F,null,{default:t(()=>[e(z,null,{default:t(()=>[e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(_,null,{default:t(()=>[e(A,null,{default:t(()=>[e(d,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=r=>i.value=r),label:"server.provider (kv-server/classworkscloud/other)"},null,8,["modelValue"]),e(d,{modelValue:v.value,"onUpdate:modelValue":l[1]||(l[1]=r=>v.value=r),label:"server.kvToken (空表示未授权)"},null,8,["modelValue"]),e(d,{modelValue:m.value,"onUpdate:modelValue":l[2]||(l[2]=r=>m.value=r),label:"device.uuid"},null,8,["modelValue"]),e(d,{modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=r=>f.value=r),label:"server.authDomain"},null,8,["modelValue"])]),_:1}),e(B,{class:"my-4"}),e(p,{class:"me-2",color:"primary",onClick:w},{default:t(()=>[...l[5]||(l[5]=[o(" 应用设置 ",-1)])]),_:1}),e(p,{class:"me-2",color:"secondary",onClick:b},{default:t(()=>[...l[6]||(l[6]=[o(" 清除重定向守卫 ",-1)])]),_:1}),e(p,{color:"error",onClick:x},{default:t(()=>[...l[7]||(l[7]=[o(" 模拟命名空间加载错误 ",-1)])]),_:1}),e(G,{"two-line":""},{default:t(()=>[e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(E.value),1)]),_:1})]),_:1})]),_:1}),e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(_,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{M as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as u,u as m,a as _,b as d,c as n,n as p,d as f,e as v,p as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-wZZo_do4.js";const M=y({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=v(e),{mainStyles:c}=m(),{ssrBootStyles:i}=_();return d(()=>n(e.tag,{class:f(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:p([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default};
import{g as u,u as m,a as _,b as d,c as n,n as p,d as f,e as v,p as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-DS_mP1l0.js";const M=y({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=v(e),{mainStyles:c}=m(),{ssrBootStyles:i}=_();return d(()=>n(e.tag,{class:f(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:p([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default};

View File

@ -1 +1 @@
import{s as E}from"./socketClient-DnpcGL1m.js";const t={CHAT:"chat",KV_KEY_CHANGED:"kv-key-changed",URGENT_NOTICE:"urgent-notice",NOTIFICATION:"notification"};function m(e){if(!e||typeof e!="string")throw new Error("消息文本不能为空");E(t.CHAT,{text:e.trim()})}function I(e,n={}){if(!e||!e.type){console.warn("无效的设备事件数据:",e);return}const o=n[e.type];if(typeof o=="function")try{o(e)}catch(c){console.error(`处理设备事件 ${e.type} 时出错:`,c)}}function g(e){var n;if(e.type!==t.CHAT)throw new Error("不是聊天事件");return{text:((n=e.content)==null?void 0:n.text)||"",senderId:e.senderId,at:e.timestamp,uuid:e.uuid,senderInfo:e.senderInfo}}function T(e){var n,o,c,i,u,s;if(e.type!==t.KV_KEY_CHANGED)throw new Error("不是 KV 变化事件");return{uuid:e.uuid,key:(n=e.content)==null?void 0:n.key,action:(o=e.content)==null?void 0:o.action,created:(c=e.content)==null?void 0:c.created,updatedAt:(i=e.content)==null?void 0:i.updatedAt,deletedAt:(u=e.content)==null?void 0:u.deletedAt,batch:(s=e.content)==null?void 0:s.batch}}function p(e){var n,o,c,i;if(e.type!==t.URGENT_NOTICE)throw new Error("不是紧急通知事件");return{urgency:((n=e.content)==null?void 0:n.urgency)||"info",message:((o=e.content)==null?void 0:o.message)||"",targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp}}function y(e){var n,o,c,i;if(e.type!==t.NOTIFICATION)throw new Error("不是通知事件");return{message:((n=e.content)==null?void 0:n.message)||"",isUrgent:((o=e.content)==null?void 0:o.isUrgent)||!1,targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp,eventId:e.eventId}}function C(e){return e?e.deviceName==="realtime"?"实时同步":`${e.deviceName||"未知设备"} (${e.deviceType||"未知类型"})`:"未知设备"}function h(e={}){const{onChat:n,onKvChanged:o,onUrgentNotice:c,onNotification:i,onOtherEvent:u,enableLegacySupport:s=!0}=e;return d=>{I(d,{[t.CHAT]:r=>{if(n){const f=s?g(r):r;n(f,r)}},[t.KV_KEY_CHANGED]:r=>{if(o){const f=s?T(r):r;o(f,r)}},[t.URGENT_NOTICE]:r=>{if(c){const f=s?p(r):r;c(f,r)}},[t.NOTIFICATION]:r=>{if(i){const f=s?y(r):r;i(f,r)}}}),u&&d.type!==t.CHAT&&d.type!==t.KV_KEY_CHANGED&&d.type!==t.URGENT_NOTICE&&d.type!==t.NOTIFICATION&&u(d)}}export{t as D,h as c,C as f,m as s};
import{s as E}from"./socketClient-CooTl2jE.js";const t={CHAT:"chat",KV_KEY_CHANGED:"kv-key-changed",URGENT_NOTICE:"urgent-notice",NOTIFICATION:"notification"};function m(e){if(!e||typeof e!="string")throw new Error("消息文本不能为空");E(t.CHAT,{text:e.trim()})}function I(e,n={}){if(!e||!e.type){console.warn("无效的设备事件数据:",e);return}const o=n[e.type];if(typeof o=="function")try{o(e)}catch(c){console.error(`处理设备事件 ${e.type} 时出错:`,c)}}function g(e){var n;if(e.type!==t.CHAT)throw new Error("不是聊天事件");return{text:((n=e.content)==null?void 0:n.text)||"",senderId:e.senderId,at:e.timestamp,uuid:e.uuid,senderInfo:e.senderInfo}}function T(e){var n,o,c,i,u,s;if(e.type!==t.KV_KEY_CHANGED)throw new Error("不是 KV 变化事件");return{uuid:e.uuid,key:(n=e.content)==null?void 0:n.key,action:(o=e.content)==null?void 0:o.action,created:(c=e.content)==null?void 0:c.created,updatedAt:(i=e.content)==null?void 0:i.updatedAt,deletedAt:(u=e.content)==null?void 0:u.deletedAt,batch:(s=e.content)==null?void 0:s.batch}}function p(e){var n,o,c,i;if(e.type!==t.URGENT_NOTICE)throw new Error("不是紧急通知事件");return{urgency:((n=e.content)==null?void 0:n.urgency)||"info",message:((o=e.content)==null?void 0:o.message)||"",targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp}}function y(e){var n,o,c,i;if(e.type!==t.NOTIFICATION)throw new Error("不是通知事件");return{message:((n=e.content)==null?void 0:n.message)||"",isUrgent:((o=e.content)==null?void 0:o.isUrgent)||!1,targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp,eventId:e.eventId}}function C(e){return e?e.deviceName==="realtime"?"实时同步":`${e.deviceName||"未知设备"} (${e.deviceType||"未知类型"})`:"未知设备"}function h(e={}){const{onChat:n,onKvChanged:o,onUrgentNotice:c,onNotification:i,onOtherEvent:u,enableLegacySupport:s=!0}=e;return d=>{I(d,{[t.CHAT]:r=>{if(n){const f=s?g(r):r;n(f,r)}},[t.KV_KEY_CHANGED]:r=>{if(o){const f=s?T(r):r;o(f,r)}},[t.URGENT_NOTICE]:r=>{if(c){const f=s?p(r):r;c(f,r)}},[t.NOTIFICATION]:r=>{if(i){const f=s?y(r):r;i(f,r)}}}),u&&d.type!==t.CHAT&&d.type!==t.KV_KEY_CHANGED&&d.type!==t.URGENT_NOTICE&&d.type!==t.NOTIFICATION&&u(d)}}export{t as D,h as c,C as f,m as s};

View File

@ -1,4 +1,4 @@
import{_ as A}from"./ExamConfigEditor-BXNBFQRf.js";import{d as C}from"./dataProvider-C6luShKM.js";import{_ as z,o as p,j as h,w as i,c as s,l as y,q as V,t as g,v as l,Y as J,z as v,i as f,A as x,D,y as u,P as R,C as F,F as O,G as H,Q as L,a0 as U,a1 as j,L as B,H as S,N as X,M as T,x as k,k as P}from"./index-wZZo_do4.js";import{V as W,a as q}from"./VRow-BoDIw_Rl.js";import{V as N}from"./VAlert-DKfjhUNi.js";import{V as M}from"./VChip-Ok7_JIqk.js";import{V as G}from"./VSkeletonLoader-D-CLGD3S.js";import{V as Y}from"./VTextField-WA3Rs3IZ.js";import{V as K}from"./VTextarea-BF_k2or0.js";import{V as Q}from"./VContainer-BtHsULJV.js";import"./VTooltip-DNQ4DtNB.js";import"./VSwitch-COqzOycM.js";import"./filter-CYSxk_t-.js";import"./VCheckboxBtn-Cu7Iq8d9.js";import"./VSheet-CnHyB6hc.js";import"./serverRotation-DrICCXJn.js";const Z={name:"ExamScheduleManager",components:{ExamConfigEditor:A},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1,importDialog:!1,importJson:"",importError:"",importing:!1,datePickerDialog:!1,baseDate:"",virtualDateInfo:null,pendingImportConfig:null,aiDialog:!1,copied:!1}},async mounted(){await this.loadConfigs()},computed:{aiPrompt(){const a=new Date;return`Your task is to generate a JSON configuration file for an exam dashboard. Based on the exam information input by the user, generate the configuration strictly following these rules.
import{_ as A}from"./ExamConfigEditor-Bht_-7d8.js";import{d as C}from"./dataProvider-d4kaP9eY.js";import{_ as z,o as p,j as h,w as i,c as s,l as y,q as V,t as g,v as l,Y as J,z as v,i as f,A as x,D,y as u,P as R,C as F,F as O,G as H,Q as L,a0 as U,a1 as j,L as B,H as S,N as X,M as T,x as k,k as P}from"./index-DS_mP1l0.js";import{V as W,a as q}from"./VRow-t6OL9jRI.js";import{V as N}from"./VAlert-C6vRZNCN.js";import{V as M}from"./VChip-DXbJhYeb.js";import{V as G}from"./VSkeletonLoader-Ci6QbomZ.js";import{V as Y}from"./VTextField-B3mgzys3.js";import{V as K}from"./VTextarea-DGS_A_Ul.js";import{V as Q}from"./VContainer-BfESQJFn.js";import"./VTooltip-BIZwxB70.js";import"./VSwitch-W6HBEtkv.js";import"./filter-CXn4g5S1.js";import"./VCheckboxBtn-C6cZpiqT.js";import"./VSheet-C1GOiZPj.js";import"./serverRotation-mM--a4oc.js";const Z={name:"ExamScheduleManager",components:{ExamConfigEditor:A},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1,importDialog:!1,importJson:"",importError:"",importing:!1,datePickerDialog:!1,baseDate:"",virtualDateInfo:null,pendingImportConfig:null,aiDialog:!1,copied:!1}},async mounted(){await this.loadConfigs()},computed:{aiPrompt(){const a=new Date;return`Your task is to generate a JSON configuration file for an exam dashboard. Based on the exam information input by the user, generate the configuration strictly following these rules.
Generation Requirements:
* Output using JSON blocks in Markdown

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{k as n}from"./index-wZZo_do4.js";const u=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"];function f(t){if(t==="classworkscloud")return[...u];const o=n("server.domain");return o?[o]:[]}async function p(t,o={}){const d=o.provider||n("server.provider"),i=o.onServerTried,a=typeof i=="function",v=f(d),r=[];let c=null;for(const s of v)try{r.push({url:s,status:"trying"}),a&&i({url:s,status:"trying",tried:[...r]});const e=await t(s);return r[r.length-1].status="success",a&&i({url:s,status:"success",tried:[...r]}),e}catch(e){c=e,r[r.length-1].status="failed",r[r.length-1].error=e.message||String(e),a&&i({url:s,status:"failed",error:e,tried:[...r]}),console.warn(`Server ${s} failed:`,e.message)}console.error("All servers failed. Tried:",r);const l=c||new Error("All servers failed");throw l.triedServers=r,l}function S(){return n("server.provider")==="classworkscloud"?u[0]:n("server.domain")||""}function h(){return n("server.provider")==="classworkscloud"}export{S as g,h as i,p as t};
import{k as n}from"./index-DS_mP1l0.js";const u=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"];function f(t){if(t==="classworkscloud")return[...u];const o=n("server.domain");return o?[o]:[]}async function p(t,o={}){const d=o.provider||n("server.provider"),i=o.onServerTried,a=typeof i=="function",v=f(d),r=[];let c=null;for(const s of v)try{r.push({url:s,status:"trying"}),a&&i({url:s,status:"trying",tried:[...r]});const e=await t(s);return r[r.length-1].status="success",a&&i({url:s,status:"success",tried:[...r]}),e}catch(e){c=e,r[r.length-1].status="failed",r[r.length-1].error=e.message||String(e),a&&i({url:s,status:"failed",error:e,tried:[...r]}),console.warn(`Server ${s} failed:`,e.message)}console.error("All servers failed. Tried:",r);const l=c||new Error("All servers failed");throw l.triedServers=r,l}function S(){return n("server.provider")==="classworkscloud"?u[0]:n("server.domain")||""}function h(){return n("server.provider")==="classworkscloud"}export{S as g,h as i,p as t};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -75,7 +75,7 @@
/* 当被移除或隐藏时可渐隐(由应用控制) */
body.app-loaded #app-loader { opacity: 0; pointer-events: none; }
</style>
<script type="module" crossorigin src="./assets/index-wZZo_do4.js"></script>
<script type="module" crossorigin src="./assets/index-DS_mP1l0.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-C2bk7mxA.css">
<link rel="manifest" href="./manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head>
<body>

2
sw.js
View File

@ -1 +1 @@
if(!self.define){let e,s={};const a=(a,n)=>(a=new URL(a+".js",n).href,s[a]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()}).then(()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didnt register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let r={};const t=e=>a(e,c),f={module:{uri:c},exports:r,require:t};s[c]=Promise.all(n.map(e=>f[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-ec372ce3"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"index.html",revision:"e0d7e17fff113005ad0109c52c1fd353"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>{if(!s)return!1;const a=e.pathname;return!(a.includes("/assets/")||a.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});
if(!self.define){let e,s={};const a=(a,n)=>(a=new URL(a+".js",n).href,s[a]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()}).then(()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didnt register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let r={};const t=e=>a(e,c),f={module:{uri:c},exports:r,require:t};s[c]=Promise.all(n.map(e=>f[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-ec372ce3"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"index.html",revision:"a828fa8fe187837bc3e26641bcdf9db7"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>{if(!s)return!1;const a=e.pathname;return!(a.includes("/assets/")||a.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});