You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
3.2 KiB

import{c as e,s as t}from"./index-D5exsJys.js";function n(t,n){if(e.isAxiosError(t)){let e=t.response?.data;if(e?.errors&&typeof e.errors==`object`){let t=Object.values(e.errors).flat()[0];if(t)throw Error(String(t))}if(typeof e?.message==`string`&&e.message.trim())throw Error(e.message.trim())}throw t instanceof Error?t:Error(n)}function r(e){let t=e?.data??e;if(!Array.isArray(t))throw Error(`列表响应无效`);return t}function i(e,t){let n=e?.data??e;if(!n||typeof n!=`object`)throw Error(t);return n}function a(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},schema_list_fields:Array.isArray(t.schema_list_fields)?t.schema_list_fields:void 0,schema_filter_fields:Array.isArray(t.schema_filter_fields)?t.schema_filter_fields:void 0}}throw Error(`列表响应格式无效`)}function o(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}function s(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)}async function c(e){try{let{data:n}=await t.get(`/competitions/${e}/audience-sessions`);return r(n)}catch(e){n(e,`加载观众场次失败`)}}async function l(e,r){try{let{data:n}=await t.post(`/competitions/${e}/audience-sessions`,r);return i(n,`创建场次无效`)}catch(e){n(e,`创建场次失败`)}}async function u(e,r,a){try{let{data:n}=await t.patch(`/competitions/${e}/audience-sessions/${r}`,a);return i(n,`更新场次无效`)}catch(e){n(e,`更新场次失败`)}}async function d(e,t,n){return u(e,t,n)}async function f(r,i){try{await t.delete(`/competitions/${r}/audience-sessions/${i}`)}catch(a){e.isAxiosError(a)&&a.response?.status===422&&n(a,`删除失败`);try{await t.post(`/competitions/${r}/audience-sessions/${i}/delete`)}catch(e){n(e,`删除失败`)}}}async function p(e,r){try{let{data:n}=await t.get(`/competitions/${e}/audience-registrations`,{params:r});return a(n)}catch(e){n(e,`加载观众报名失败`)}}async function m(e,n){let r=await t.get(`/competitions/${e}/audience-registrations/export`,{params:n,responseType:`blob`});if(r.data.type===`application/json`){let e=await r.data.text();try{let t=JSON.parse(e);throw Error(t.message||`导出失败`)}catch(e){throw e instanceof Error&&e.message!==`导出失败`?e:Error(`导出失败`)}}let i=o(r.headers[`content-disposition`],`观众报名.xlsx`);s(r.data,i)}async function h(e,r){try{let{data:n}=await t.get(`/competitions/${e}/audience-checkin-stats`,{params:r?{audience_session_id:r}:void 0});return n}catch(e){n(e,`加载到场统计失败`)}}async function g(e,r){try{let{data:n}=await t.post(`/competitions/${e}/audience-checkin`,r);return n}catch(e){n(e,`核销失败`)}}async function _(e,r){try{let{data:n}=await t.post(`/competitions/${e}/audience-registrations/${r}/checkin`);return n}catch(e){n(e,`核销失败`)}}export{m as a,c,f as i,u as l,_ as n,h as o,l as r,p as s,g as t,d as u};