PageSourceSearch

https://wei.city/_nuxt/CDI5NvYm.js

js wei.city collected 2026-10-02 01:22:53 UTC 7,407 bytes, 1 lines download raw bytes

1import{_ as J,n as V,f as X}from"./DgtQSfd8.js";import{aQ as Y,ew as x,ee,dZ as te,es as ae,aA as o,av as s,dH as t,ax as n,dT as se,e_ as re,eR as oe,e$ as le,aI as de,aH as ne,as as r,c$ as p,cL as l,bs as Z,dy as ue,cs as ce,a9 as ie,a0 as _e}from"./Bvar31K0.js";import{u as me}from"./D26wpjqQ.js";const ve={class:"wc-redeem"},he={class:"wc-redeem__title wc-display"},pe={key:0,class:"wc-redeem__state"},we={key:1,class:"wc-redeem__state wc-redeem__state--action"},ye=["href"],fe={key:2,class:"wc-redeem__state"},ge={key:3,class:"wc-redeem__state wc-redeem__state--action"},be={class:"wc-redeem__note"},$e={key:0,class:"wc-redeem__note"},Te=["disabled"],ke={key:4,class:"wc-redeem__state wc-redeem__state--action"},Ce={key:5,class:"wc-redeem__result wc-redeem__result--ok"},Ne={class:"wc-redeem__result-title"},Ae={class:"wc-redeem__result-deal"},De={class:"wc-redeem__code wc-num"},Ie={class:"wc-redeem__next"},Re=["placeholder"],Ue={key:6,class:"wc-redeem__result wc-redeem__result--warn"},Be={class:"wc-redeem__result-title"},Ve={key:0},Ze={class:"wc-redeem__result-deal"},Fe={class:"wc-redeem__code wc-num"},He={key:7,class:"wc-redeem__result wc-redeem__result--warn"},Ke={class:"wc-redeem__result-title"},Se={class:"wc-redeem__result-deal"},qe={class:"wc-redeem__code wc-num"},ze={key:8,class:"wc-redeem__card"},Me={class:"wc-redeem__shop"},Ee={class:"wc-redeem__deal wc-display"},Le={key:0,class:"wc-redeem__offer"},We={key:1,class:"wc-redeem__window wc-num"},je={class:"wc-redeem__paid wc-num"},Oe={key:2,class:"wc-redeem__deadline wc-num"},Pe={key:3,class:"wc-redeem__targets"},Qe={class:"wc-redeem__label"},Ge={class:"wc-redeem__target-list"},Je={key:4,class:"wc-redeem__terms"},Xe={class:"wc-redeem__label"},Ye={class:"wc-redeem__code wc-num"},xe={key:5,class:"wc-redeem__err"},et=["disabled"],tt=Y({__name:"[code]",setup(at){const T=x(),{t:F}=ee(),i=te();me({title:()=>F("redeem.title")});const u=r(()=>V(String(T.params.code??""))),H=r(()=>X(u.value)),k=r(()=>ie(T.fullPath)),c=p(null),v=p(!1),w=p(""),y=p("");function K(e){y.value=e,$()}const{data:m,isLoading:S,isError:C,error:N,refetch:q}=ae({queryKey:r(()=>["voucher-lookup",u.value,i.userId.value]),queryFn:async()=>await $fetch("/api/app/vouchers/lookup",{headers:Z(),credentials:"include",query:{code:u.value}}),enabled:r(()=>i.isAuthenticated.value&&u.value.length>0),retry:!1,staleTime:0}),A=r(()=>(N.value?.statusCode??N.value?.status)===404),a=r(()=>c.value?.voucher??m.value?.voucher??null),D=r(()=>c.value?.alreadyRedeemed===!0||!c.value&&m.value?.voucher?.status==="redeemed"),h=r(()=>c.value?.redeemedAtUtc??m.value?.voucher?.redeemedAtUtc??null),z=r(()=>c.value?.redeemedByMe??m.value?.redeemedByMe??!1),M=r(()=>{if(c.value?.redeemed)return!0;if(!D.value||!z.value)return!1;const e=h.value?Date.parse(h.value):NaN;return Number.isFinite(e)&&Date.now()-e<=6e4}),E=r(()=>!c.value&&m.value?.canRedeem===!0),L=r(()=>m.value?.reason??""),I=r(()=>!i.resolved.value||i.isAuthenticated.value&&u.value.length>0&&S.value),R=r(()=>i.resolved.value&&!i.isAuthenticated.value),W=r(()=>!I.value&&!R.value&&u.value.length===0),j=r(()=>C.value&&A.value),O=r(()=>C.value&&!A.value);function U(e){switch(e){case"voucher_not_started":return"redeem.not_started";case"voucher_expired":return"redeem.expired";case"voucher_invalid":return"redeem.invalid";case"voucher_unpaid":return"redeem.unpaid";default:return"redeem.invalid"}}function f(e,d){if(!e)return"";const _=new Date(e);if(Number.isNaN(_.getTime()))return"";try{return new Intl.DateTimeFormat("zh-CN",{timeZone:d||"Asia/Kuala_Lumpur",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).format(_)}catch{return""}}function P(e,d){if(!e)return"";const _=new Date(e);if(Number.isNaN(_.getTime()))return"";try{return new Intl.DateTimeFormat("zh-CN",{timeZone:d||"Asia/Kuala_Lumpur",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).format(_)}catch{return""}}async function Q(){if(!(v.value||u.value.length===0)){v.value=!0,w.value="";try{c.value=await $fetch("/api/app/vouchers/redeem",{method:"POST",headers:Z(),credentials:"include",body:{code:u.value}})}catch(e){const d=e?.data?.code??"";w.value=d==="voucher_not_started"||d==="voucher_expired"||d==="voucher_invalid"||d==="voucher_unpaid"?U(d):"redeem.error_retry"}finally{v.value=!1}}}const B=r(()=>i.userName.value||""),b=p(!1);async function G(){b.value||(b.value=!0,await ue(k.value))}function $(){const e=V(y.value);e&&ce(`/redeem/${e}`)}return(e,d)=>{const _=J;return l(),o("div",ve,[s("h1",he,t(e.$t("redeem.title")),1),I.value?(l(),o("p",pe,t(e.$t("common.loading")),1)):R.value?(l(),o("div",we,[s("p",null,t(e.$t("redeem.login_required")),1),s("a",{class:"wc-redeem__btn",href:k.value},t(e.$t("redeem.go_login")),9,ye)])):W.value?(l(),o("p",fe,t(e.$t("redeem.invali
1d_code")),1)):j.value?(l(),o("div",ge,[s("p",null,t(e.$t("redeem.not_found")),1),s("p",be,t(e.$t("redeem.not_found_hint")),1),B.value?(l(),o("p",$e,t(e.$t("redeem.signed_in_as",{name:B.value})),1)):n("",!0),s("button",{type:"button",class:"wc-redeem__btn",disabled:b.value,onClick:G},t(e.$t("redeem.switch_account")),9,Te)])):O.value?(l(),o("div",ke,[s("p",null,t(e.$t("redeem.error_retry")),1),s("button",{type:"button",class:"wc-redeem__btn",onClick:d[0]||(d[0]=g=>se(q)())},t(e.$t("voucher.err_retry")),1)])):M.value&&a.value?(l(),o("div",Ce,[s("p",Ne,t(e.$t("redeem.success"))+" · "+t(P(h.value,a.value.dealTimeZoneId)),1),s("p",Ae,t(a.value.dealTitle),1),s("p",De,t(a.value.codeDisplay),1),s("label",Ie,[s("span",null,t(e.$t("redeem.next")),1),re(s("input",{"onUpdate:modelValue":d[1]||(d[1]=g=>y.value=g),class:"wc-redeem__input",inputmode:"text",placeholder:e.$t("redeem.input_placeholder"),onKeyup:le($,["enter"])},null,40,Re),[[oe,y.value]])]),s("button",{type:"button",class:"wc-redeem__btn",onClick:$},t(e.$t("redeem.input_cta")),1),de(_,{onCode:K})])):D.value&&a.value?(l(),o("div",Ue,[s("p",Be,[ne(t(e.$t("redeem.already"))+" ",1),h.value?(l(),o("span",Ve," · "+t(f(h.value,a.value.dealTimeZoneId)),1)):n("",!0)]),s("p",Ze,t(a.value.dealTitle),1),s("p",Fe,t(a.value.codeDisplay),1)])):!E.value&&a.value?(l(),o("div",He,[s("p",Ke,t(e.$t(U(L.value))),1),s("p",Se,t(a.value.dealTitle),1),s("p",qe,t(a.value.codeDisplay),1)])):a.value?(l(),o("div",ze,[s("p",Me,t(a.value.channelName),1),s("p",Ee,t(a.value.dealTitle),1),a.value.offerText?(l(),o("p",Le,t(a.value.offerText),1)):n("",!0),a.value.beginTimeUtc||a.value.expTimeUtc?(l(),o("p",We,t(f(a.value.beginTimeUtc,a.value.dealTimeZoneId))+" — "+t(f(a.value.expTimeUtc,a.value.dealTimeZoneId)),1)):n("",!0),s("p",je,t((a.value.payState??0)===2?e.$t("redeem.paid",{v:((a.value.paidCents??0)/100).toFixed(2)}):e.$t("deal.free")),1),a.value.redeemDeadlineUtc?(l(),o("p",Oe,t(e.$t("redeem.deadline",{t:f(a.value.redeemDeadlineUtc,a.value.dealTimeZoneId)})),1)):n("",!0),(a.value.targets?.length??0)>0?(l(),o("div",Pe,[s("p",Qe,t(e.$t("redeem.targets")),1),s("p",Ge,t((a.value.targets??[]).map(g=>g.title).join(" · ")),1)])):n("",!0),a.value.terms?(l(),o("p",Je,t(a.value.terms),1)):n("",!0),s("p",Xe,t(e.$t("voucher.code_label")),1),s("p",Ye,t(H.value),1),w.value?(l(),o("p",xe,t(e.$t(w.value)),1)):n("",!0),s("button",{type:"button",class:"wc-redeem__btn wc-redeem__btn--primary",disabled:v.value,onClick:Q},t(v.value?e.$t("redeem.confirming"):e.$t("redeem.confirm")),9,et)])):n("",!0)])}}}),lt=_e(tt,[["__scopeId","data-v-8469fc12"]]);export{lt 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.