PageSourceSearch

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

js ftu.org.hk collected 2026-09-25 04:51:25 UTC 11,458 bytes, 1 lines download raw bytes

1import{d as Te,f as Le,g as Ie,h as $e,i as p,c as g,a4 as xe,j as Be,u as Ue,S as ve,k as Ve,l as i,o as l,m as a,y as u,e as n,t as r,p as S,w as D,q as qe,E as De,v as R,s as E,F as w,x as A,B as Re,b as Ee,A as Y,G as b,_ as Ye}from"./D1FcBL9p.js";import{_ as ze}from"./Hi3xaYxS.js";/* empty css        *//* empty css        *//* empty css        */import{_ as Ke}from"./BlRCviZe.js";import{m as z,p as F,a as He,b as We,c as je,d as Ge}from"./nDqXXtmZ.js";import{_ as Je,a as Qe,h as Xe,c as Ze,e as es}from"./DqszC-Fd.js";import{g as ss}from"./2GGPZ2Jq.js";import{g as ts}from"./dHs4w_Xp.js";import{m as K}from"./DjFGz9xC.js";import{h as as}from"./nXLEEgK9.js";import{_ as os}from"./DFb4uCb8.js";import{s as ns,f as ls}from"./ClYCU76s.js";import{s as rs,a as is,u as he}from"./Dk2WgwZp.js";import{u as cs}from"./D6_BiDgD.js";import{s as us}from"./GB6TE49s.js";import{S as ps}from"./Br6zXOus.js";import{u as ds}from"./qJlnEoVS.js";const vs={class:"shop-category-pc-container"},hs={class:"category-header"},_s={class:"header-left"},ys={class:"header-title"},ms={key:0,class:"header-right"},gs={class:"points-label"},bs={class:"points-value"},Ps={class:"filter-container"},fs={class:"search-input-wrapper"},ks=["placeholder"],Cs={class:"price-input-wrapper"},Os={class:"price-input-group"},Ms=["placeholder"],Ns=["placeholder"],Ss={class:"classification-container"},ws={class:"classification-item-text"},As=["onClick"],Fs={class:"classification-item-text"},Ts={class:"payment-method-container"},Ls=["onClick"],Is=["src"],$s={class:"payment-label"},xs={key:0,class:"product-grid"},Bs=["onClick"],Us=["onClick"],Vs={key:0,class:"product-corner-badges"},qs={class:"buy-start-badge"},Ds=["onClick"],Rs=["src"],Es=["onClick"],Ys=["src"],zs=["onClick"],Ks=["src"],Hs={key:0,class:"item-subName"},Ws={class:"item-productName"},js={key:1,class:"pay-type-container"},Gs={key:0,class:"pay-type-item"},Js=["src"],Qs={class:"pay-type-num"},Xs={key:1,class:"pay-type-item"},Zs=["src"],et={class:"pay-type-num"},st={class:"pay-type-unit"},tt={key:2,class:"pay-type-item"},at=["src"],ot={class:"pay-type-num"},nt={class:"pay-type-unit"},lt={key:2,class:"pay-type-container"},rt={key:0,class:"pay-type-item"},it=["src"],ct={class:"pay-type-num"},ut={key:1,class:"pay-type-item"},pt=["src"],dt={class:"pay-type-num"},vt={class:"pay-type-unit"},ht={key:2,class:"pay-type-item"},_t=["src"],yt={class:"pay-type-num"},mt={class:"pay-type-unit"},gt={key:1,class:"loading-state"},bt={key:2,class:"empty-state"},Pt={key:3,class:"pagination-wrapper"},_e=12,ft=Te({__name:"pc",setup(kt){const{t:o}=Le(),ye=s=>`${ls(s.buyStartTime)}${o("shop.buyStartsSuffix")}`,T=Ie(),{toggleFavorite:me}=cs(),P=$e(),L=xe(),{getPath:I}=ds(),$=p(""),x=p(""),B=p(""),U=p([]),H=p([]),W=p(""),f=p("ALL"),k=p(null),_=p([]),C=p(null),v=p(1),V=p(0),O=p(!1),ge=p([{value:"ALL",label:o("shop.allPaymentMethods")||"全部",icon:null},{value:"ONLY_AMOUNT",label:o("shop.paymentPurchase")||"付款購買",icon:z},{value:"ONLY_POINT",label:o("shop.pointExchange")||"積分兌換",icon:F},{value:"AMOUNT_POINT",label:o("shop.paymentPlusPoints")||"付款+積分",icon:K}]),q=g(()=>{var s;return(s=L.query.value)!=null?s:""}),h=g(()=>{const s=Be("ACCESS_TOKEN"),e=!!(s!=null&&s.value),c=T.isLoggedIn,d=!!T.userInfo;return!e&&c&&T.clearAuthState(),e&&c&&d}),be=g(()=>{const s=o("shop.searchPlaceholder");return s&&s!=="shop.searchPlaceholder"?s:"輸入關鍵字..."}),Pe=g(()=>{const s=o("shop.minPrice");return s&&s!=="shop.minPrice"?s:"最低價格"}),fe=g(()=>{const s=o("shop.maxPrice");return s&&s!=="shop.maxPrice"?s:"最高價格"});Ue({title:o("shop.allProducts")});const j=()=>{v.value=1,y()},ke=s=>{f.value=s,v.value=1,y()},G=s=>{const e=s===""?{label:o("shop.recommendedCommodity"),value:""}:U.value.find(c=>c.value===s);e&&P.push({path:I("/shop/category"),query:{label:e.label,value:e.value}})},Ce=s=>{P.push({path:I("/shop/detail"),query:{id:s.id}})},J=(s,e)=>{var c;return`${s}-${(c=e==null?void 0:e.id)!=null?c:""}`},Oe=(s,e)=>{const c=J(e,s);C.value=C.value===c?null:c},Me=()=>{C.value=null},Q=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"},Ne=async s=>{const e=s==null?void 0:s.id;if(e==null)return;await me(String(e),!!s.favorite)&&(s.favorite=!s.favorite)},Se=async s=>
1{if(!h.value){b.warning(o("login.loginTips"));return}const e=Q(s);await Ge({productId:String(s.id),payMethod:e,quantity:1,userMemberPriceFlag:he(h.value,s)})?b.success(o("shop.addToCartSuccess")):b.error(o("shop.addToCartFailed"))},we=async s=>{if(!h.value){b.warning(o("login.loginTips"));return}const e=Q(s);if(!await us({commodity:s,quantity:1,payMethod:e,userMemberPriceFlag:he(h.value,s)})){b.error(o("shop.checkoutDeptRequired"));return}P.push({path:I("/shop/checkout")})};ve(v,()=>{y()});const y=async()=>{var s,e;O.value=!0;try{const c=f.value==="ALL"?{}:{payMethod:f.value},d=await He({pageNo:v.value,pageSize:_e,keyword:$.value.trim(),labels:q.value,sortType:1,...We(x.value,B.value),...c});_.value=((s=d==null?void 0:d.list)!=null?s:[]).map(M=>({...M,favorite:je(M)})),V.value=(e=d==null?void 0:d.total)!=null?e:0}catch{_.value=[],V.value=0}finally{O.value=!1}},Ae=async()=>{var s;try{const e=await ts();k.value=(s=e==null?void 0:e.availablePoint)!=null?s:0}catch{k.value=null}},Fe=async()=>{const s=await ss("product_labels");U.value=s!=null?s:[],H.value=s!=null?s:[]};return Ve(async()=>{await Fe(),await Ae(),y()}),ve(()=>[L.query.label,L.query.value],()=>{v.value=1,y()}),(s,e)=>{var X;const c=Re,d=De,M=ze;return l(),i("div",vs,[a("div",hs,[a("div",_s,[a("img",{src:Ke,class:"back-icon",alt:"返回",onClick:e[0]||(e[0]=t=>n(P).back())}),a("span",ys,r(n(o)("shop.allProducts")),1)]),k.value!==null?(l(),i("div",ms,[a("span",gs,r(n(o)("shop.userPoint")),1),e[8]||(e[8]=a("img",{src:F,class:"points-icon",alt:""},null,-1)),a("span",bs,r(((X=k.value)!=null?X:0).toLocaleString()),1)])):u("",!0)]),a("div",Ps,[a("div",fs,[S(d,{modelValue:W.value,"onUpdate:modelValue":e[1]||(e[1]=t=>W.value=t),placeholder:n(o)("shop.searchAll"),class:"shop-label-select",onChange:j},{default:qe(()=>[S(c,{label:n(o)("shop.searchAll"),value:""},null,8,["label"]),(l(!0),i(w,null,A(H.value,t=>(l(),Ee(c,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),e[9]||(e[9]=a("div",{class:"search-input-divider"},null,-1)),D(a("input",{"onUpdate:modelValue":e[2]||(e[2]=t=>$.value=t),type:"text",class:"keyword-input",placeholder:be.value},null,8,ks),[[R,$.value]])]),a("div",Cs,[a("div",Os,[e[10]||(e[10]=a("span",{class:"currency-symbol"},"$",-1)),D(a("input",{"onUpdate:modelValue":e[3]||(e[3]=t=>x.value=t),type:"number",class:"price-input",placeholder:Pe.value},null,8,Ms),[[R,x.value]]),e[11]||(e[11]=a("span",{class:"price-separator"},"-",-1)),e[12]||(e[12]=a("span",{class:"currency-symbol"},"$",-1)),D(a("input",{"onUpdate:modelValue":e[4]||(e[4]=t=>B.value=t),type:"number",class:"price-input",placeholder:fe.value},null,8,Ns),[[R,B.value]])])]),a("div",{class:"search-btn",onClick:j},r(n(o)("common.search")),1)]),a("div",Ss,[a("div",{class:E(["classification-item",{active:q.value===""}]),onClick:e[5]||(e[5]=t=>G(""))},[e[13]||(e[13]=a("img",{src:Je,class:"classification-item-img",alt:""},null,-1)),a("span",ws,r(n(o)("shop.recommendedCommodity")),1)],2),(l(!0),i(w,null,A(U.value,t=>(l(),i("div",{class:E(["classification-item",{active:q.value===t.value}]),key:t.id,onClick:m=>G(t.value)},[e[14]||(e[14]=a("img",{src:Qe,class:"classification-item-img",alt:""},null,-1)),a("span",Fs,r(t.label),1)],10,As))),128))]),e[15]||(e[15]=a("div",{class:"divider"},null,-1)),a("div",Ts,[(l(!0),i(w,null,A(ge.value,t=>(l(),i("div",{key:t.value,class:E(["payment-method-item",{active:f.value===t.value}]),onClick:m=>ke(t.value)},[t.icon?(l(),i("img",{key:0,src:t.icon,class:"payment-icon-img",alt:""},null,8,Is)):u("",!0),a("span",$s,r(t.label),1)],10,Ls))),128))]),O.value?u("",!0):(l(),i("div",xs,[(l(!0),i(w,null,A(_.value,(t,m)=>{var Z,ee,se,te,ae,oe,ne,le,re,ie,ce,ue,pe,de;return l(),i("div",{class:"commodity-item",key:t.id||m,onClick:N=>Ce(t)},[a("div",{class:"image-container",onClick:Y(N=>Oe(t,m),["stop"])},[n(ns)(t.buyStartTime)?(l(),i("div",Vs,[a("div",qs,r(ye(t)),1)])):u("",!0),S(M,{src:t.publicizeImage,class:"img",alt:""},null,8,["src"]),C.value===J(m,t)?(l(),i("div",{key:1,class:"product-overlay",onClick:Y(Me,["stop"])},[a("div",{class:"product-overlay-inner",onClick:e[6]||(e[6]=Y(()=>{},["stop"]))},[a("div",{class:"overlay-btn",onClick:N=>Ne(t)},[a("img",{src:t.favorite?n(as):n(Xe),class:"overlay-btn-icon",alt:""},null,8,Rs),a("span",null,r(t.favorite?n(o)("shop.unfavorite"):n(o)("shop.collect")),1)],8,Ds),a("div",{class:"overlay-btn",onClick:N=>Se(t)},[a("img",{src:n(Ze),class:"overlay-btn-icon",alt:""},null,8,Ys),a("span",null,r(n(o)("shop.addToCart")),1)],8,Es),n(ps)?(l(),i("div",{key:0,class:"overlay-btn",onClick:N=>we(t)},[a("img",{src:n(es),class:"overlay-btn-icon",alt:""},null,8,Ks),a("span",null,r(n(o)("shop.buyNow")),1)],8,zs)):u("",!0)])])):u("",!0)],8,Us),t.subName?(l(),i("div",Hs,r(t.subName),1)):u("",!0),a("div",Ws,r(t.productName),1),n(rs)(h.value,t)?(l(),i("div",js,[((Z=t.productPrice)==null?void 0:Z.memberOnlyAmountFlag)===1?(l(),i("div",Gs,[a("img",{src:n(z),class:"pay-type-item-img",alt:""},null,8,Js),a("span",Qs,"$"+r((ee=t.productPrice)==null?void 0:ee.memberOnlyAmount),1)])):u("",!0),((se=t.productPrice)==null?void 0:se.memberOnlyPointsFlag)===1?(l(),i("div",Xs,[a("img",{src:n(F),class:"pay-type-item-img",alt:""},null,8,Zs),a("span",et,r((te=t.productPrice)==null?void 0:te.memberOnlyPoints),1),a("span",st,r(n(o)("shop.points")),1)])):u("",!0),((ae=t.productPrice)==null?void 0:ae.memberPointsAmountFlag)===1?(l(),i("div",tt,[a("img",{src:n(K),class:"pay-type-item-img",alt:""},null,8,at),a("span",ot,"$"+r((oe=t.productPrice)==null?void 0:oe.memberAmount)+" + "+r((ne=t.productPrice)==null?void 0:ne.memberPoints),1),a("span",nt,r(n(o)("shop.points")),1)])):u("",!0)])):u("",!0),n(is)(h.value,t)?(l(),i("div",lt,[((le=t.productPrice)==null?void 0:le.nonMemberOnlyAmountFlag)===1?(l(),i("div",rt,[a("img",{src:n(z),class:"pay-type-item-img",alt:""},null,8,it),a("span",ct,"$"+r((re=t.productPrice)==null?void 0:re.nonMemberOnlyAmount),1)])):u("",!0),((ie=t.productPrice)==null?void 0:ie.nonMemberOnlyPointsFlag)===1?(l(),i("div",ut,[a("img",{src:n(F),class:"pay-type-item-img",alt:""},null,8,pt),a("span",dt,r((ce=t.productPrice)==null?void 0:ce.nonMemberOnlyPoints),1),a("span",vt,r(n(o)("shop.points")),1)])):u("",!0),((ue=t.productPrice)==null?void 0:ue.nonMemberPointsAmountFlag)===1?(l(),i("div",ht,[a("img",{src:n(K),class:"pay-type-item-img",alt:""},null,8,_t),a("span",yt,"$"+r((pe=t.productPrice)==null?void 0:pe.nonMemberAmount)+" + "+r((de=t.productPrice)==null?void 0:de.nonMemberPoints),1),a("span",mt,r(n(o)("shop.points")),1)])):u("",!0)])):u("",!0)],8,Bs)}),128))])),O.value?(l(),i("div",gt,r(n(o)("common.loading")),1)):_.value.length===0?(l(),i("div",bt,r(n(o)("common.noData")),1)):u("",!0),_.value.length>0?(l(),i("div",Pt,[S(os,{"current-page":v.value,total:V.value,"page-size":_e,"onUpdate:currentPage":e[7]||
1(e[7]=t=>v.value=t)},null,8,["current-page","total"])])):u("",!0)])}}}),Et=Ye(ft,[["__scopeId","data-v-df467d49"]]);export{Et 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.