Files
music-admin/.output/public/_nuxt/DHdvWMV9.js
poptong 83b162d2bd
Some checks failed
🚀 Deploy - Demo / deployment (push) Has been cancelled
🔧 웹훅 URL을 HTTPS로 수정
- 웹훅 URL을 https://admin.youtooplay.com/webhook로 변경
- Nginx 리버스 프록시 설정 파일 추가
- 배포 가이드 업데이트
2025-10-01 01:47:51 +09:00

2 lines
6.3 KiB
JavaScript

import{_ as j}from"./CSv7hpo5.js";import{bo as H,g as J,p as Y,B as Z,f as k,a8 as q,aY as Q,aZ as W,l as X,a_ as G,bp as K,bq as ee,a$ as ae,be as te,t as se,A as le,c as t,b4 as oe,V as ne,H as x,_ as L,m as re,ab as ie,ac as ue,ad as de,af as ce,br as me,bs as ve,ag as fe,x as pe,ah as ye,b as be,Q as Ve,R as ke,r as y,bt as ge,y as _e,a2 as Ce,Y as f,Z as l,aC as h,U as o,aL as xe,W as he,T as P,aD as Pe,X as S,a0 as Se,S as we,aJ as Te,J as w,a4 as Ie,$ as T,bu as I}from"./C0u2Lk3h.js";import{l as Be}from"./D3Ia18PY.js";import{a as Le,b as $e}from"./CewcwZMD.js";import{a as Ae,V as B}from"./DSEcO8b-.js";import{a as Me,V as b}from"./M3HjjlDm.js";import"./CCmxpPjt.js";/* empty css */const De=H("v-alert-title"),Ne=["success","info","warning","error"],Re=Y({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Ve,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=>Ne.includes(e)},...be(),...ye(),...pe(),...fe(),...ve(),...me(),...ce(),...de(),...ue(),...ie({variant:"flat"})},"VAlert"),ze=J()({name:"VAlert",props:Re(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{emit:d,slots:s}=n;const r=Z(e,"modelValue"),c=k(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),p=k(()=>({color:e.color??e.type,variant:e.variant})),{themeClasses:i}=q(e),{colorClasses:a,colorStyles:m,variantClasses:u}=Q(p),{densityClasses:$}=W(e),{dimensionStyles:A}=X(e),{elevationClasses:M}=G(e),{locationStyles:D}=K(e),{positionClasses:N}=ee(e),{roundedClasses:R}=ae(e),{textColorClasses:z,textColorStyles:F}=te(se(e,"borderColor")),{t:E}=le(),g=k(()=>({"aria-label":E(e.closeLabel),onClick(V){r.value=!1,d("click:close",V)}}));return()=>{const V=!!(s.prepend||c.value),O=!!(s.title||e.title),U=!!(s.close||e.closable);return r.value&&t(e.tag,{class:["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},i.value,a.value,$.value,M.value,N.value,R.value,u.value,e.class],style:[m.value,A.value,D.value,e.style],role:"alert"},{default:()=>{var _,C;return[oe(!1,"v-alert"),e.border&&t("div",{key:"border",class:["v-alert__border",z.value],style:F.value},null),V&&t("div",{key:"prepend",class:"v-alert__prepend"},[s.prepend?t(x,{key:"prepend-defaults",disabled:!c.value,defaults:{VIcon:{density:e.density,icon:c.value,size:e.prominent?44:28}}},s.prepend):t(ne,{key:"prepend-icon",density:e.density,icon:c.value,size:e.prominent?44:28},null)]),t("div",{class:"v-alert__content"},[O&&t(De,{key:"title"},{default:()=>{var v;return[((v=s.title)==null?void 0:v.call(s))??e.title]}}),((_=s.text)==null?void 0:_.call(s))??e.text,(C=s.default)==null?void 0:C.call(s)]),s.append&&t("div",{key:"append",class:"v-alert__append"},[s.append()]),U&&t("div",{key:"close",class:"v-alert__close"},[s.close?t(x,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var v;return[(v=s.close)==null?void 0:v.call(s,{props:g.value})]}}):t(L,re({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},g.value),null)])]}})}}}),Fe={class:"auth-wrapper d-flex align-center justify-center pa-4"},Ee={class:"position-relative my-sm-16"},Oe=["innerHTML"],We=ke({__name:"login",setup(e){const n=y({user_id:"",password:"",remember:!1}),d=y(!1),s=y(!1),r=y(""),c=ge();_e(()=>{});const p=async()=>{var i;if(!n.value.user_id||!n.value.password){r.value="아이디와 비밀번호를 입력해주세요.";return}s.value=!0,r.value="";try{const a=await $fetch("/api/auth/login",{method:"POST",body:{user_id:n.value.user_id,password:n.value.password}});if(a.success){const m=I("auth-token",{maxAge:86400,secure:!0,sameSite:"strict"});m.value=a.token;const u=I("user-info",{maxAge:60*60*24,secure:!0,sameSite:"strict"});u.value=JSON.stringify(a.user),await c.push("/dashboard")}else r.value=a.message||"로그인에 실패했습니다."}catch(a){console.error("Login error:",a),console.error("Error details:",{statusCode:a.statusCode,statusMessage:a.statusMessage,data:a.data}),r.value=((i=a.data)==null?void 0:i.statusMessage)||a.statusMessage||"로그인 중 오류가 발생했습니다."}finally{s.value=!1}};return(i,a)=>{const m=j;return P(),Ce("div",Fe,[f("div",Ee,[t(h,{src:l(Le),class:"text-primary auth-v1-top-shape d-none d-sm-block"},null,8,["src"]),t(h,{src:l($e),class:"text-primary auth-v1-bottom-shape d-none d-sm-block"},null,8,["src"]),t(he,{class:xe(["auth-card",i.$vuetify.display.smAndUp?"pa-6":"pa-0"]),"max-width":"460"},{default:o(()=>[t(Pe,{class:"justify-center"},{default:o(()=>[t(m,{to:"/",class:"app-logo"},{default:o(()=>[f("div",{class:"d-flex",innerHTML:l(Be)},null,8,Oe),a[4]||(a[4]=f("h1",{class:"app-logo-title"}," sneat ",-1))]),_:1})]),_:1}),t(S,null,{default:o(()=>[...a[5]||(a[5]=[f("h4",{class:"text-h4 mb-1"}," 음악 관리 시스템👋🏻 ",-1),f("p",{class:"mb-0"}," 계정에 로그인하여 관리 시스템을 시작하세요 ",-1)])]),_:1}),t(S,null,{default:o(()=>[t(Ae,{onSubmit:Se(p,["prevent"])},{default:o(()=>[t(Me,null,{default:o(()=>[l(r)?(P(),we(b,{key:0,cols:"12"},{default:o(()=>[t(ze,{type:"error",variant:"tonal",closable:"","onClick:close":a[0]||(a[0]=u=>r.value="")},{default:o(()=>[w(Ie(l(r)),1)]),_:1})]),_:1})):Te("",!0),t(b,{cols:"12"},{default:o(()=>[t(B,{id:("useId"in i?i.useId:l(T))(),modelValue:l(n).user_id,"onUpdate:modelValue":a[1]||(a[1]=u=>l(n).user_id=u),autofocus:"",label:"아이디",placeholder:"아이디를 입력하세요"},null,8,["id","modelValue"])]),_:1}),t(b,{cols:"12"},{default:o(()=>[t(B,{id:("useId"in i?i.useId:l(T))(),modelValue:l(n).password,"onUpdate:modelValue":a[2]||(a[2]=u=>l(n).password=u),label:"비밀번호",placeholder:"············",type:l(d)?"text":"password",autocomplete:"password","append-inner-icon":l(d)?"bx-hide":"bx-show","onClick:appendInner":a[3]||(a[3]=u=>d.value=!l(d))},null,8,["id","modelValue","type","append-inner-icon"])]),_:1}),t(b,{cols:"12"},{default:o(()=>[t(L,{block:"",type:"button",loading:l(s),disabled:l(s),onClick:p},{default:o(()=>[...a[6]||(a[6]=[w(" 로그인 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["class"])])])}}});export{We as default};