parent
1960077bdd
commit
483c582251
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{D as e,O as t,Z as n,_t as r,in as i,k as a,m as o,q as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{g as d}from"./api-rQwE0AaH.js";import{f,l as p,n as m,u as h}from"./index-DAT5gpOZ.js";import{t as g}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{t as _}from"./auth-CW8ToWeP.js";var v={class:`login-wrap`},y=g(a({__name:`AdminLoginView`,setup(a){let g=p(),y=h(),b=m(),x=r(``),S=r(``),C=r(!1);function w(e){return e instanceof Error&&e.message.trim()?e.message:typeof e==`string`&&e.trim()?e:`登录失败`}function T(){let e=d(typeof g.query.redirect==`string`?g.query.redirect:``);return e&&e.startsWith(`/admin`)&&!e.includes(`/login`)?{path:e,replace:!0}:{name:`admin-dashboard`,replace:!0}}async function E(){if(!x.value.trim()||!S.value.trim()){f.warning(`请输入账号和密码`);return}C.value=!0;try{let e=await _({username:x.value.trim(),password:S.value.trim()}),t=e.user&&typeof e.user.id==`number`?{id:e.user.id,username:e.user.username,name:e.user.name}:null;b.setSession(e.token,t),await y.replace(T()),f.success(`登录成功`)}catch(e){f.error(w(e))}finally{C.value=!1}}return(r,a)=>{let d=n(`el-input`),f=n(`el-form-item`),p=n(`el-button`),m=n(`el-form`),h=n(`el-card`);return s(),l(`div`,v,[t(h,{class:`login-card`,shadow:`hover`},{header:c(()=>[...a[2]||=[u(`div`,{class:`card-title`},`管理员登录`,-1)]]),default:c(()=>[t(m,{"label-position":`top`,onSubmit:o(E,[`prevent`])},{default:c(()=>[t(f,{label:`账号`},{default:c(()=>[t(d,{modelValue:x.value,"onUpdate:modelValue":a[0]||=e=>x.value=e,modelModifiers:{trim:!0},autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),t(f,{label:`密码`},{default:c(()=>[t(d,{modelValue:S.value,"onUpdate:modelValue":a[1]||=e=>S.value=e,type:`password`,autocomplete:`current-password`,"show-password":``},null,8,[`modelValue`])]),_:1}),t(p,{type:`danger`,class:`w-100`,"native-type":`submit`,loading:C.value},{default:c(()=>[e(i(C.value?`登录中…`:`登录`),1)]),_:1},8,[`loading`])]),_:1})]),_:1})])}}}),[[`__scopeId`,`data-v-d5661a24`]]);export{y as default};
|
||||
import{D as e,O as t,Z as n,_t as r,in as i,k as a,m as o,q as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{g as d}from"./api-rQwE0AaH.js";import{f,l as p,n as m,u as h}from"./index-t7bgup9e.js";import{t as g}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{t as _}from"./auth-Cjgu0CU4.js";var v={class:`login-wrap`},y=g(a({__name:`AdminLoginView`,setup(a){let g=p(),y=h(),b=m(),x=r(``),S=r(``),C=r(!1);function w(e){return e instanceof Error&&e.message.trim()?e.message:typeof e==`string`&&e.trim()?e:`登录失败`}function T(){let e=d(typeof g.query.redirect==`string`?g.query.redirect:``);return e&&e.startsWith(`/admin`)&&!e.includes(`/login`)?{path:e,replace:!0}:{name:`admin-dashboard`,replace:!0}}async function E(){if(!x.value.trim()||!S.value.trim()){f.warning(`请输入账号和密码`);return}C.value=!0;try{let e=await _({username:x.value.trim(),password:S.value.trim()}),t=e.user&&typeof e.user.id==`number`?{id:e.user.id,username:e.user.username,name:e.user.name}:null;b.setSession(e.token,t),await y.replace(T()),f.success(`登录成功`)}catch(e){f.error(w(e))}finally{C.value=!1}}return(r,a)=>{let d=n(`el-input`),f=n(`el-form-item`),p=n(`el-button`),m=n(`el-form`),h=n(`el-card`);return s(),l(`div`,v,[t(h,{class:`login-card`,shadow:`hover`},{header:c(()=>[...a[2]||=[u(`div`,{class:`card-title`},`管理员登录`,-1)]]),default:c(()=>[t(m,{"label-position":`top`,onSubmit:o(E,[`prevent`])},{default:c(()=>[t(f,{label:`账号`},{default:c(()=>[t(d,{modelValue:x.value,"onUpdate:modelValue":a[0]||=e=>x.value=e,modelModifiers:{trim:!0},autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),t(f,{label:`密码`},{default:c(()=>[t(d,{modelValue:S.value,"onUpdate:modelValue":a[1]||=e=>S.value=e,type:`password`,autocomplete:`current-password`,"show-password":``},null,8,[`modelValue`])]),_:1}),t(p,{type:`danger`,class:`w-100`,"native-type":`submit`,loading:C.value},{default:c(()=>[e(i(C.value?`登录中…`:`登录`),1)]),_:1},8,[`loading`])]),_:1})]),_:1})])}}}),[[`__scopeId`,`data-v-d5661a24`]]);export{y as default};
|
||||
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
@ -1 +1 @@
|
||||
import{C as e,D as t,Et as n,O as r,Q as i,S as a,W as o,Z as s,_t as c,ct as l,in as u,k as d,q as f,st as p,w as m,x as h}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{f as g}from"./index-DAT5gpOZ.js";import{t as _}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{a as v}from"./competitions-BSJLYyM3.js";import{t as y}from"./adminCompetition-m6obxaBw.js";import{t as b}from"./competitionAdminLabels-v0rVrY9u.js";import{t as x}from"./datetimeShanghai-D1tceWM9.js";var S={class:`page-header`},C={key:0,class:`pager`},w={class:`total`},T=_(d({__name:`CompetitionListView`,setup(d){let _=c([]),T=y(),E=c(!1),D=c(1),O=c(1),k=c(0),A=c(15);async function j(){E.value=!0;try{let e=await v({page:D.value,per_page:A.value});_.value=e.data,O.value=e.meta.last_page,k.value=e.meta.total,A.value=e.meta.per_page}catch(e){_.value=[],g.error(e instanceof Error?e.message:`加载失败`)}finally{E.value=!1}}function M(e){e<1||e>O.value||(D.value=e,j())}function N(e){return x(e)}return o(()=>{j()}),(o,c)=>{let d=s(`el-button`),g=s(`RouterLink`),v=s(`el-table-column`),y=s(`el-tag`),x=s(`el-table`),j=s(`el-pagination`),P=s(`el-card`),F=i(`loading`);return f(),m(`div`,null,[h(`div`,S,[c[1]||=h(`h2`,{class:`page-title`},`赛事列表`,-1),r(g,{to:{name:`admin-competition-new`}},{default:p(()=>[r(d,{type:`danger`},{default:p(()=>[...c[0]||=[t(`新建赛事`,-1)]]),_:1})]),_:1})]),r(P,{shadow:`never`},{default:p(()=>[l((f(),a(x,{data:_.value,stripe:``,style:{width:`100%`}},{empty:p(()=>[...c[3]||=[h(`span`,{class:`text-muted`},`暂无数据`,-1)]]),default:p(()=>[r(v,{prop:`name`,label:`名称`,"min-width":`140`,"show-overflow-tooltip":``}),r(v,{prop:`slug`,label:`访问地址`,"min-width":`120`,"show-overflow-tooltip":``}),r(v,{label:`状态`,width:`120`},{default:p(({row:e})=>[t(u(n(b)(e.status)),1)]),_:1}),r(v,{label:`对外可见`,width:`100`},{default:p(({row:e})=>[r(y,{type:e.published?`success`:`info`,size:`small`},{default:p(()=>[t(u(e.published?`是`:`否`),1)]),_:2},1032,[`type`])]),_:1}),r(v,{label:`报名开始`,"min-width":`160`},{default:p(({row:e})=>[t(u(N(e.signup_open_at??null)),1)]),_:1}),r(v,{label:`报名截止`,"min-width":`160`},{default:p(({row:e})=>[t(u(N(e.signup_close_at??null)),1)]),_:1}),r(v,{label:`操作`,width:`140`,fixed:`right`},{default:p(({row:e})=>[r(g,{to:{name:`admin-competition-workspace`},onClick:t=>n(T).selectCompetition(e.id)},{default:p(()=>[r(d,{type:`danger`,link:``},{default:p(()=>[...c[2]||=[t(`进入赛事中心`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[F,E.value]]),O.value>1?(f(),m(`div`,C,[h(`span`,w,`共 `+u(k.value)+` 条`,1),r(j,{background:``,layout:`prev, pager, next`,"current-page":D.value,"page-size":A.value,total:k.value,onCurrentChange:M},null,8,[`current-page`,`page-size`,`total`])])):e(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-0694ed3e`]]);export{T as default};
|
||||
import{C as e,D as t,Et as n,O as r,Q as i,S as a,W as o,Z as s,_t as c,ct as l,in as u,k as d,q as f,st as p,w as m,x as h}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{f as g}from"./index-t7bgup9e.js";import{t as _}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{a as v}from"./competitions-DP_OWCTo.js";import{t as y}from"./adminCompetition-DfRlbUCX.js";import{t as b}from"./competitionAdminLabels-v0rVrY9u.js";import{t as x}from"./datetimeShanghai-D1tceWM9.js";var S={class:`page-header`},C={key:0,class:`pager`},w={class:`total`},T=_(d({__name:`CompetitionListView`,setup(d){let _=c([]),T=y(),E=c(!1),D=c(1),O=c(1),k=c(0),A=c(15);async function j(){E.value=!0;try{let e=await v({page:D.value,per_page:A.value});_.value=e.data,O.value=e.meta.last_page,k.value=e.meta.total,A.value=e.meta.per_page}catch(e){_.value=[],g.error(e instanceof Error?e.message:`加载失败`)}finally{E.value=!1}}function M(e){e<1||e>O.value||(D.value=e,j())}function N(e){return x(e)}return o(()=>{j()}),(o,c)=>{let d=s(`el-button`),g=s(`RouterLink`),v=s(`el-table-column`),y=s(`el-tag`),x=s(`el-table`),j=s(`el-pagination`),P=s(`el-card`),F=i(`loading`);return f(),m(`div`,null,[h(`div`,S,[c[1]||=h(`h2`,{class:`page-title`},`赛事列表`,-1),r(g,{to:{name:`admin-competition-new`}},{default:p(()=>[r(d,{type:`danger`},{default:p(()=>[...c[0]||=[t(`新建赛事`,-1)]]),_:1})]),_:1})]),r(P,{shadow:`never`},{default:p(()=>[l((f(),a(x,{data:_.value,stripe:``,style:{width:`100%`}},{empty:p(()=>[...c[3]||=[h(`span`,{class:`text-muted`},`暂无数据`,-1)]]),default:p(()=>[r(v,{prop:`name`,label:`名称`,"min-width":`140`,"show-overflow-tooltip":``}),r(v,{prop:`slug`,label:`访问地址`,"min-width":`120`,"show-overflow-tooltip":``}),r(v,{label:`状态`,width:`120`},{default:p(({row:e})=>[t(u(n(b)(e.status)),1)]),_:1}),r(v,{label:`对外可见`,width:`100`},{default:p(({row:e})=>[r(y,{type:e.published?`success`:`info`,size:`small`},{default:p(()=>[t(u(e.published?`是`:`否`),1)]),_:2},1032,[`type`])]),_:1}),r(v,{label:`报名开始`,"min-width":`160`},{default:p(({row:e})=>[t(u(N(e.signup_open_at??null)),1)]),_:1}),r(v,{label:`报名截止`,"min-width":`160`},{default:p(({row:e})=>[t(u(N(e.signup_close_at??null)),1)]),_:1}),r(v,{label:`操作`,width:`140`,fixed:`right`},{default:p(({row:e})=>[r(g,{to:{name:`admin-competition-workspace`},onClick:t=>n(T).selectCompetition(e.id)},{default:p(()=>[r(d,{type:`danger`,link:``},{default:p(()=>[...c[2]||=[t(`进入赛事中心`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[F,E.value]]),O.value>1?(f(),m(`div`,C,[h(`span`,w,`共 `+u(k.value)+` 条`,1),r(j,{background:``,layout:`prev, pager, next`,"current-page":D.value,"page-size":A.value,total:k.value,onCurrentChange:M},null,8,[`current-page`,`page-size`,`total`])])):e(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-0694ed3e`]]);export{T as default};
|
||||
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
@ -1 +1 @@
|
||||
.manage-pledge-sig-row[data-v-1a2ba7ac]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem .65rem;display:flex}.manage-promise-sig-img[data-v-1a2ba7ac]{vertical-align:middle;object-fit:contain;width:auto;max-width:140px;height:auto;max-height:48px;display:inline-block}.promise-doc-body--rich[data-v-1a2ba7ac]{text-align:justify;font-size:.95rem;line-height:1.65}.promise-doc-body--rich[data-v-1a2ba7ac] p{margin-bottom:.75rem}#managePledgeModal .manage-detail-modal--pledge{--bs-modal-width:min(32rem, calc(100vw - 1.5rem));max-width:min(32rem,100vw - 1.5rem)}#managePledgeModal .promise-doc-scroll{max-height:min(38vh,100dvh - 15rem);overflow-y:auto}
|
||||
.manage-pledge-sig-row[data-v-8fadd682]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem .65rem;display:flex}.manage-promise-sig-img[data-v-8fadd682]{vertical-align:middle;object-fit:contain;width:auto;max-width:140px;height:auto;max-height:48px;display:inline-block}.promise-doc-body--rich[data-v-8fadd682]{text-align:justify;font-size:.95rem;line-height:1.65}.promise-doc-body--rich[data-v-8fadd682] p{margin-bottom:.75rem}#managePledgeModal .manage-detail-modal--pledge{--bs-modal-width:min(32rem, calc(100vw - 1.5rem));max-width:min(32rem,100vw - 1.5rem)}#managePledgeModal .promise-doc-scroll{max-height:min(38vh,100dvh - 15rem);overflow-y:auto}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{O as e,k as t,q as n,w as r}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{t as i}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{t as a}from"./ReviewerManageView-D2W38ovd.js";var o={class:`manage-reviewers-wrap`},s=i(t({__name:`ManageReviewersView`,setup(t){return(t,i)=>(n(),r(`div`,o,[e(a)]))}}),[[`__scopeId`,`data-v-d6e992f3`]]);export{s as default};
|
||||
import{O as e,k as t,q as n,w as r}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{t as i}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{t as a}from"./ReviewerManageView-DQKBYPkH.js";var o={class:`manage-reviewers-wrap`},s=i(t({__name:`ManageReviewersView`,setup(t){return(t,i)=>(n(),r(`div`,o,[e(a)]))}}),[[`__scopeId`,`data-v-d6e992f3`]]);export{s as default};
|
||||
@ -1 +1 @@
|
||||
import{W as e,_t as t,in as n,k as r,q as i,w as a}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{a as o,d as s,n as c}from"./api-rQwE0AaH.js";import{l,u}from"./index-DAT5gpOZ.js";var d={class:`container py-5 text-center`},f={key:0,class:`text-danger`},p={key:1,class:`text-secondary`},m=r({__name:`ParticipantImpersonateEntryView`,setup(r){let m=l(),h=u(),g=t(``);return e(()=>{let e=String(m.params.slug??``).trim(),t=String(m.query.token??``).trim();if(!e||!t){g.value=`代登参数无效`;return}localStorage.setItem(s,t),localStorage.setItem(o,e),sessionStorage.setItem(c,`1`),h.replace({name:`participant-apply`,params:{slug:e}})}),(e,t)=>(i(),a(`div`,d,[g.value?(i(),a(`p`,f,n(g.value),1)):(i(),a(`p`,p,`正在进入选手端…`))]))}});export{m as default};
|
||||
import{W as e,_t as t,in as n,k as r,q as i,w as a}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{a as o,d as s,n as c}from"./api-rQwE0AaH.js";import{l,u}from"./index-t7bgup9e.js";var d={class:`container py-5 text-center`},f={key:0,class:`text-danger`},p={key:1,class:`text-secondary`},m=r({__name:`ParticipantImpersonateEntryView`,setup(r){let m=l(),h=u(),g=t(``);return e(()=>{let e=String(m.params.slug??``).trim(),t=String(m.query.token??``).trim();if(!e||!t){g.value=`代登参数无效`;return}localStorage.setItem(s,t),localStorage.setItem(o,e),sessionStorage.setItem(c,`1`),h.replace({name:`participant-apply`,params:{slug:e}})}),(e,t)=>(i(),a(`div`,d,[g.value?(i(),a(`p`,f,n(g.value),1)):(i(),a(`p`,p,`正在进入选手端…`))]))}});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
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
@ -1 +1 @@
|
||||
import{_t as e,b as t}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{t as n}from"./api-rQwE0AaH.js";import{y as r}from"./index-DAT5gpOZ.js";function i(){let e=localStorage.getItem(n);if(!e)return null;let t=Number(e);return Number.isFinite(t)&&t>0?t:null}var a=r(`adminCompetitionContext`,()=>{let r=e([]),a=e(i()),o=t(()=>r.value.find(e=>e.id===a.value)??null);function s(e){r.value=e,a.value&&!e.some(e=>e.id===a.value)&&(a.value=e[0]?.id??null,l()),!a.value&&e[0]&&(a.value=e[0].id,l())}function c(e){a.value=e,l()}function l(){let e=a.value;e?localStorage.setItem(n,String(e)):localStorage.removeItem(n)}return{competitions:r,selectedCompetitionId:a,selectedCompetition:o,setCompetitionList:s,selectCompetition:c}});export{a as t};
|
||||
import{_t as e,b as t}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{t as n}from"./api-rQwE0AaH.js";import{y as r}from"./index-t7bgup9e.js";function i(){let e=localStorage.getItem(n);if(!e)return null;let t=Number(e);return Number.isFinite(t)&&t>0?t:null}var a=r(`adminCompetitionContext`,()=>{let r=e([]),a=e(i()),o=t(()=>r.value.find(e=>e.id===a.value)??null);function s(e){r.value=e,a.value&&!e.some(e=>e.id===a.value)&&(a.value=e[0]?.id??null,l()),!a.value&&e[0]&&(a.value=e[0].id,l())}function c(e){a.value=e,l()}function l(){let e=a.value;e?localStorage.setItem(n,String(e)):localStorage.removeItem(n)}return{competitions:r,selectedCompetitionId:a,selectedCompetition:o,setCompetitionList:s,selectCompetition:c}});export{a as t};
|
||||
@ -1 +1 @@
|
||||
import{a as e,i as t}from"./index-DAT5gpOZ.js";import{r as n,t as r}from"./downloadFeedback-aIJlOgpJ.js";function i(e){if(!e||typeof e!=`object`)throw Error(`列表响应格式无效`);let t=e;if(Array.isArray(t.data)&&typeof t.current_page==`number`){let e=t.data;return{data:e,meta:{current_page:t.current_page,last_page:typeof t.last_page==`number`?t.last_page:1,per_page:typeof t.per_page==`number`?t.per_page:e.length||15,total:typeof t.total==`number`?t.total:e.length}}}throw Error(`列表响应格式无效`)}async function a(e,n){let{data:r}=await t.get(`/competitions/${e}/applications`,{params:n});return i(r)}async function o(e,n){let{data:r}=await t.get(`/competitions/${e}/applications/${n}`);if(!r||typeof r!=`object`)throw Error(`报名详情无效`);return r}async function s(e,n,r){let{data:i}=await t.patch(`/competitions/${e}/applications/${n}/review-eligible`,{review_eligible:r});return i}async function c(n,r){try{let{data:e}=await t.post(`/competitions/${n}/applications/${r}/impersonate`);if(!e||typeof e!=`object`)throw Error(`代登响应无效`);let i=e;if(typeof i.token!=`string`||!i.token.trim())throw Error(`代登 Token 无效`);if(typeof i.competition_slug!=`string`||!i.competition_slug.trim())throw Error(`赛事标识无效`);return{token:i.token,competition_slug:i.competition_slug,expires_in:typeof i.expires_in==`number`?i.expires_in:1800,participant:i.participant&&typeof i.participant==`object`?i.participant:void 0}}catch(t){if(e.isAxiosError(t)){let e=t.response?.data;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t.trim())throw Error(t.trim())}}throw t instanceof Error?t:Error(`进入选手端失败`)}}async function l(e,i,a,o,s){let c=o?.trim()||`附件`,l=r(c,s?.size);if(l)try{let r=await t.get(`/competitions/${e}/applications/${i}/files/${a}/download`,{responseType:`blob`,timeout:0});l.setText(`正在保存「${c}」…`),u(r.data,c),n()}catch(e){throw await f(e,`下载附件失败`)}finally{l.close()}}function u(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}function d(e,t){if(!e)return t;let n=/filename\*=UTF-8''([^;]+)/i.exec(e);if(n?.[1])return decodeURIComponent(n[1]);let r=/filename="?([^";]+)"?/i.exec(e);return r?.[1]?r[1]:t}async function f(t,n){if(e.isAxiosError(t)){let e=t.response?.data;if(e instanceof Blob){let t=await e.text();try{let e=JSON.parse(t);return Error(e.errors?.export?.[0]||e.errors?.application_ids?.[0]||e.errors?.part?.[0]||e.errors?.file?.[0]||e.message||n)}catch{}}if(e&&typeof e==`object`){let t=e;return Error(t.errors?.export?.[0]||t.errors?.application_ids?.[0]||t.errors?.part?.[0]||t.errors?.file?.[0]||t.message||n)}}return t instanceof Error?t:Error(n)}async function p(e){return f(e,`导出失败`)}function m(e){return new Promise(t=>{window.setTimeout(t,e)})}function h(e){let{mode:t,application_ids:n,part:r,...i}=e,a={mode:t,...i};return n?.length&&(a.application_ids=n),r!=null&&(a.part=r),a}async function g(e,n){try{let{data:r}=await t.get(`/competitions/${e}/applications/export/meta`,{params:h(n)});if(!r||typeof r!=`object`)throw Error(`导出信息无效`);return r}catch(e){throw await p(e)}}async function _(e,n,r){let i;try{i=await t.get(`/competitions/${e}/applications/export`,{params:h({...n,part:r}),responseType:`blob`,timeout:0})}catch(e){throw await p(e)}let a=n.mode===`xlsx`?`报名信息.xlsx`:`报名信息导出_第${r}部分.zip`,o=d(i.headers[`content-disposition`],a);u(i.data,o)}async function v(e,t,n){let r=await g(e,t);if(t.mode===`xlsx`)return n?.(1,1),await _(e,t,1),r;for(let i=1;i<=r.part_count;i+=1)n?.(i,r.part_count),await _(e,t,i),i<r.part_count&&await m(500);return r}export{c as a,g as i,v as n,a as o,o as r,s,l as t};
|
||||
import{a as e,i as t}from"./index-t7bgup9e.js";import{r as n,t as r}from"./downloadFeedback-CVNWp7w4.js";function i(e){if(!e||typeof e!=`object`)throw Error(`列表响应格式无效`);let t=e;if(Array.isArray(t.data)&&typeof t.current_page==`number`){let e=t.data;return{data:e,meta:{current_page:t.current_page,last_page:typeof t.last_page==`number`?t.last_page:1,per_page:typeof t.per_page==`number`?t.per_page:e.length||15,total:typeof t.total==`number`?t.total:e.length}}}throw Error(`列表响应格式无效`)}async function a(e,n){let{data:r}=await t.get(`/competitions/${e}/applications`,{params:n});return i(r)}async function o(e,n){let{data:r}=await t.get(`/competitions/${e}/applications/${n}`);if(!r||typeof r!=`object`)throw Error(`报名详情无效`);return r}async function s(e,n,r){let{data:i}=await t.patch(`/competitions/${e}/applications/${n}/review-eligible`,{review_eligible:r});return i}async function c(n,r){try{let{data:e}=await t.post(`/competitions/${n}/applications/${r}/impersonate`);if(!e||typeof e!=`object`)throw Error(`代登响应无效`);let i=e;if(typeof i.token!=`string`||!i.token.trim())throw Error(`代登 Token 无效`);if(typeof i.competition_slug!=`string`||!i.competition_slug.trim())throw Error(`赛事标识无效`);return{token:i.token,competition_slug:i.competition_slug,expires_in:typeof i.expires_in==`number`?i.expires_in:1800,participant:i.participant&&typeof i.participant==`object`?i.participant:void 0}}catch(t){if(e.isAxiosError(t)){let e=t.response?.data;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t.trim())throw Error(t.trim())}}throw t instanceof Error?t:Error(`进入选手端失败`)}}async function l(e,i,a,o,s){let c=o?.trim()||`附件`,l=r(c,s?.size);if(l)try{let r=await t.get(`/competitions/${e}/applications/${i}/files/${a}/download`,{responseType:`blob`,timeout:0});l.setText(`正在保存「${c}」…`),u(r.data,c),n()}catch(e){throw await f(e,`下载附件失败`)}finally{l.close()}}function u(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}function d(e,t){if(!e)return t;let n=/filename\*=UTF-8''([^;]+)/i.exec(e);if(n?.[1])return decodeURIComponent(n[1]);let r=/filename="?([^";]+)"?/i.exec(e);return r?.[1]?r[1]:t}async function f(t,n){if(e.isAxiosError(t)){let e=t.response?.data;if(e instanceof Blob){let t=await e.text();try{let e=JSON.parse(t);return Error(e.errors?.export?.[0]||e.errors?.application_ids?.[0]||e.errors?.part?.[0]||e.errors?.file?.[0]||e.message||n)}catch{}}if(e&&typeof e==`object`){let t=e;return Error(t.errors?.export?.[0]||t.errors?.application_ids?.[0]||t.errors?.part?.[0]||t.errors?.file?.[0]||t.message||n)}}return t instanceof Error?t:Error(n)}async function p(e){return f(e,`导出失败`)}function m(e){return new Promise(t=>{window.setTimeout(t,e)})}function h(e){let{mode:t,application_ids:n,part:r,...i}=e,a={mode:t,...i};return n?.length&&(a.application_ids=n),r!=null&&(a.part=r),a}async function g(e,n){try{let{data:r}=await t.get(`/competitions/${e}/applications/export/meta`,{params:h(n)});if(!r||typeof r!=`object`)throw Error(`导出信息无效`);return r}catch(e){throw await p(e)}}async function _(e,n,r){let i;try{i=await t.get(`/competitions/${e}/applications/export`,{params:h({...n,part:r}),responseType:`blob`,timeout:0})}catch(e){throw await p(e)}let a=n.mode===`xlsx`?`报名信息.xlsx`:`报名信息导出_第${r}部分.zip`,o=d(i.headers[`content-disposition`],a);u(i.data,o)}async function v(e,t,n){let r=await g(e,t);if(t.mode===`xlsx`)return n?.(1,1),await _(e,t,1),r;for(let i=1;i<=r.part_count;i+=1)n?.(i,r.part_count),await _(e,t,i),i<r.part_count&&await m(500);return r}export{c as a,g as i,v as n,a as o,o as r,s,l as t};
|
||||
@ -1,3 +1,3 @@
|
||||
import{a as e,i as t}from"./index-DAT5gpOZ.js";async function n(n){try{let{data:e}=await t.post(`/auth/login`,n);return r(e)}catch(t){if(e.isAxiosError(t)){let e=t.response?.data,n=e&&typeof e==`object`?e:{},r=(typeof n.message==`string`?n.message:``)||(n.errors&&typeof n.errors==`object`?Object.values(n.errors).flat().join(`
|
||||
import{a as e,i as t}from"./index-t7bgup9e.js";async function n(n){try{let{data:e}=await t.post(`/auth/login`,n);return r(e)}catch(t){if(e.isAxiosError(t)){let e=t.response?.data,n=e&&typeof e==`object`?e:{},r=(typeof n.message==`string`?n.message:``)||(n.errors&&typeof n.errors==`object`?Object.values(n.errors).flat().join(`
|
||||
`):``)||t.message;throw Error(r||`登录失败`)}throw t}}function r(e){if(e&&typeof e==`object`){let t=e,n=t.data,r=(typeof t.token==`string`?t.token:void 0)??(typeof t.access_token==`string`?t.access_token:void 0)??(n&&typeof n.token==`string`?n.token:void 0);if(typeof r==`string`)return{token:r,user:t.user??t.admin??n?.user}}throw Error(`登录响应无效`)}async function i(n){try{await t.patch(`/auth/password`,n)}catch(t){if(e.isAxiosError(t)){let e=t.response?.data,n=e&&typeof e==`object`?e:{},r=(typeof n.message==`string`?n.message:``)||(n.errors&&typeof n.errors==`object`?Object.values(n.errors).flat().join(`
|
||||
`):``)||t.message;throw Error(r||`修改密码失败`)}throw t}}export{i as n,n as t};
|
||||
@ -1 +1 @@
|
||||
import{i as e}from"./index-DAT5gpOZ.js";function t(e){if(!e||typeof e!=`object`)throw Error(`列表响应格式无效`);let t=e;if(Array.isArray(t.data)&&typeof t.current_page==`number`){let e=t.data;return{data:e,meta:{current_page:t.current_page,last_page:typeof t.last_page==`number`?t.last_page:1,per_page:typeof t.per_page==`number`?t.per_page:e.length||15,total:typeof t.total==`number`?t.total:e.length}}}let n=t.data??t,r=n.data,i=n.meta;if(Array.isArray(r)&&i&&typeof i==`object`)return{data:r,meta:i};if(Array.isArray(t.data)){let e=t.data;return{data:e,meta:{current_page:1,last_page:1,per_page:e.length,total:e.length}}}throw Error(`列表响应格式无效`)}async function n(n){let{data:r}=await e.get(`/competitions`,{params:n});return t(r)}async function r(t){let{data:n}=await e.get(`/competitions/${t}`),r=n?.data??n;if(!r||typeof r!=`object`)throw Error(`赛事详情无效`);return r}async function i(t){let{data:n}=await e.post(`/competitions`,t),r=n?.data??n;if(!r||typeof r!=`object`)throw Error(`创建响应无效`);return r}async function a(t,n){let{data:r}=await e.patch(`/competitions/${t}`,n),i=r?.data??r;if(!i||typeof i!=`object`)throw Error(`更新响应无效`);return i}async function o(t,n){let{data:r}=await e.patch(`/competitions/${t}`,n),i=r?.data??r;if(!i||typeof i!=`object`)throw Error(`更新响应无效`);return i}async function s(t){let{data:n}=await e.get(`/competitions/${t}/tracks`),r=n?.data??n;if(!Array.isArray(r))throw Error(`赛道列表无效`);return r}async function c(t,n){let{data:r}=await e.post(`/competitions/${t}/tracks`,n),i=r?.data??r;if(!i||typeof i!=`object`)throw Error(`创建赛道无效`);return i}async function l(t,n,r){let{data:i}=await e.put(`/competitions/${t}/tracks/${n}`,r),a=i?.data??i;if(!a||typeof a!=`object`)throw Error(`更新赛道无效`);return a}async function u(t,n){await e.delete(`/competitions/${t}/tracks/${n}`)}export{n as a,a as c,r as i,l,c as n,s as o,u as r,o as s,i as t};
|
||||
import{i as e}from"./index-t7bgup9e.js";function t(e){if(!e||typeof e!=`object`)throw Error(`列表响应格式无效`);let t=e;if(Array.isArray(t.data)&&typeof t.current_page==`number`){let e=t.data;return{data:e,meta:{current_page:t.current_page,last_page:typeof t.last_page==`number`?t.last_page:1,per_page:typeof t.per_page==`number`?t.per_page:e.length||15,total:typeof t.total==`number`?t.total:e.length}}}let n=t.data??t,r=n.data,i=n.meta;if(Array.isArray(r)&&i&&typeof i==`object`)return{data:r,meta:i};if(Array.isArray(t.data)){let e=t.data;return{data:e,meta:{current_page:1,last_page:1,per_page:e.length,total:e.length}}}throw Error(`列表响应格式无效`)}async function n(n){let{data:r}=await e.get(`/competitions`,{params:n});return t(r)}async function r(t){let{data:n}=await e.get(`/competitions/${t}`),r=n?.data??n;if(!r||typeof r!=`object`)throw Error(`赛事详情无效`);return r}async function i(t){let{data:n}=await e.post(`/competitions`,t),r=n?.data??n;if(!r||typeof r!=`object`)throw Error(`创建响应无效`);return r}async function a(t,n){let{data:r}=await e.patch(`/competitions/${t}`,n),i=r?.data??r;if(!i||typeof i!=`object`)throw Error(`更新响应无效`);return i}async function o(t,n){let{data:r}=await e.patch(`/competitions/${t}`,n),i=r?.data??r;if(!i||typeof i!=`object`)throw Error(`更新响应无效`);return i}async function s(t){let{data:n}=await e.get(`/competitions/${t}/tracks`),r=n?.data??n;if(!Array.isArray(r))throw Error(`赛道列表无效`);return r}async function c(t,n){let{data:r}=await e.post(`/competitions/${t}/tracks`,n),i=r?.data??r;if(!i||typeof i!=`object`)throw Error(`创建赛道无效`);return i}async function l(t,n,r){let{data:i}=await e.put(`/competitions/${t}/tracks/${n}`,r),a=i?.data??i;if(!a||typeof a!=`object`)throw Error(`更新赛道无效`);return a}async function u(t,n){await e.delete(`/competitions/${t}/tracks/${n}`)}export{n as a,a as c,r as i,l,c as n,s as o,u as r,o as s,i as t};
|
||||
@ -1 +1 @@
|
||||
import{f as e}from"./index-DAT5gpOZ.js";var t=!1;function n(){return t}function r(e){return e==null||!Number.isFinite(e)||e<=0?``:e<1024*1024?`约 ${Math.max(1,Math.round(e/1024))} KB`:`约 ${(e/(1024*1024)).toFixed(1)} MB`}function i(n,i,a=`下载`){if(t)return e.warning(`附件正在${a}中,请勿重复点击`),null;t=!0;let o=n.trim()||`附件`,s=r(i),c=e({type:`info`,message:s?`正在准备${a}「${o}」(${s}),文件较大时请耐心等待…`:`正在准备${a}「${o}」,请稍候…`,duration:0,showClose:!0});return{setText:t=>{c.close(),c=e({type:`info`,message:t,duration:0,showClose:!0})},close:()=>{c.close(),t=!1}}}function a(){e.success(`下载已开始,请查看浏览器下载进度`)}export{n,a as r,i as t};
|
||||
import{f as e}from"./index-t7bgup9e.js";var t=!1;function n(){return t}function r(e){return e==null||!Number.isFinite(e)||e<=0?``:e<1024*1024?`约 ${Math.max(1,Math.round(e/1024))} KB`:`约 ${(e/(1024*1024)).toFixed(1)} MB`}function i(n,i,a=`下载`){if(t)return e.warning(`附件正在${a}中,请勿重复点击`),null;t=!0;let o=n.trim()||`附件`,s=r(i),c=e({type:`info`,message:s?`正在准备${a}「${o}」(${s}),文件较大时请耐心等待…`:`正在准备${a}「${o}」,请稍候…`,duration:0,showClose:!0});return{setText:t=>{c.close(),c=e({type:`info`,message:t,duration:0,showClose:!0})},close:()=>{c.close(),t=!1}}}function a(){e.success(`下载已开始,请查看浏览器下载进度`)}export{n,a as r,i as t};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{i as e}from"./index-DAT5gpOZ.js";function t(e){let t=e?.data??e;if(!t||typeof t!=`object`||!(`id`in t))throw Error(`公开来源渠道响应格式无效`);return t}async function n(){let{data:t}=await e.get(`/public-source-channels`),n=t?.data??t;if(!Array.isArray(n))throw Error(`公开来源渠道列表响应格式无效`);return n}async function r(n){let{data:r}=await e.post(`/public-source-channels`,n);return t(r)}async function i(n,r){let{data:i}=await e.put(`/public-source-channels/${n}`,r);return t(i)}export{n,i as r,r as t};
|
||||
import{i as e}from"./index-t7bgup9e.js";function t(e){let t=e?.data??e;if(!t||typeof t!=`object`||!(`id`in t))throw Error(`公开来源渠道响应格式无效`);return t}async function n(){let{data:t}=await e.get(`/public-source-channels`),n=t?.data??t;if(!Array.isArray(n))throw Error(`公开来源渠道列表响应格式无效`);return n}async function r(n){let{data:r}=await e.post(`/public-source-channels`,n);return t(r)}async function i(n,r){let{data:i}=await e.put(`/public-source-channels/${n}`,r);return t(i)}export{n,i as r,r as t};
|
||||
@ -1 +1 @@
|
||||
import{i as e}from"./index-DAT5gpOZ.js";function t(e){let t=e?.data??e;if(!t||typeof t!=`object`||!(`id`in t))throw Error(`渠道响应格式无效`);return t}async function n(t){let{data:n}=await e.get(`/competitions/${t}/signup-channels`),r=n?.data??n;if(!Array.isArray(r))throw Error(`渠道列表响应格式无效`);return r}async function r(n,r){let{data:i}=await e.get(`/competitions/${n}/signup-channels/${r}`);return t(i)}async function i(n,r){let{data:i}=await e.post(`/competitions/${n}/signup-channels`,r);return t(i)}async function a(n,r,i){let{data:a}=await e.put(`/competitions/${n}/signup-channels/${r}`,i);return t(a)}export{a as i,r as n,n as r,i as t};
|
||||
import{i as e}from"./index-t7bgup9e.js";function t(e){let t=e?.data??e;if(!t||typeof t!=`object`||!(`id`in t))throw Error(`渠道响应格式无效`);return t}async function n(t){let{data:n}=await e.get(`/competitions/${t}/signup-channels`),r=n?.data??n;if(!Array.isArray(r))throw Error(`渠道列表响应格式无效`);return r}async function r(n,r){let{data:i}=await e.get(`/competitions/${n}/signup-channels/${r}`);return t(i)}async function i(n,r){let{data:i}=await e.post(`/competitions/${n}/signup-channels`,r);return t(i)}async function a(n,r,i){let{data:a}=await e.put(`/competitions/${n}/signup-channels/${r}`,i);return t(a)}export{a as i,r as n,n as r,i as t};
|
||||
Loading…
Reference in new issue