PageSourceSearch

https://www.cyff.org.tw/_nuxt/DDwcBii7.js

js cyff.org.tw collected 2026-10-01 12:00:11 UTC 10,288 bytes, 1 lines download raw bytes

1import{J as H,k as j,o as J,n as X,m as Y,a as U,c as K,B as Q}from"./DYUHsQ57.js";import{C as B,c as ee,_ as oe}from"./CgUyJ7dw.js";import{_ as te}from"./B8s3f9Gu.js";import{a as ae,u as se}from"./D4vjtaVS.js";import{u as re}from"./DBZXh3v5.js";import{u as ne,_ as le}from"./yNqLV1sw.js";import{b as ie,_ as ue}from"./RmvKP4Gw.js";import{a as _}from"./9qUC2LFD.js";import{k as de,b as pe,r as ce,C as me,w as fe,l as h,Z as _e,$ as u,_ as ve,a3 as l,a0 as s,u as o,M as c,L as be,a4 as ge,z as we,m as R}from"./Bs0Gx3pR.js";import{_ as ye}from"./BCjSv5Bo.js";import{_ as he,a as ke,b as xe}from"./CkLWuvaZ.js";import"./DAYoDYjn.js";import"./Cs_bYLlk.js";import"./C-j015bj.js";import"./Dum8WQ5N.js";import"./DTx4LFhn.js";import"./BaisTuZI.js";import"./DYKXtlrG.js";import"./BcBMzCpA.js";const Ee={class:"mx-auto max-w-1000px"},Ce={class:"relative"},Ne=l("div",{class:"fs-2 mb-5 text-center text-main-900 font-600"}," 會員註冊 ",-1),Ue={class:"fs-6 absolute right-0 top-50% translate-y--50%"},Be=l("div",{class:"fs-5 mb-10 bg-gradient-green-blue bg-gradient-to-l p-5 text-center text-white"},[c(" 請確實填寫下列的資料,完成後再送出,本系統將寄出認證回函至您的電子信箱。"),l("br"),c(" 您所填寫的相關資料,會謹慎保管且不將其運用於其他事務,敬請安心填寫。 ")],-1),Re={class:"mb-10 md:b-l-4 md:b-#51CC9F md:pl-10"},Me={class:"w-full flex items-center gap-4"},$e={class:"grid grid-cols-[auto_1fr] w-full items-center gap-2"},Ae=l("span",{class:"pr-4 font-600"},"(H)",-1),qe={class:"grid grid-cols-[auto_auto_1fr] items-center gap-2"},ze=l("span",{class:"px-2 lt-md:hidden"},"-",-1),Fe=l("span",{class:"pr-4 font-600"},"(O)",-1),Ie={class:"grid grid-cols-[auto_auto_1fr] items-center gap-2"},Se=l("span",{class:"px-2 lt-md:hidden"},"-",-1),Oe=l("span",{class:"pr-4 font-600"},"(M)",-1),Pe={class:"flex flex-wrap gap-x-4"},Te={class:"grid grid-cols-2 mx-auto mb-10 mt-5 max-w-500px gap-5"},lo=de({__name:"register",setup(Ve){const k=H(),M=ae(),b=se(),g=j(),$=J();k.userInfo&&X({path:"/member/login",query:g.query});const f=pe(!1),{isRunning:x,seconds:A,startCountdown:q,resetCountdown:z,stopCountdown:F}=re(60*60),{formRef:I,formModel:t,formRules:S,formError:v,submitForm:O,resetForm:E}=ne(()=>{const r={notify_edu:0,notify_eso:0,notify_emm:0,subscription:null};return{...r,account:"",otp:"",password:"",name:"",home_area:"",home_tel:"",office_area:"",office_tel:"",cellphone:"",password_re:"",gender:null,notify_edu:!!r.notify_edu,notify_eso:!!r.notify_eso,notify_emm:!!r.notify_emm}},{account:{validator(r,e){if(!e)return new Error("請輸入帳號");if(!_.email.test(e))return new Error("請輸入有效的電子郵件")}},otp:{required:!0,message:"請輸入驗證碼"},password:{validator(r,e){if(!e)return new Error("請輸入密碼");if(!_.password.test(e))return new Error("請至少輸入7個以上由英文(A~Z,a~z)、數字(0~9)混合的字元,不可使用特殊符號(如+,-,*,/,&,@)")}},password_re:{validator(r,e){if(!e)return new Error("請再輸入一次密碼");if(e!==t.value.password)return new Error("輸入內容與密碼不一致")}},name:{validator(r,e){if(!e)return new Error("請輸入姓名");if(t.value.gender===null)return new Error("請選擇性別")}},cellphone:{validator(){const{home_area:r,home_tel:e,office_area:d,office_tel:n,cellphone:i}=t.value;if(![r,e,d,n,i].some(Boolean))return new Error("請至少提供一組聯絡方式");if((r||e)&&(!r||!e||!_.tel.test(e)))return new Error("請輸入完整電話號碼(H)");if((d||n)&&(!d||!n||!_.tel.test(n)))return new Error("請輸入完整電話號碼(O)");if(i&&!_.cellphone.test(i))return new Error("請輸入有效的手機號碼")}},"subscription.subscription_category":{validator(r,e){var n,i;if(f.value&&!e)return new Error("請選擇類別");const d=ee.find(m=>m.value===e);if((n=d==null?void 0:d.children)!=null&&n.length&&!((i=t.value.subscription)!=null&&i.subscription_sub_category))return new Error("請選擇次類別")}},"subscription.same_address":{validator(r,e){if(!f.value||e!==0)return;const{send_country:d,send_city:n,send_area:i,send_address:m}=t.value.subscription??{};if(d!==B&&!m)return new Error("請輸入完整收件地址");if(d===B&&(!n||!i||!m))return new Error("請輸入完整收件地址")}},"subscription.subscription_lang":{validator(r,e){if(f.value&&!e)return new Error("請選擇語言")}}}),w=ce({labelWidth:void 0,labelPlacement:"top",labelAlign:"left",size:"large",showRequireMark:!1});me(()=>{const{lg:r}=Y(ie);
1fe(()=>{w.labelWidth=r.value?120:void 0,w.labelPlacement=r.value?"left":"top"})});const P=h(()=>({email:t.value.account})),T=h(()=>{const{password_re:r,notify_edu:e,notify_eso:d,notify_emm:n,...i}=t.value;return{...i,notify_edu:Number(e),notify_eso:Number(d),notify_emm:Number(n),...f.value?{}:{subscription:null}}}),p={otp:U("/api/frontend/cyff/member/verify",{method:"post",body:P,immediate:!1,watch:!1}),register:U("/api/frontend/cyff/member/register",{method:"post",body:T,immediate:!1,watch:!1})},C=h(()=>p.otp.status.value==="pending"||x.value||!_.email.test(t.value.account));async function V(){if(!C.value){if(await p.otp.execute(),p.otp.error.value){b(p.otp.error.value.message,{type:"error"});return}z(),q(),M("提醒您,驗證碼有效時間為60分鐘。",{type:"success",title:"驗證碼發送完成"})}}function Z(){p.register.status.value!=="pending"&&O(async()=>{if(await p.register.execute(),p.register.error.value){b(p.register.error.value.message,{type:"error"});return}await k.init(p.register.data.value.data),b("感謝您加入張榮發基金會會員",{type:"success",title:"會員註冊完成",positiveText:"確定",onPositiveClick(){$.replace({path:"/member/login",query:g.query})}}),F(),E()},r=>{b(()=>R("ul",{},Object.values(r).map(e=>R("li",e))))})}return(r,e)=>{const d=K,n=ue,i=ye,m=Q,N=ke,D=he,y=xe,L=oe,W=le,G=te;return ve(),_e(G,{class:"members_register"},{default:u(()=>[l("div",Ee,[l("div",Ce,[Ne,l("div",Ue,[s(d,{to:{path:"/member/login",query:o(g).query}
1,title:"返回登入"},{default:u(()=>[c(" 返回登入 ")]),_:1},8,["to"])])]),Be,l("div",Re,[s(W,be({ref_key:"formRef",ref:I,model:o(t),rules:o(S)},o(w)),{default:u(()=>[s(i,{class:"feedback_style",label:"帳號",path:"account",feedback:o(v).account?void 0:"帳號預設為電子信箱"},{default:u(()=>[s(n,{value:o(t).account,"onUpdate:value":e[0]||(e[0]=a=>o(t).account=a),placeholder:"請輸入帳號","input-props":{autocomplete:"off"}},null,8,["value"])]),_:1},8,["feedback"]),s(i,{label:"信箱驗證碼",path:"otp"},{default:u(()=>[s(n,{value:o(t).otp,"onUpdate:value":e[1]||(e[1]=a=>o(t).otp=a),placeholder:"請輸入信箱驗證碼"},null,8,["value"]),s(m,{class:"ml-2",type:"primary",disabled:o(C),onClick:V},{default:u(()=>[c(ge(o(x)?`重新發送 (${o(A)} 秒)`:"發送驗證碼"),1)]),_:1},8,["disabled"])]),_:1}),s(i,{label:"密碼",path:"password",feedback:o(v).password?void 0:"請至少輸入7個以上由英文(A~Z,a~z)、數字(0~9)混合的字元,不可使用特殊符號(如+,-,*,/,&,@)"},{default:u(()=>[s(n,{value:o(t).password,"onUpdate:value":e[2]||(e[2]=a=>o(t).password=a),type:"password","show-password-on":"click",placeholder:"請輸入密碼","input-props":{autocomplete:"off"}},null,8,["value"])]),_:1},8,["feedback"]),s(i,{label:"再輸入密碼",path:"password_re",feedback:o(v).password_re?void 0:"請至少輸入7個以上由英文(A~Z,a~z)、數字(0~9)混合的字元,不可使用特殊符號(如+,-,*,/,&,@)"},{default:u(()=>[s(n,{value:o(t).password_re,"onUpdate:value":e[3]||(e[3]=a=>o(t).password_re=a),type:"password","show-password-on":"click",placeholder:"請輸入密碼","input-props":{autocomplete:"off"}},null,8,["value"])]),_:1},8,["feedback"]),s(i,{label:"姓名",path:"name",feedback:o(v).name?void 0:"請填入完整姓名,不可包含空白"},{default:u(()=>[l("div",Me,[s(n,{value:o(t).name,"onUpdate:value":e[4]||(e[4]=a=>o(t).name=a),placeholder:"請輸入姓名"},null,8,["value"]),s(D,{value:o(t).gender,"onUpdate:value":e[5]||(e[5]=a=>o(t).gender=a),class:"flex gap-4"},{default:u(()=>[s(N,{value:1,label:"男"}),s(N,{value:2,label:"女"})]),_:1},8,["value"])])]),_:1},8,["feedback"]),s(i,{label:"電話",path:"cellphone",feedback:o(v).cellphone?void 0:"請至少提供一組聯絡方式",class:"feedback_style"},{default:u(()=>[l("div",$e,[Ae,l("div",qe,[s(n,{value:o(t).home_area,"onUpdate:value":e[6]||(e[6]=a=>o(t).home_area=a),class:"max-w-40",placeholder:"區碼"},null,8,["value"]),ze,s(n,{value:o(t).home_tel,"onUpdate:value":e[7]||(e[7]=a=>o(t).home_tel=a),class:"lt-md:grid-col-span-2",placeholder:"電話號碼,若有分機請加 #"},null,8,["value"])]),Fe,l("div",Ie,[s(n,{value:o(t).office_area,"onUpdate:value":e[8]||(e[8]=a=>o(t).office_area=a),class:"max-w-40",placeholder:"區碼"},null,8,["value"]),Se,s(n,{value:o(t).office_tel,"onUpdate:value":e[9]||(e[9]=a=>o(t).office_tel=a),class:"lt-md:grid-col-span-2",placeholder:"電話號碼,若有分機請加 #"},null,8,["value"])]),Oe,l("div",null,[s(n,{value:o(t).cellphone,"onUpdate:value":e[10]||(e[10]=a=>o(t).cellphone=a),placeholder:"手機號碼","input-props":{autocomplete:"off"}},null,8,["value"])])])]),_:1},8,["feedback"]),s(i,{label:"您是否同意接收以下單位之活動通知?","label-placement":"top"},{default:u(()=>[l("div",Pe,[s(y,{checked:o(t).notify_edu,"onUpdate:checked":e[11]||(e[11]=a=>o(t).notify_edu=a)},{default:u(()=>[c(" 張榮發文教公益 ")]),_:1},8,["checked"]),s(y,{checked:o(t).notify_eso,"onUpdate:checked":e[12]||(e[12]=a=>o(t).notify_eso=a)},{default:u(()=>[c(" 長榮交響樂團 ")]),_:1},8,["checked"]),s(y,{checked:o(t).notify_emm,"onUpdate:checked":e[13]||(e[13]=a=>o(t).notify_emm=a)},{default:u(()=>[c(" 長榮海事博物館 ")]),_:1},8,["checked"])])]),_:1}),s(L,{value:o(f),"onUpdate:value":e[14]||(e[14]=a=>we(f)?f.value=a:null),model:o(t).subscription,"onUpdate:model":e[15]||(e[15]=a=>o(t).subscription=a)},null,8,["value","model"]),l("div",Te,[s(m,{round:"",size:"large",type:"primary",title:"取消重填",class:"w-full",onClick:o(E)},{default:u(()=>[c(" 取消重填 ")]),_:1}
1,8,["onClick"]),s(m,{round:"",size:"large",type:"success",title:"確認送出",class:"w-full",onClick:Z},{default:u(()=>[c(" 確認送出 ")]),_:1})])]),_:1},16,["model","rules"])])])]),_:1})}}});export{lo as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.