PageSourceSearch

https://www.tendacn.com/_nuxt/BbKISfqy.js

js tendacn.com collected 2026-09-24 18:15:20 UTC 14,212 bytes, 1 lines download raw bytes

1import{O as e,R as t,V as n,W as r,Wt as i,at as a,b as o,d as s,dt as c,f as l,gt as u,it as ee,m as d,p as f,qt as p,r as te,rt as ne,tt as m,u as h,wt as g,y as re,z as ie}from"./Bj8i6imW.js";import{c as ae,s as oe}from"./G01uKdj9.js";import{d as se,i as _,p as ce}from"./B3PpE6rH.js";import{t as le}from"./DWn8P3ss.js";import{C as ue}from"./B_1rcbXY.js";import{o as de}from"./uoNWa0qL.js";import{C as fe,N as pe,_ as me,c as he,d as ge,f as _e,i as ve,l as ye,p as be,s as xe}from"#entry";import{t as Se}from"./DVOLbb8O.js";import{t as Ce}from"./C8vTPPfw.js";import{t as we}from"./DmCp0Y9h.js";import{n as Te}from"./BTrQ53qn.js";import{t as Ee}from"./CnebNi4A.js";import{r as De}from"./BpuQeP-L.js";import{t as Oe}from"./ZIlxmKav.js";import{a as ke,i as Ae,n as je,r as Me,t as Ne}from"./B8fJLeYp.js";var Pe={id:`product-catalog-title`,class:`product-catalog-title--sr-only`},Fe={class:`product-catalog-main`},Ie={key:0,class:`product-catalog-toolbar`},Le=[`aria-label`,`aria-pressed`],Re={key:0,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},ze={key:1,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},Be=[`aria-label`,`aria-expanded`],Ve=[`aria-label`],He=[`disabled`],Ue={class:`product-catalog-toolbar__compare-label`},We={key:1,class:`content-skeleton`},Ge={key:2,class:`product-list-box`},Ke={key:3,class:`loading-more-skeleton`},qe={key:4,class:`product-list-load-more-error`},Je={class:`product-list-load-more-error-text`},v=12,y=be({__name:`[urlFlag]`,async setup(be){let y,Ye,{getList:b,getFilterByCategoryId:Xe,getCategoryDetailByUrlFlag:Ze,getCategoryPVByUrlFlag:Qe}=pe(),x=!1,S=fe(),C=e(`curSiteId`,u(null)),w=ce(),{t:T}=me(),$e=h(()=>xe(T)),et=h(()=>he(T)),E=u({title:``,description:``,keywords:``}),D=h(()=>g(C)&&S.siteDetailMap?.[g(C)]||null),tt=h(()=>{let e=D.value;if(!e?.siteAddr)return e?.siteName||T(`txt`)||`Tenda`;let t=``;try{t=new URL(e.siteAddr).hostname}catch{}return we({hostname:t,siteName:e.siteName})});function nt(e,t,n,r){let i=e||{},a=t||`Tenda`,o=(i.title||``).trim(),s=o&&a?`${o} - ${a}`:o||a,c=(n?.siteAddr||``).replace(/\/$/,``),l=r?.path??``,u=c?`${c}${l}`.replace(/\/$/,``):``;return{title:s,titleTemplate:null,meta:[{name:`description`,content:(i.description||``).trim()||a},{name:`keywords`,content:(i.keywords||``).trim()},{property:`og:title`,content:s},{property:`og:description`,content:(i.description||``).trim()||a},{property:`og:url`,content:u},{property:`og:type`,content:`website`}],link:u?[{rel:`canonical`,href:u,key:`canonical`}]:[]}}let rt=le(h(()=>nt(E.value,tt.value,D.value,w)));m([C,()=>w.params.urlFlag],([e,t])=>{e&&t&&Qe(e,String(t).replace(/\.html$/,``)).catch(()=>{})},{immediate:!0});let O=u(w.query.flag||``);function it(e){return(e||[]).map(e=>({...e,paramList:(e.paramList||[]).map(e=>({...e,checked:!1}))}))}function k(e){return(Array.isArray(e)?e:[]).filter(e=>Number(e.state)===2).map(e=>({...e,isSameCataProduct:!0,isAvailable:!0}))}function at(e){let t=String(e?.businessMessage||e?.statusMessage||``);return/不存在|未启用|not\s+(?:exist|found)|disabled/i.test(t)}function A(e={}){return{pageData:null,productTree:[],initialProducts:[],total:0,pages:1,filters:[],flag:w.query.flag||void 0,listState:`empty`,...e}}let{data:j,pending:ot,error:st,refresh:ct}=([y,Ye]=ne(async()=>ye(()=>`product-list-${g(C)}-${w.params.urlFlag}-${w.query.flag||``}`,async()=>{let e=g(C),t=(w.params.urlFlag||``).replace(/\.html$/,``);if(!e||!t)return null;let n=null;try{let r=await Ze({siteId:e,urlFlag:t});if(!r?.data?.categoryId)throw _({statusCode:404,statusMessage:`Product category not found`});n=r.data,await S.ensureProTreeLoaded(e);let i=r.data.categoryId,a=w.query.flag||void 0,[o,s]=await Promise.all([b({siteId:e,categoryId:i,pageNum:1,pageSize:v,flag:a}),Xe(i,{siteId:e})]),c=o?.data?.records||[],l=o?.data?.total||0;return A({pageData:r.data,initialProducts:c,total:l,pages:o?.data?.pages||1,filters:s?.data||[],flag:a,listState:c.length>0||l>0?`ok`:`empty`})}catch(e){if(Number(e?.statusCode||e?.status)===404||at(e))throw _({statusCode:404,statusMessage:`Product category not found`});return console.error(`Failed to fetch product category list:`,e),A({pageData:n,listState:`fetchError`})}},{watch:[C,()=>w.params.urlFlag,()=>w.query.flag],default:()=>A()})),y=await y,Ye(),y);if(st.value)throw _(st.value);let{derivedTree:lt}=Te(C),M=u(j.value?.pageData||{}),N=u(it(j.value?.filters)),{pageData:P,total:ut,currentPage:dt,hasMore:F,loadingMore:ft,isRefreshing:pt,requestSeq:mt,isLatestRequest:I,syncFirstPage:ht,resetForReload:gt,beginLoadMore:_t,appendPage:vt,finishRequest:yt,resetState:bt}=Ee({initialItems:k(j.value?.initialProducts),initialTotal:j.value?.total||0,initialPage:1,initialHasMore:(j.value?.pages||1)>1}),xt=h(()=>!pt.value),L=u(!1),R=u(j.value?.listState||`empty`),z=u(j.value?.listState===`fetchError`),B=u(j.value?.listState===`fetchError`),V=u({urlFlag:j.value?.pageData?.urlFlag||w.params.urlFlag||``,categoryId:j.value?.pageData?.categoryId||null}),H=u(Number(j.value?.total)||0),U=u(k(j.value?.initialProducts).slice(0,2)),St=u(null),W=u(`compare`),G=u(!1),K=u(``),q=u(``),J=u(!1),Ct=h(()=>H.value>1),Y=u(H.value<3?`list`:`grid`);function wt(){Y.value=Y.value===`grid`?`list`:`grid`}function X(){let e=!1;return N.value.forEach(t=>{t?.paramList?.forEach(t=>{t.checked&&(t.checked=!1,e=!0)})}),e}m([()=>w.params.urlFlag,()=>w.query.flag],()=>{X(),K.value=``,q.value=``,J.value=!1});function Z(e){W.value=e}function Tt(){Z(`category`),St.value?.openMobile()}function Et(){Z(`compare`),Bt()}function Dt(){J.value=!J.value}function Q(){let e=K.value.trim();K.value=e;let t=X();(e!==q.value||t)&&(q.value=e,$())}function Ot(e,t){if(!e?.categoryId)return;let n=e;if(!Number(e.treeLevel)){let t=String(e.urlFlag||w.params.urlFlag||``).replace(/\.html$/,``).trim(),r
1=(lt.value?.secItems||[]).flatMap(e=>[e,...e.list||[]]).find(n=>Number(n?.categoryId)===Number(e.categoryId)||String(n?.urlFlag||``).replace(/\.html$/,``)===t);n={...e,parentId:e.parentId||r?.parentId,treeLevel:e.treeLevel||r?.treeLevel}}De({siteId:g(C),category:n,products:t})}let kt=h(()=>ot.value&&!(M.value?.name||j.value?.pageData?.name)),At=h(()=>ot.value||pt.value||R.value===`loading`),jt=h(()=>!At.value&&z.value&&P.value.length===0&&R.value===`fetchError`),Mt=h(()=>!At.value&&P.value.length>0&&L.value);ue((e,t)=>{(String(e.params.urlFlag||``).replace(/\.html$/i,``)!==String(t.params.urlFlag||``).replace(/\.html$/i,``)||e.query.flag!==t.query.flag)&&(gt(),R.value=`loading`,L.value=!1)}),m(j,e=>{if(!e){O.value=``,M.value={},N.value=[],E.value={title:``,description:``,keywords:``},bt(),R.value=`empty`,z.value=!1,B.value=!1,L.value=!1,H.value=0,U.value=[];return}O.value=e.flag||``,R.value=e.listState||`empty`,z.value=e.listState===`fetchError`,B.value=e.listState===`fetchError`,L.value=!1,M.value=e.pageData||{};let t={title:e.pageData?.seoTitle||e.pageData?.name||``,description:e.pageData?.seoDescription||``,keywords:e.pageData?.seoKeywords||``};E.value=t,typeof rt?.patch==`function`&&rt.patch(nt(t,tt.value,D.value,w));let n=k(e.initialProducts);ht(n,e.total||0,1),H.value=Number(e.total)||0,U.value=n.slice(0,2),Ot(e.pageData,e.initialProducts),N.value=it(e.filters),V.value.categoryId=e.pageData?.categoryId||null,V.value.urlFlag=e.pageData?.urlFlag||w.params.urlFlag||``},{immediate:!0}),m(()=>C.value,e=>{e&&S.ensureProTreeLoaded(e).catch(()=>{})},{immediate:!0});async function Nt(){if(L.value)return;let e=_t();if(e===null)return;let t=dt.value+1,n=It();n.pageNum=t;try{L.value=!1;let r=await b(n);if(x||!I(e))return;if(!r?.data)throw Error(`Product list response is missing data`);let i=k(r.data.records);vt(i,r.data.total||ut.value,t,v)}catch(t){if(x||!I(e))return;console.error(`Failed to load more category products:`,t),L.value=!0}finally{!x&&I(e)&&yt(e)}}async function $(){let e=gt(),t=It();t.pageNum=1;try{z.value=!0,B.value=!1,R.value=`loading`,L.value=!1;let n=await b(t);if(x||!I(e))return;if(!n?.data)throw Error(`Product list response is missing data`);ht(k(n.data.records),n.data.total||0,1),R.value=P.value.length>0||(n.data.total||0)>0?`ok`:`empty`,z.value=!1}catch(t){if(x||!I(e))return;console.error(`Failed to refresh product category list:`,t),R.value=`fetchError`,F.value=!1}finally{!x&&I(e)&&yt(e)}}async function Pt(){if(B.value){await ct();return}await $()}async function Ft(){ft.value||(L.value=!1,await Nt())}function It(){let e=N.value.flatMap(e=>e.paramList||[]).filter(e=>e.checked).map(e=>e.id),t={siteId:C.value,pageNum:dt.value,pageSize:v,paramIdList:e.length>0?e:void 0,productModel:q.value||void 0,flag:O.value||void 0};return V.value.categoryId!=null&&(t.categoryId=V.value.categoryId),t}async function Lt(e){let t=String(e||``).trim().replace(/\.html$/i,``),n=String(V.value.urlFlag||``).replace(/\.html$/i,``);if(!t||t===n)return;X(),K.value=``,q.value=``,J.value=!1;let r=w.params.site?`/${w.params.site}`:``;await se(`${r}/products/${encodeURIComponent(t)}`)}function Rt({param:e,group:t}){e?.checked&&t?.paramList?.forEach(t=>{t.id!==e.id&&(t.checked=!1)}),K.value=``,q.value=``,J.value=!1,$()}function zt(e=!0){let t=typeof e==`object`?e?.shouldRefresh!==!1:e!==!1;X(),t&&$()}async function Bt(){if(!Ct.value||G.value)return;G.value=!0;let e=U.value.slice(0,2);try{e.length<2&&(e=k((await b({siteId:g(C),categoryId:V.value.categoryId||M.value?.categoryId,pageNum:1,pageSize:2,flag:O.value||void 0}))?.data?.records).slice(0,2),U.value=e);let t=e.filter((e,t,n)=>e?.productId&&n.findIndex(t=>t?.productId===e.productId)===t);if(t.length<2)return;Ot(M.value,t);let n=t.slice(0,2).map(e=>e.productId),r=w.params.site?`/${w.params.site}`:``,i=V.value.categoryId||M.value?.categoryId,a=String(V.value.urlFlag||M.value?.urlFlag||w.params.urlFlag||``).replace(/\.html$/,``);await se({path:`${r}/product/compare`,query:{categoryId:i||void 0,categoryFlag:a||void 0,productids:n.join(`,`)}})}catch(e){console.error(`Failed to start category product comparison:`,e)}finally{G.value=!1}}let Vt=u(null),Ht=null;return t(()=>{Ht=ve(Vt,([{isIntersecting:e}])=>{e&&xt.value&&F.value&&!L.value&&Nt()})}),ie(()=>{x=!0,Ht&&Ht.stop()}),(e,t)=>{let u=Oe,ne=Se,m=_e,h=Ce,ie=ge;return n(),l(ie,{footer:g(de).LIGHT,bottom:0,class:`nofixed td-layout-body-gray`},{default:ee(()=>[s(`div`,{class:i([`product-catalog-shell td-content`,{"product-catalog-shell--loading":g(kt)}])}
1,[s(`h1`,Pe,p(g(M).name||``),1),g(kt)?f(``,!0):(n(),l(je,{key:0,ref_key:`categoryNavigationRef`,ref:St,"current-url-flag":g(V).urlFlag,"product-total":g(H),"hide-mobile-trigger":g(H)>=2,onCategoryChange:Lt},null,8,[`current-url-flag`,`product-total`,`hide-mobile-trigger`])),s(`main`,Fe,[!g(kt)&&g(H)>=1?(n(),d(`div`,Ie,[s(`div`,{class:i([`product-catalog-toolbar__actions`,{"product-catalog-toolbar__actions--single":g(N).length===0}])},[s(`div`,{class:`product-catalog-toolbar__search-pc`,onKeyup:ae(Q,[`enter`])},[o(u,{modelValue:g(K),"onUpdate:modelValue":t[0]||=e=>c(K)?K.value=e:null,placeholder:e.$t(`txt130`),maxlength:100,onClickIcon:Q},null,8,[`modelValue`,`placeholder`])],32),s(`button`,{type:`button`,class:`product-catalog-toolbar__layout`,"aria-label":e.$t(g(Y)===`grid`?`txt181`:`txt180`),"aria-pressed":g(Y)===`list`,onClick:wt},[g(Y)===`list`?(n(),d(`svg`,Re,[...t[5]||=[s(`path`,{d:`M4 6h16M4 12h16M4 18h16`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`},null,-1)]])):(n(),d(`svg`,ze,[...t[6]||=[s(`path`,{d:`M6 4v16M12 4v16M18 4v16`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`},null,-1)]]))],8,Le),s(`button`,{type:`button`,class:`product-catalog-toolbar__search-trigger`,"aria-label":e.$t(`txt130`),"aria-expanded":g(J),"aria-controls":`product-catalog-mobile-search`,onClick:Dt},[o(ne,{name:`search`,"aria-hidden":`true`})],8,Be),s(`button`,{type:`button`,class:i([`product-catalog-toolbar__category`,{"is-mobile-label-visible":g(W)===`category`}]),"aria-label":e.$t(`txt96`),onClick:Tt},[o(Me,{class:`product-catalog-toolbar__category-icon`}),s(`span`,null,p(e.$t(`txt96`)),1)],10,Ve),g(N).length>0?(n(),l(ke,{key:0,"filter-list":g(N),"hide-contact-when-empty":!0,"teleport-dropdown":``,"lock-page-scroll":``,"two-column-options":``,"keep-options-visible":``,"hide-reset-button":``,"mobile-drawer":``,"mobile-label-visible":g(W)===`filter`,onMobileActivate:t[1]||=e=>Z(`filter`),onFilterChange:Rt,onResetFilter:zt},null,8,[`filter-list`,`mobile-label-visible`])):f(``,!0),g(Ct)?(n(),d(`button`,{key:1,type:`button`,class:i([`product-catalog-toolbar__compare`,{"is-mobile-label-visible":g(W)===`compare`}]),disabled:g(G),onClick:Et},[t[7]||=s(`svg`,{class:`product-catalog-toolbar__compare-icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`}
1,[s(`rect`,{x:`3`,y:`4`,width:`7`,height:`16`,rx:`1.5`,stroke:`currentColor`,"stroke-width":`1.7`}),s(`rect`,{x:`14`,y:`4`,width:`7`,height:`16`,rx:`1.5`,stroke:`currentColor`,"stroke-width":`1.7`})],-1),s(`span`,Ue,p(e.$t(`txt200`)),1)],10,He)):f(``,!0)],2),g(J)?(n(),d(`div`,{key:0,id:`product-catalog-mobile-search`,class:`product-catalog-toolbar__search-h5`,onKeyup:ae(Q,[`enter`])},[o(u,{modelValue:g(K),"onUpdate:modelValue":t[2]||=e=>c(K)?K.value=e:null,placeholder:e.$t(`txt130`),maxlength:100,autofocus:``,onClickIcon:Q},null,8,[`modelValue`,`placeholder`])],32)):f(``,!0)])):f(``,!0),g(At)?(n(),d(`div`,We,[o(Ne,{count:6,layout:g(Y)},null,8,[`layout`])])):(n(),d(`div`,Ge,[g(jt)?(n(),l(m,{key:0,"has-error":``,message:g(et),"retry-text":g($e),onRetry:t[3]||=e=>Pt()},null,8,[`message`,`retry-text`])):g(P).length>0?(n(),d(`div`,{key:1,class:i([`product-grid`,{"product-grid--list":g(Y)===`list`}])},[(n(!0),d(te,null,r(g(P),(e,t)=>(n(),l(Ae,{key:e.productId,product:e,"high-priority":t===0,"image-lazy":t!==0,layout:g(Y)},null,8,[`product`,`high-priority`,`image-lazy`,`layout`]))),128))],2)):(n(),l(h,{key:2,margin:`100px 0`},{default:ee(()=>[re(p(e.$t(`txt5`)),1)]),_:1})),g(ft)?(n(),d(`div`,Ke,[o(Ne,{count:2,layout:g(Y)},null,8,[`layout`])])):f(``,!0),g(Mt)?(n(),d(`div`,qe,[s(`p`,Je,p(g(et)),1),s(`button`,{type:`button`,class:`product-list-load-more-retry`,onClick:t[4]||=e=>Ft()},p(g($e)),1)])):f(``,!0),a(s(`div`,{ref_key:`loadingRef`,ref:Vt,class:`scroll-trigger`},null,512),[[oe,g(F)&&!g(Mt)]])]))])],2)]),_:1},8,[`footer`])}}},[[`__scopeId`,`data-v-551e7c26`]]);export{y 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.