PageSourceSearch

https://www.ftu.org.hk/_nuxt/DHAT1qHd.js

js ftu.org.hk collected 2026-09-25 04:50:56 UTC 15,705 bytes, 1 lines download raw bytes

1import{d as os,f as rs,g as is,h as we,i as _,c as b,j as cs,u as us,k as ps,l as i,o,m as t,e as r,n as Se,t as u,p as w,w as T,q as ds,E as vs,v as W,s as S,F as A,x as O,y as p,z as Ae,A as N,B as hs,b as _s,C as G,D as Oe,G as L,_ as ms}from"./D1FcBL9p.js";import{_ as ys}from"./Hi3xaYxS.js";/* empty css        *//* empty css        *//* empty css        */import{s as X,_ as Ne}from"./C2iMs2v9.js";import{_ as gs,a as bs,h as fs,c as ks,e as Ps}from"./DqszC-Fd.js";import{u as Cs}from"./C8uHJLGK.js";import{g as ws}from"./2GGPZ2Jq.js";import{m as Z,p as D,g as Ss,a as As,b as Os,c as Ns,d as Ts,S as Ls}from"./nDqXXtmZ.js";import{m as J}from"./DjFGz9xC.js";import{h as Ms}from"./nXLEEgK9.js";import{g as xs}from"./dHs4w_Xp.js";import{s as $s,f as Fs}from"./ClYCU76s.js";import{s as Is,a as Bs,u as Te}from"./Dk2WgwZp.js";import{u as Us}from"./D6_BiDgD.js";import{s as Rs}from"./GB6TE49s.js";import{S as Ds}from"./Br6zXOus.js";import{u as Es}from"./qJlnEoVS.js";import"./CXXDZoq4.js";const Vs=""+new URL("arrow-l.-_A88CUq.png",import.meta.url).href,Ys=""+new URL("arrow-r.tWmOLrwl.png",import.meta.url).href,qs={class:"shop-pc-container"},zs={class:"shop-pc-header-container"},Hs={class:"shop-pc-header-container-bg"},Ks={class:"filter-container"},js={class:"search-input-wrapper"},Ws=["placeholder"],Gs={class:"price-input-wrapper"},Xs={class:"price-input-group"},Zs=["placeholder"],Js=["placeholder"],Qs={class:"classification-container"},et={class:"classification-item-text"},st=["onClick"],tt={class:"classification-item-text"},at={class:"commodity-container no-scrollbar"},nt={key:0,class:"points-card-fixed"},lt={class:"points-card-label"},ot={class:"points-card-value-row"},rt=["src"],it={class:"points-card-value"},ct={class:"payment-method-container"},ut=["onClick"],pt=["src"],dt={class:"payment-label"},vt={class:"shop-banner-carousel__viewport"},ht={class:"shop-banner-carousel__track"},_t=["src"],mt=["src"],yt={key:0,class:"shop-banner-carousel__dots",role:"tablist"},gt=["aria-selected","onClick"],bt={class:"commodity-list-classification-title"},ft={class:"font"},kt=["onClick"],Pt={class:"commodity-item-container no-scrollbar"},Ct={class:"commodity-item-container-scroll-outside"},wt=["onClick"],St=["onClick"],At={key:0,class:"product-corner-badges"},Ot={class:"buy-start-badge"},Nt=["onClick"],Tt=["src"],Lt=["onClick"],Mt=["src"],xt=["onClick"],$t=["src"],Ft={key:0,class:"item-subName"},It={class:"item-productName"},Bt={key:1,class:"pay-type-container"},Ut={key:0,class:"pay-type-item"},Rt=["src"],Dt={class:"pay-type-price"},Et={key:1,class:"pay-type-item"},Vt=["src"],Yt={class:"pay-type-price"},qt={key:2,class:"pay-type-item"},zt=["src"],Ht={class:"pay-type-price"},Kt={class:"points-label"},jt={key:2,class:"pay-type-container"},Wt={key:0,class:"pay-type-item"},Gt=["src"],Xt={class:"pay-type-price"},Zt={key:1,class:"pay-type-item"},Jt=["src"],Qt={class:"pay-type-price"},ea={key:2,class:"pay-type-item"},sa=["src"],ta={class:"pay-type-price"},aa={class:"points-label"},na={class:"arrow-right-icon"},la=["onClick"],oa={class:"arrow-left-icon"},ra=["onClick"],ia=os({__name:"pc",setup(ca){const{langType:Le}=Cs(),{t:c}=rs(),E=is(),{toggleFavorite:Me}=Us(),M=we(),{getPath:x}=Es(),xe=s=>`${Fs(s.buyStartTime)}${c("shop.buyStartsSuffix")}`,$=_([]),V=_(""),Y=_(""),q=_(""),z=_([]),Q=_([]),f=_(""),F=_("ALL"),I=_(null),B=_(null),v=_([]),h=_(0),g=b(()=>v.value.length),H=b(()=>g.value?(h.value-1+g.value)%g.value:0),K=b(()=>g.value?(h.value+1)%g.value:0),k=s=>{g.value&&(h.value=(s%g.value+g.value)%g.value)},$e=()=>k(h.value-1),Fe=()=>k(h.value+1),ee=()=>[{image:X},{image:Ne},{image:X},{image:Ne}],Ie=new Set(["pc","1"]),Be=s=>Array.isArray(s)&&s.some(e=>Ie.has(String(e).trim().toLowerCase())),Ue=s=>{if(s==null||!String(s).trim())return null;const e=String(s).trim().replace(/^(\d{4}-\d{2}-\d{2})\s+/,"$1T"),a=new Date(e).getTime();return Number.isNaN(a)?null:a},Re=s=>{const e=Date.now();return s.filter(a=>a.imageUrl&&Be(a.publishPort)).filter(a=>{if(a.isPublished!=null&&a.isPublished!=="1")return!1;const d=Ue(a.removalTime);return!(d!=null&&d<e)}).sort((a,d)=>{var m,P;return((m=a.sort)!=null?m:0)-((P=d.sort)!=null?P:0)}).map(a=>({image:a.imageUrl,link:a.jumpLink&&String(a.jumpLink).trim()||void 0,title:a.title}))},De=s=>{const e=s.trim();if(e){if(/^https?:\/\//i.test(e)){window.open(e,"_blank","noopener,noreferrer");return}e.startsWith("/")&&M.push(x(e))}},Ee=()=>{var e;const s=(e=v.value[h.value])==null?void 0:e.link;s&&De(s)},Ve=async()=>{var s;try{const e=await Ss(),a=Array.isArray(e)?e:e&&typeof e=="object"&&Array.isArray(e.data)?(s=e.data)!=null?s:[]:[],d=Re(a);v.value=d.length>0?d:ee(),h.value=0}catch{v.value=ee(),h.value=0}},Ye=_([{value:"ALL",label:c("shop.allPaymentMethods")||"所有支付方式",icon:null,iconColor:null},{value:"ONLY_AMOUNT",label:c("shop.paymentPurchase")||"付款購買",icon:Z},{value:"ONLY_POINT",label:c("shop.pointExchange")||"積分兌換",icon:D},{value:"AMOUNT_POINT",label:c("shop.paymentPlusPoints")||"付款+積分",icon:J}]),C=b(()=>{const s=cs("ACCESS_TOKEN"),e=!!(s!=null&&s.value),a=E.isLoggedIn,d=!!E.userInfo;return!e&&a?(E.clearAuthState(),!1):e&&!d?!1:e&&a&&d}),U=()=>{ne()},qe=s=>{F.value=s,U()},se=s=>{f.value=s,U()},ze=b(()=>{const s=c("shop.searchPlaceholder");return s&&s!=="shop.searchPlaceholder"?s:"輸入關鍵字..."}),He=b(()=>{const s=c("shop.minPrice");return s&&s!=="shop.minPrice"?s:"最低價格"}),Ke=b(()=>{const s=c("shop.maxPrice");return s&&s!=="shop.maxPrice"?s:"最高價格"});us({title:c("shop.headerTitle")});const je=async()=>{const s=await ws("product_labels");z.value=s,Q.value=s||[];const e=[{label:c("shop.recommendedCommodity"),value:""},...s];$.value=e.map(a=>({label:a.label,value:a.value,list:[]}))},We=s=>{we().push({path:"/shop/detail",query:{id:s.id}})},te=(s,e)=>{var a;return`${s}-${(a=e==null?void 0:e.id)!=null?a:""}`},Ge=(s,e)=>{const a=te(e,s);B.value=B.value===a?null:a},Xe=()=>{B.value=null},ae=s=>{const e=s==null?void 0:s.productPrice;return!e||e.memberOnlyAmountFlag===1||e.nonMemberOnlyAmountFlag===1?"ONLY_AMOUNT":e.memberOnlyPointsFlag===1||e.nonMemberOnlyPointsFlag===1?"ONLY_POINT":e.memberPointsAmountFlag===1||e.nonMemberPointsAmountFlag===1?"AMOUNT_POINT":"ONLY_AMOUNT"},Ze=async s=>{const e=s==null?void 0:s.id;if(e==null)return;await Me(String(e),!!s.favorite)&&(s.favorite=!s.favorite)},Je=async s=>{if(!C.value){L.warning(c("login.loginTips"));return}const e=ae(s);await Ts({productId:String(s.id),payMethod:e,quantity:1,userMemberPriceFlag:Te(C.value,s)})?L.success(c("shop.addToCartSuccess")):L.error(c("shop.addToCartFailed"))},Qe=async s=>{if(!C.value){L.warning(c("login.loginTips"));return}const e=ae(s);if(!await Rs({commodity:s,quantity:1,payMethod:e,userMemberPriceFlag:Te(C.value,s)})){L.error(c("shop.checkoutDeptRequired"));return}M.push({path:x("/shop/checkout")})},es=s=>{M.push({path:x("/shop/category"),query:{label:s.label,value:s.value}})},ss=s=>{s.left<s.maxLeft&&(s.left+=1)},ts=s=>{s.left>0&&(s.left-=1)},as=b(()=>{const s=f.value;return s?$.value.filter(e=>e.value===s):$.value}),j=async s=>{const e=F.value==="ALL"?{}:{payMethod:F.value},a=await As({pageNo:1,pageSize:Ls,keyword:V.value.trim(),labels:s,sortType:1,...Os(Y.value,q.value),...e}),d=$.value.find(m=>m.value===s);d&&(d.list=a.list.map(m=>{const P={...m,favorite:Ns(m)};return a.list.length>
16&&(d.overflow=!0,d.left=0,d.maxLeft=a.list.length-6),P}))},ns=async()=>{var s;try{const e=await xs();I.value=(s=e==null?void 0:e.availablePoint)!=null?s:0}catch{I.value=null}},ne=async()=>{ns(),await je();const s=f.value;s?await j(s):(await j(""),await Promise.all(z.value.map(e=>j(e.value))))};return ps(async()=>{Ve(),ne()}),(s,e)=>{var P,le,oe,re,ie,ce;const a=hs,d=vs,m=ys;return o(),i("div",qs,[t("div",zs,[t("div",Hs,[t("div",{class:"shop-pc-header",onClick:e[0]||(e[0]=n=>r(M).push(r(x)("/tradeUnion")))},[e[11]||(e[11]=t("img",{src:X,class:"shop-pc-header-img",alt:"shop-pc-header"},null,-1)),t("div",{class:"header-banner-title",style:Se({fontSize:r(Le)===3?"20px":"32px"})},u(r(c)("shop.bannerTitle")),5)]),t("div",Ks,[t("div",js,[w(d,{modelValue:f.value,"onUpdate:modelValue":e[1]||(e[1]=n=>f.value=n),placeholder:r(c)("shop.searchAll"),class:"shop-label-select",onChange:U},{default:ds(()=>[w(a,{label:r(c)("shop.searchAll"),value:""},null,8,["label"]),(o(!0),i(A,null,O(Q.value,n=>(o(),_s(a,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),e[12]||(e[12]=t("div",{class:"search-input-divider"},null,-1)),T(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>V.value=n),type:"text",class:"keyword-input",placeholder:ze.value},null,8,Ws),[[W,V.value]])]),t("div",Gs,[t("div",Xs,[e[13]||(e[13]=t("span",{class:"currency-symbol"},"$",-1)),T(t("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>Y.value=n),type:"number",class:"price-input",placeholder:He.value},null,8,Zs),[[W,Y.value]]),e[14]||(e[14]=t("span",{class:"price-separator"},"-",-1)),e[15]||(e[15]=t("span",{class:"currency-symbol"},"$",-1)),T(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>q.value=n),type:"number",class:"price-input",placeholder:Ke.value},null,8,Js),[[W,q.value]])])]),t("div",{class:"search-btn",onClick:U},u(r(c)("common.search")),1)]),t("div",Qs,[t("div",{class:S(["classification-item",{active:f.value===""}]),onClick:e[5]||(e[5]=n=>se(""))},[e[16]||(e[16]=t("img",{src:gs,class:"classification-item-img",alt:""},null,-1)),t("span",et,u(r(c)("shop.recommendedCommodity")),1)],2),(o(!0),i(A,null,O(z.value,n=>(o(),i("div",{class:S(["classification-item",{active:f.value===n.value}]),key:n.id,onClick:y=>se(n.value)},[e[17]||(e[17]=t("img",{src:bs,class:"classification-item-img",alt:""},null,-1)),t("span",tt,u(n.label),1)],10,st))),128))])])]),t("div",at,[I.value!==null?(o(),i("div",nt,[t("div",lt,u(r(c)("shop.yourAvailablePoints")),1),t("div",ot,[t("img",{src:r(D),class:"points-card-icon",alt:""},null,8,rt),t("span",it,u(((P=I.value)!=null?P:0).toLocaleString()),1)])])):p("",!0),t("div",ct,[(o(!0),i(A,null,O(Ye.value,n=>(o(),i("div",{key:n.value,class:S(["payment-method-item",{active:F.value===n.value}]),onClick:y=>qe(n.value)},[n.icon?(o(),i("img",{key:0,src:n.icon,class:"payment-icon-img",alt:""},null,8,pt)):p("",!0),t("span",dt,u(n.label),1)],10,ut))),128))]),v.value.length>0?(o(),i("div",{key:1,class:S(["shop-banner-carousel",{"shop-banner-carousel--single":v.value.length===1}])},[t("div",vt,[t("div",ht,[v.value.length>1?(o(),i("div",{key:0,class:"shop-banner-carousel__side",role:"button",tabindex:"0",onClick:e[6]||(e[6]=n=>k(H.value)),onKeyup:e[7]||(e[7]=Ae(n=>k(H.value),["enter"]))},[w(m,{src:(le=v.value[H.value])==null?void 0:le.image,class:"shop-banner-carousel__side-img",alt:""},null,8,["src"])],32)):p("",!0),t("div",{class:S(["shop-banner-carousel__main",{"is-clickable":!!((oe=v.value[h.value])!=null&&oe.link)}]),onClick:Ee},[v.value.length>1?(o(),i("button",{key:0,type:"button",class:"shop-banner-carousel__arrow shop-banner-carousel__arrow--prev","aria-label":"Previous banner",onClick:N($e,["stop"])},[t("img",{src:r(Vs),alt:""},null,8,_t)])):p("",!0),w(m,{src:(re=v.value[h.value])==null?void 0:re.image,class:"shop-banner-carousel__main-img",title:(ie=v.value[h.value])==null?void 0:ie.title,alt:""},null,8,["src","title"]),v.value.length>1?(o(),i("button",{key:1,type:"button",class:"shop-banner-carousel__arrow shop-banner-carousel__arrow--next","aria-label":"Next banner",onClick:N(Fe,["stop"])},[t("img",{src:r(Ys),alt:""},null,8,mt)])):p("",!0)],2),v.value.length>1?(o(),i("div",{key:1,class:"shop-banner-carousel__side",role:"button",tabindex:"0",onClick:e[8]||(e[8]=n=>k(K.value)),onKeyup:e[9]||(e[9]=Ae(n=>k(K.value),["enter"]))},[w(m,{src:(ce=v.value[K.value])==null?void 0:ce.image,class:"shop-banner-carousel__side-img",alt:""},null,8,["src"])],32)):p("",!0)])]),v.value.length>1?(o(),i("div",yt,[(o(!0),i(A,null,O(v.value,(n,y)=>(o(),i("button",{key:y,type:"button",role:"tab","aria-selected":y===h.value,class:S(["shop-banner-carousel__dot",{"is-active":y===h.value}]),onClick:l=>k(y)},null,10,gt))),128))])):p("",!0)],2)):p("",!0),(o(!0),i(A,null,O(as.value,(n,y)=>(o(),i("div",{class:"commodity-list-classification",key:y},[t("div",bt,[t("span",ft,u(n.label),1),t("span",{class:"check-more",onClick:N(l=>es(n),["stop"])},[G(u(r(c)("volunteer.viewAll"))+" ",1),e[18]||(e[18]=t("i",{class:"ri-arrow-right-s-line"},null,-1))],8,kt)]),t("div",Pt,[t("div",Ct,[t("div",{class:"commodity-item-container-scroll",style:Se({transform:`translateX(-${n.left*170}px)`})},[(o(!0),i(A,null,O(n.list,(l,ls)=>{var ue,pe,de,ve,he,_e,me,ye,ge,be,fe,ke,Pe,Ce;return o(),i("div",{class:"commodity-item",key:ls,onClick:R=>We(l)},[t("div",{class:"image-container",onClick:N(R=>Ge(l,y),["stop"])},[r($s)(l.buyStartTime)?(o(),i("div",At,[t("div",Ot,u(xe(l)),1)])):p("",!0),w(m,{src:l.publicizeImage,class:"img",alt:""},null,8,["src"]),B.value===te(y,l)?(o(),i("div",{key:1,class:"product-overlay",onClick:N(Xe,["stop"])},[t("div",{class:"product-overlay-inner",onClick:e[10]||(e[10]=N(()=>{},["stop"]))},[t("div",{class:"overlay-btn",onClick:R=>Ze(l)},[t("img",{src:l.favorite?r(Ms):r(fs),class:"overlay-btn-icon",alt:""},null,8,Tt),t("span",null,u(l.favorite?r(c)("shop.unfavorite"):r(c)("shop.collect")),1)],8,Nt),t("div",{class:"overlay-btn",onClick:R=>Je(l)},[t("img",{src:r(ks),class:"overlay-btn-icon",alt:""},null,8,Mt),t("span",null,u(r(c)("shop.addToCart")),1)],8,Lt),r(Ds)?(o(),i("div",{key:0,class:"overlay-btn",onClick:R=>Qe(l)},[t("img",{src:r(Ps),class:"overlay-btn-icon",alt:""},null,8,$t),t("span",null,u(r(c)("shop.buyNow")),1)],8,xt)):p("",!0)])])):p("",!0)],8,St),l.subName?(o(),i("div",Ft,u(l.subName),1)):p("",!0),t("div",It,u(l.productName),1),r(Is)(C.value,l)?(o(),i("div",Bt,[((ue=l.productPrice)==null?void 0:ue.memberOnlyAmountFlag)===1?(o(),i("div",Ut,[t("img",{src:r(Z),class:"pay-type-item-img",alt:""},null,8,Rt),t("span",Dt,"$"+u((pe=l.productPrice)==null?void 0:pe.memberOnlyAmount),1)])):p("",!0),((de=l.productPrice)==null?void 0:de.memberOnlyPointsFlag)===1?(o(),i("div",Et,[t("img",{src:r(D),class:"pay-type-item-img",alt:""},null,8,Vt),t("span",Yt,u((ve=l.productPrice)==null?void 0:ve.memberOnlyPoints),1)])):p("",!0),((he=l.productPrice)==null?void 0:he.memberPointsAmountFlag)===1?(o(),i("div",qt,[t("img",{src:r(J),class:"pay-type-item-img",alt:""},null,8,zt),t("span",Ht,[G("$"+u((_e=l.productPrice)==null?void 0:_e.memberAmount)+" + "+u((me=l.productPrice)==null?void 0:me.memberPoints)+" ",1),t("span",Kt,u(r(c)("shop.points")),1)])])):p("",!0)])):p("",!0),r(Bs)(C.value,l)?(o(),i("div",jt,[((ye=l.productPrice)==null?void 0:ye.nonMemberOnlyAmountFlag)===1?(o(),i("div",Wt,[t("img",{src:r(Z),class:"pay-type-item-img",alt:""},null,8,Gt),t("span",Xt,"$"+u((ge=l.productPrice)==null?void 0:ge.nonMemberOnlyAmount),1)])):p("",!0),((be=l.productPrice)==null?void 0:be.nonMemberOnlyPointsFlag)===1?(o(),i("div",Zt,[t("img",{src:r(D),class:"pay-type-item-img",alt:""},null,8,Jt),t("span",Qt,u((fe=l.productPrice)==null?void 0:fe.nonMemberOnlyPoints),1)])):p("",!0),((ke=l.productPrice)==null?void 0:ke.nonMemberPointsAmountFlag)===1?(o(),i("div",ea,[t("img",{src:r(J),class:"pay-type-item-img",alt:""},null,8,sa),t("span",ta,[G("$"+u((Pe=l.productPrice)==null?void 0:Pe.nonMemberAmount)+" + "+u((Ce=l.productPrice)==null?void 0:Ce.nonMemberPoints)+" ",1),t("span",aa,u(r(c)("shop.points")),1)])])):p("",!0)])):p("",!0)],8,wt)}),128))],4)]),T(t("div",na,[t("i",{class:"ri-arrow-right-line icon",onClick:l=>ss(n)},null,8,la)],512),[[Oe,n.overflow===!0]]),T(t("div",oa,[t("i",{class:"ri-arrow-left-line icon",onClick:l=>ts(n)},null,8,ra)],512),[[Oe,n.overflow===!0]])])]))),128))])])}}}),La=ms(ia,[["__scopeId","data-v-ebe6caa2"]]);export{La 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.