1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2026-02-04 07:53:11 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Sunwuyuan
4261eb412c deploy: f3534f9411c57d73294a3a5167adc85c3b4ea27f 2026-01-11 08:12:29 +00:00
Sunwuyuan
79ebfe6c33 deploy: 472519ef5ed07f1cce9202f220728dd4c320cd88 2026-01-11 07:35:11 +00:00
51 changed files with 82 additions and 79 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

View File

@ -1 +1 @@
import{aO as F,p as P,a0 as M,g as N,ar as O,au as y,bp as R,cr as j,aG as q,u as p,bo as G,bg as K,ce as W,be as H,aA as J,aq as Q,d as l,cs as U,i as s,n as f,e as b,v as X,E as S,aW as k,y as Y,cb as Z,bj as ee,m as ae,bk as te,cf as le,bl as ne,bq as se,f as oe,aK as ie,h as ce,a_ as re}from"./index-DuIDmMWM.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:re,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)},...ce(),...ie(),...oe(),...se(),...de(),...ne(),...le(),...te(),...ae(),...ee(),...Z({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=y(()=>{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}=p(e),{elevationClasses:A}=G(e),{locationStyles:B}=K(e),{positionClasses:I}=W(e),{roundedClasses:T}=H(e),{textColorClasses:D,textColorStyles:L}=J(()=>e.borderColor),{t:$}=Q(),u=y(()=>({"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:b(["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,A.value,I.value,T.value,x.value,e.class]),style:f([C.value,h.value,B.value,e.style]),role:"alert"},{default:()=>{var v,m;return[U(!1,"v-alert"),e.border&&s("div",{key:"border",class:b(["v-alert__border",D.value]),style:f(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(k,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(X,S({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(k,{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(Y,S({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,a0 as M,g as N,ar as O,au as y,bp as R,cu as j,aG as q,u as p,bo as G,bg as K,ch as W,be as H,aA as J,aq as Q,d as l,cv as U,i as s,n as f,e as b,v as X,E as S,aW as k,y as Y,ce as Z,bj as ee,m as ae,bk as te,ci as le,bl as ne,bq as se,f as oe,aK as ie,h as ce,a_ as re}from"./index-MzjtZtoq.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:re,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)},...ce(),...ie(),...oe(),...se(),...de(),...ne(),...le(),...te(),...ae(),...ee(),...Z({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=y(()=>{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}=p(e),{elevationClasses:A}=G(e),{locationStyles:B}=K(e),{positionClasses:I}=W(e),{roundedClasses:T}=H(e),{textColorClasses:D,textColorStyles:L}=J(()=>e.borderColor),{t:$}=Q(),u=y(()=>({"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:b(["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,A.value,I.value,T.value,x.value,e.class]),style:f([C.value,h.value,B.value,e.style]),role:"alert"},{default:()=>{var v,m;return[U(!1,"v-alert"),e.border&&s("div",{key:"border",class:b(["v-alert__border",D.value]),style:f(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(k,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(X,S({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(k,{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(Y,S({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-SuoAK8-p.js";import{g as V,p as v,ar as c,au as l,c as I,aC as k,d as x,E as h,a_ as b}from"./index-DuIDmMWM.js";const C=v({indeterminate:Boolean,indeterminateIcon:{type:b,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 I(()=>{const n=k(o.filterProps(e),["modelValue"]);return x(o,h(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-CBgnMoLO.js";import{g as V,p as v,ar as c,au as l,c as I,aC as k,d as x,E as h,a_ as b}from"./index-MzjtZtoq.js";const C=v({indeterminate:Boolean,indeterminateIcon:{type:b,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 I(()=>{const n=k(o.filterProps(e),["modelValue"]);return x(o,h(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

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as t,p as l,b7 as r,u as i,c as m,d as c,n as u,e as d,m as C,f,h as p}from"./index-DuIDmMWM.js";const y=l({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}=r(),{dimensionStyles:o}=i(e);return m(()=>c(e.tag,{class:d(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:u([o.value,e.style])},a)),{}}});export{g as V}; import{g as t,p as l,b7 as r,u as i,c as m,d as c,n as u,e as d,m as C,f,h as p}from"./index-MzjtZtoq.js";const y=l({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}=r(),{dimensionStyles:o}=i(e);return m(()=>c(e.tag,{class:d(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:u([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,p as v,Z as b,c as h,i as y,n as F,e as V,ax as R,h as P}from"./index-DuIDmMWM.js";import{h as k,i as C}from"./VTextField-8YZnnNa0.js";const S=v({...P(),...C()},"VForm"),z=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=b();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 h(()=>{var t;return y("form",{ref:n,class:V(["v-form",o.class]),style:F(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),R(r,n)}});export{z as V}; import{g as p,p as v,Z as b,c as h,i as y,n as F,e as V,ax as R,h as P}from"./index-MzjtZtoq.js";import{h as k,i as C}from"./VTextField-CgZDDjWc.js";const S=v({...P(),...C()},"VForm"),z=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=b();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 h(()=>{var t;return y("form",{ref:n,class:V(["v-form",o.class]),style:F(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),R(r,n)}});export{z as V};

File diff suppressed because one or more lines are too long

1
assets/VRow-CXK1IBNx.js Normal file
View File

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

View File

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

View File

@ -0,0 +1 @@
import{g as d,p as k,bp as v,aB as b,bz as C,u as P,bo as h,bg as g,ch as S,be as y,c as V,d as B,n as p,e as z,bj as R,m as T,bk as f,ci as D,bl as E,bq as L,f as j,h as q,bH as x}from"./index-MzjtZtoq.js";const F=k({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}=v(e),{backgroundColorClasses:n,backgroundColorStyles:t}=b(()=>e.color),{borderClasses:l}=C(e),{dimensionStyles:r}=P(e),{elevationClasses:c}=h(e),{locationStyles:u}=g(e),{positionClasses:i}=S(e),{roundedClasses:m}=y(e);return V(()=>B(e.tag,{class:z(["v-sheet",o.value,n.value,l.value,c.value,i.value,m.value,e.class]),style:p([t.value,r.value,u.value,e.style])},a)),{}}});export{N as V,F as m};

View File

@ -1 +1 @@
import{g as f,p as k,aB as x,u as y,bo as S,bp as B,aq as C,a0 as L,as as w,c as P,i as r,E as V,F as T,bj as A,bq as _,f as E,e as F}from"./index-DuIDmMWM.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=k({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}=x(()=>e.color),{dimensionStyles:g}=y(e),{elevationClasses:m}=S(e),{themeClasses:v}=B(e),{t:b}=C(),p=L(()=>i(w(e.type).join(",")));return P(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",V({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(T,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{z as V}; import{g as f,p as k,aB as x,u as y,bo as S,bp as B,aq as C,a0 as L,as as w,c as P,i as r,E as V,F as T,bj as A,bq as _,f as E,e as F}from"./index-MzjtZtoq.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=k({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}=x(()=>e.color),{dimensionStyles:g}=y(e),{elevationClasses:m}=S(e),{themeClasses:v}=B(e),{t:b}=C(),p=L(()=>i(w(e.type).join(",")));return P(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",V({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(T,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,p as x,aB as I,be as R,aq as w,aA as A,bf as O,bg as F,u as $,c as T,bh as D,d as g,i as h,a$ as L,I as H,J as M,E as m,v as W,f as X,bi as Y,bj as _,m as j,bk as q,bl as E,h as G,a_ as J,ar as U,aH as Z,bm as z,au as k,Z as K,a0 as S,an as B,ax as Q,aC as p,bn as ee}from"./index-DuIDmMWM.js";const ae=x({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:J,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...G(),...E({location:"top end"}),...q(),...j(),..._(),...Y({transition:"scale-rotate-transition"}),...X()},"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}=$(e);return T(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=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(L,{transition:e.transition},{default:()=>{var P,C;return[H(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(W,{icon:e.icon},null):c]),[[M,e.modelValue]])]}})])]}})}),{}}}),te=x({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=z(),r=k(()=>e.id||`v-tooltip-${b}`),u=K(),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=k(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return T(()=>{const c=B.filterProps(e);return g(B,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,p as x,aB as I,be as R,aq as w,aA as A,bf as O,bg as F,u as $,c as T,bh as D,d as g,i as h,a$ as L,I as H,J as M,E as m,v as W,f as X,bi as Y,bj as _,m as j,bk as q,bl as E,h as G,a_ as J,ar as U,aH as Z,bm as z,au as k,Z as K,a0 as S,an as B,ax as Q,aC as p,bn as ee}from"./index-MzjtZtoq.js";const ae=x({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:J,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...G(),...E({location:"top end"}),...q(),...j(),..._(),...Y({transition:"scale-rotate-transition"}),...X()},"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}=$(e);return T(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=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(L,{transition:e.transition},{default:()=>{var P,C;return[H(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(W,{icon:e.icon},null):c]),[[M,e.modelValue]])]}})])]}})}),{}}}),te=x({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=z(),r=k(()=>e.id||`v-tooltip-${b}`),u=K(),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=k(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return T(()=>{const c=B.filterProps(e);return g(B,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-Bc-OYmNb.js";import{_ as u,j as n,o as d,w as r,d as e,t as p,x as v,y as m,B as _}from"./index-DuIDmMWM.js";import{c as g,b as x}from"./VAppBarTitle-D0NajdpV.js";import{V as l}from"./VContainer-eho7cLZp.js";import"./dataProvider-D7g6uCs2.js";import"./VAlert-h5vu1U2g.js";import"./VSkeletonLoader-Ctl9EHyu.js";import"./VTooltip-C8myGh_t.js";import"./VChip-y4r4WsvC.js";import"./VRow-DkE_WSwE.js";import"./VTextField-8YZnnNa0.js";import"./VTextarea-hQ2UCbb7.js";import"./VSwitch-SuoAK8-p.js";import"./filter-JkXTXKXo.js";import"./VCheckboxBtn-Cx6EQIM2.js";import"./VSheet-BLT6m4Fa.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 d(),n(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]=[p(" 编辑考试配置 ",-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]=[p(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(d(),n(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 G=u(E,[["render",C]]);export{G as default}; import{_ as c}from"./ExamConfigEditor-41g3gRIn.js";import{_ as u,j as n,o as d,w as r,d as e,t as p,x as v,y as m,B as _}from"./index-MzjtZtoq.js";import{c as g,b as x}from"./VAppBarTitle-D3eDfB26.js";import{V as l}from"./VContainer-k-yi_BUi.js";import"./dataProvider-BdIWtBhm.js";import"./VAlert-BD8dDp50.js";import"./VSkeletonLoader-BJFbLNcR.js";import"./VTooltip-BP-zimXB.js";import"./VChip-COKvF6-H.js";import"./VRow-CXK1IBNx.js";import"./VTextField-CgZDDjWc.js";import"./VTextarea-JoSk8XhK.js";import"./VSwitch-CBgnMoLO.js";import"./filter-us24lw4t.js";import"./VCheckboxBtn-DKEwYf9l.js";import"./VSheet-ChBSukKD.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 d(),n(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]=[p(" 编辑考试配置 ",-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]=[p(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(d(),n(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 G=u(E,[["render",C]]);export{G 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 c,a1 as _,s as i,k,j as u,o as l,w as e,d as a,l as y,B as d,q as C,t as p,C as f,z as h,i as x,ag as B,M as T,x as N,y as S}from"./index-DuIDmMWM.js";import{V as w,a as R}from"./VRow-DkE_WSwE.js";import{V as j}from"./VContainer-eho7cLZp.js";const A={__name:"authorize",setup(q){const m=V(),n=g(),s=c("processing"),r=c("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}i("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(i("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)=>(l(),u(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(()=>[p(f(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(l(),u(B,{key:0,class:"mb-4",color:"primary",indeterminate:""})):d("",!0),x("p",null,f(r.value),1)]),_:1}),s.value!=="processing"?(l(),u(T,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[p("返回首页",-1)])]),_:1})]),_:1})):d("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{A as default}; import{ao as V,ap as g,Z as c,a1 as _,s as i,k,j as u,o as l,w as e,d as a,l as y,B as d,q as C,t as p,C as f,z as h,i as x,ag as B,M as T,x as N,y as S}from"./index-MzjtZtoq.js";import{V as w,a as R}from"./VRow-CXK1IBNx.js";import{V as j}from"./VContainer-k-yi_BUi.js";const A={__name:"authorize",setup(q){const m=V(),n=g(),s=c("processing"),r=c("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}i("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(i("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)=>(l(),u(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(()=>[p(f(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(l(),u(B,{key:0,class:"mb-4",color:"primary",indeterminate:""})):d("",!0),x("p",null,f(r.value),1)]),_:1}),s.value!=="processing"?(l(),u(T,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[p("返回首页",-1)])]),_:1})]),_:1})):d("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{A 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 r,a1 as f,j as c,o as g,w as t,d as e,l as p,q as V,t as l,Y as m,z as v,i as C,C as _,M as b,y,aP as D,aQ as x}from"./index-DuIDmMWM.js";import{V as I}from"./VContainer-eho7cLZp.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),i=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),i.value=await x()}catch(d){console.error(d),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(d,a)=>(g(),c(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(m,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者以便进行问题排查。 ",-1)])]),_:1}),e(v,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 r,a1 as f,j as c,o as g,w as t,d as e,l as p,q as V,t as l,Y as m,z as v,i as C,C as _,M as b,y,aP as D,aQ as x}from"./index-MzjtZtoq.js";import{V as I}from"./VContainer-k-yi_BUi.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),i=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),i.value=await x()}catch(d){console.error(d),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(d,a)=>(g(),c(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(m,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者以便进行问题排查。 ",-1)])]),_:1}),e(v,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{Z as s,k as a,a0 as k,r as R,j as U,o as N,w as t,d as e,l as g,q as _,t as o,z as C,K as B,y as p,P as G,Q as T,a3 as D,a4 as S,C as y,s as n}from"./index-DuIDmMWM.js";import{k as K}from"./dataProvider-D7g6uCs2.js";import{V as z,a as c}from"./VRow-DkE_WSwE.js";import{V as F}from"./VForm-BAcARueH.js";import{V as d}from"./VTextField-8YZnnNa0.js";import{V as P}from"./VContainer-eho7cLZp.js";const I="kvinit.redirecting",Z={__name:"debug-init",setup(j){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=k(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=k(()=>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 N(),U(P,null,{default:t(()=>[e(z,null,{default:t(()=>[e(c,{cols:"12",md:"6"},{default:t(()=>[e(g,null,{default:t(()=>[e(_,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(C,null,{default:t(()=>[e(F,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(T,null,{default:t(()=>[e(V,null,{default:t(()=>[e(D,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(S,null,{default:t(()=>[o(y(E.value),1)]),_:1})]),_:1})]),_:1}),e(T,null,{default:t(()=>[e(V,null,{default:t(()=>[e(D,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(S,null,{default:t(()=>[o(y(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(c,{cols:"12",md:"6"},{default:t(()=>[e(g,null,{default:t(()=>[e(_,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(C,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{Z as default}; import{Z as s,k as a,a0 as k,r as R,j as U,o as N,w as t,d as e,l as g,q as _,t as o,z as C,K as B,y as p,P as G,Q as T,a3 as D,a4 as S,C as y,s as n}from"./index-MzjtZtoq.js";import{k as K}from"./dataProvider-BdIWtBhm.js";import{V as z,a as c}from"./VRow-CXK1IBNx.js";import{V as F}from"./VForm-31Ap-xLp.js";import{V as d}from"./VTextField-CgZDDjWc.js";import{V as P}from"./VContainer-k-yi_BUi.js";const I="kvinit.redirecting",Z={__name:"debug-init",setup(j){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=k(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=k(()=>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 N(),U(P,null,{default:t(()=>[e(z,null,{default:t(()=>[e(c,{cols:"12",md:"6"},{default:t(()=>[e(g,null,{default:t(()=>[e(_,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(C,null,{default:t(()=>[e(F,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(T,null,{default:t(()=>[e(V,null,{default:t(()=>[e(D,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(S,null,{default:t(()=>[o(y(E.value),1)]),_:1})]),_:1})]),_:1}),e(T,null,{default:t(()=>[e(V,null,{default:t(()=>[e(D,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(S,null,{default:t(()=>[o(y(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(c,{cols:"12",md:"6"},{default:t(()=>[e(g,null,{default:t(()=>[e(_,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(C,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{Z as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as u,p as m,u as _,a as d,b as p,c as f,d as n,n as v,e 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-DuIDmMWM.js";const M=m({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=_(e),{mainStyles:c}=d(),{ssrBootStyles:i}=p();return f(()=>n(e.tag,{class:y(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:v([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,p as m,u as _,a as d,b as p,c as f,d as n,n as v,e 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-MzjtZtoq.js";const M=m({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=_(e),{mainStyles:c}=d(),{ssrBootStyles:i}=p();return f(()=>n(e.tag,{class:y(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:v([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-BFZLH2d4.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-DwFKwjKO.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-Bc-OYmNb.js";import{d as C}from"./dataProvider-D7g6uCs2.js";import{_ as z,j as h,o as p,w as i,d as s,l as y,q as V,t as l,v as g,Y as J,z as v,B as D,i as f,C as x,y as u,P as R,A as F,F as O,G as H,Q as L,a3 as U,a4 as B,L as j,H as S,N as X,M as T,x as k,k as P}from"./index-DuIDmMWM.js";import{V as W,a as q}from"./VRow-DkE_WSwE.js";import{V as N}from"./VAlert-h5vu1U2g.js";import{V as M}from"./VChip-y4r4WsvC.js";import{V as G}from"./VSkeletonLoader-Ctl9EHyu.js";import{V as Y}from"./VTextField-8YZnnNa0.js";import{V as K}from"./VTextarea-hQ2UCbb7.js";import{V as Q}from"./VContainer-eho7cLZp.js";import"./VTooltip-C8myGh_t.js";import"./VSwitch-SuoAK8-p.js";import"./filter-JkXTXKXo.js";import"./VCheckboxBtn-Cx6EQIM2.js";import"./VSheet-BLT6m4Fa.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-41g3gRIn.js";import{d as C}from"./dataProvider-BdIWtBhm.js";import{_ as z,j as h,o as p,w as i,d as s,l as y,q as V,t as l,v as g,Y as J,z as v,B as D,i as f,C as x,y as u,P as R,A as F,F as O,G as H,Q as L,a3 as U,a4 as B,L as j,H as S,N as X,M as T,x as k,k as P}from"./index-MzjtZtoq.js";import{V as W,a as q}from"./VRow-CXK1IBNx.js";import{V as N}from"./VAlert-BD8dDp50.js";import{V as M}from"./VChip-COKvF6-H.js";import{V as G}from"./VSkeletonLoader-BJFbLNcR.js";import{V as Y}from"./VTextField-CgZDDjWc.js";import{V as K}from"./VTextarea-JoSk8XhK.js";import{V as Q}from"./VContainer-k-yi_BUi.js";import"./VTooltip-BP-zimXB.js";import"./VSwitch-CBgnMoLO.js";import"./filter-us24lw4t.js";import"./VCheckboxBtn-DKEwYf9l.js";import"./VSheet-ChBSukKD.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: Generation Requirements:
* Output using JSON blocks in Markdown * Output using JSON blocks in Markdown

File diff suppressed because one or more lines are too long

16
assets/index-7onxoUdr.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}@media (prefers-reduced-motion: reduce){.v-navigation-drawer{transition:none}}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden}

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.settings-card[data-v-9c035df1]{height:100%}.source-text[data-v-a6a55e27],.contributor[data-v-a6a55e27]{opacity:.7;font-size:.9em}.fade-enter-active[data-v-a6a55e27],.fade-leave-active[data-v-a6a55e27]{transition:opacity .3s ease}.fade-enter-from[data-v-a6a55e27],.fade-leave-to[data-v-a6a55e27]{opacity:0}.setting-item[data-v-08b49b47]{border-radius:8px;transition:background-color .2s}.setting-text-field[data-v-08b49b47],.setting-select[data-v-08b49b47],.setting-number-field[data-v-08b49b47]{min-width:180px;border-radius:6px}.text-wrap[data-v-08b49b47]{white-space:normal;overflow-wrap:break-word;word-break:break-word}@media (max-width: 600px){.setting-item[data-v-08b49b47]{flex-wrap:wrap}}.settings-explorer[data-v-4d032f99]{padding:8px 0}.settings-json[data-v-4d032f99]{background-color:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.v-theme--dark .settings-json[data-v-4d032f99]{background-color:#ffffff0d}.setting-group[data-v-9af32ae4]{margin-bottom:16px}.v-card-text[data-v-67769fa2]{padding-top:0}.v-list-item[data-v-f87674cf]{border-bottom:1px solid rgba(0,0,0,.12)}.v-list-item[data-v-f87674cf]:last-child{border-bottom:none}.notification-sound-settings[data-v-0027fd4d]{margin:16px 0}.warning-container[data-v-0f36b655]{display:inline-block;margin-right:8px}.warning-chip[data-v-0f36b655]{animation:fade-in-0f36b655 .3s ease}@keyframes fade-in-0f36b655{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.teacher-card[data-v-16455a49]{transition:all .2s ease}.action-buttons[data-v-16455a49]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-16455a49]{border-color:rgb(var(--v-theme-warning))!important}.student-card[data-v-7e220985]{transition:all .2s ease}.action-buttons[data-v-7e220985]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-7e220985]{border-color:rgb(var(--v-theme-warning))!important}.font-monospace[data-v-67879974]{font-family:Consolas,Monaco,Courier New,monospace}code[data-v-67879974]{background-color:#0000000d;padding:2px 4px;border-radius:4px;font-size:.875em}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.settings-page .v-card{transition:transform .2s,box-shadow .2s}.settings-page .v-card:hover{box-shadow:0 4px 8px #0000001a!important}

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 +0,0 @@
.settings-card[data-v-9c035df1]{height:100%}.source-text[data-v-a6a55e27],.contributor[data-v-a6a55e27]{opacity:.7;font-size:.9em}.fade-enter-active[data-v-a6a55e27],.fade-leave-active[data-v-a6a55e27]{transition:opacity .3s ease}.fade-enter-from[data-v-a6a55e27],.fade-leave-to[data-v-a6a55e27]{opacity:0}.setting-item[data-v-08b49b47]{border-radius:8px;transition:background-color .2s}.setting-text-field[data-v-08b49b47],.setting-select[data-v-08b49b47],.setting-number-field[data-v-08b49b47]{min-width:180px;border-radius:6px}.text-wrap[data-v-08b49b47]{white-space:normal;overflow-wrap:break-word;word-break:break-word}@media (max-width: 600px){.setting-item[data-v-08b49b47]{flex-wrap:wrap}}.settings-explorer[data-v-4d032f99]{padding:8px 0}.settings-json[data-v-4d032f99]{background-color:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.v-theme--dark .settings-json[data-v-4d032f99]{background-color:#ffffff0d}.setting-group[data-v-9af32ae4]{margin-bottom:16px}.v-card-text[data-v-67769fa2]{padding-top:0}.v-list-item[data-v-f87674cf]{border-bottom:1px solid rgba(0,0,0,.12)}.v-list-item[data-v-f87674cf]:last-child{border-bottom:none}.warning-container[data-v-0f36b655]{display:inline-block;margin-right:8px}.warning-chip[data-v-0f36b655]{animation:fade-in-0f36b655 .3s ease}@keyframes fade-in-0f36b655{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.student-card[data-v-7e220985]{transition:all .2s ease}.action-buttons[data-v-7e220985]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-7e220985]{border-color:rgb(var(--v-theme-warning))!important}.font-monospace[data-v-67879974]{font-family:Consolas,Monaco,Courier New,monospace}code[data-v-67879974]{background-color:#0000000d;padding:2px 4px;border-radius:4px;font-size:.875em}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.settings-page .v-card{transition:transform .2s,box-shadow .2s}.settings-page .v-card:hover{box-shadow:0 4px 8px #0000001a!important}

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; } body.app-loaded #app-loader { opacity: 0; pointer-events: none; }
</style> </style>
<script type="module" crossorigin src="./assets/index-DuIDmMWM.js"></script> <script type="module" crossorigin src="./assets/index-MzjtZtoq.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-btKy2yxc.css"> <link rel="stylesheet" crossorigin href="./assets/index-btKy2yxc.css">
<link rel="manifest" href="./manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head> <link rel="manifest" href="./manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head>
<body> <body>

2
sw.js
View File

@ -1 +1 @@
if(!self.define){let e,a={};const s=(s,n)=>(s=new URL(s+".js",n).href,a[s]||new Promise(a=>{if("document"in self){const e=document.createElement("script");e.src=s,e.onload=a,document.head.appendChild(e)}else e=s,importScripts(s),a()}).then(()=>{let e=a[s];if(!e)throw new Error(`Module ${s} didnt register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(a[c])return;let r={};const t=e=>s(e,c),o={module:{uri:c},exports:r,require:t};a[c]=Promise.all(n.map(e=>o[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:"8d67a730cf3431c32ae0d1a18a53b38d"},{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:a})=>a&&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:a})=>a&&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:a})=>{if(!a)return!1;const s=e.pathname;return!(s.includes("/assets/")||s.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,c)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(s[i])return;let r={};const t=e=>a(e,i),f={module:{uri:i},exports:r,require:t};s[i]=Promise.all(n.map(e=>f[e]||t(e))).then(e=>(c(...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:"8b53fd2c5cf302f82978d6cfd64cd12f"},{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")});