PageSourceSearch

https://www.mechrevo.com/en/_nuxt/D8YUZb5m.js

js mechrevo.com collected 2026-10-02 11:06:39 UTC 8,803 bytes, 1 lines download raw bytes

1import{_ as V}from"./CbBh4sUL.js";import{d as A}from"./B9S9UwYg.js";import{p as F,A as C,i as H,o,c as r,a as i,t as f,F as P,D as q,C as O,f as c,k as v,d as N,g as B,w as E,b as j,x as $,B as R,M as W,h as J,u as K,H as L,l as T}from"./CBVuVATE.js";import{_ as z}from"./DlAUqK2U.js";import{p as M}from"./DJAT4Apd.js";import{u as G}from"./7wDI_HF0.js";const Q={class:"product-series-container"},U={class:"content-wrapper"},X={class:"page-title"},Y={class:"main-content"},Z={class:"series-sidebar"},ee=["onClick"],se={class:"series-name"},te={class:"border-bottom"},ae={class:"new-tag"},ie={key:0},oe={class:"products-area"},re={key:0,class:"products-loading"},ne={key:1,class:"products-grid"},le={class:"product-image"},ce=["src","alt"],ue={class:"new-label"},de={class:"product-name ff-md"},_e={class:"product-desc"},pe={class:"product-actions"},ye=["href"],me={__name:"ProductSeriesPage",props:{seriesList:{type:Array,required:!0},initialSeriesId:{type:Number,default:null},categoryName:{type:String,default:""}},setup(h){const u=h,w=F(),n=$(null),d=$([]),p=$(!1),m=$([]),k=$(!1),D=async s=>{n.value!==s&&(n.value=s,w.replace({query:{series:s}}),await Promise.all([g(s),t(s)]))},g=async s=>{if(!s){d.value=[];return}p.value=!0;try{const e=await A.getDisplayProducts({q:{product_serial_is:s,online_sale_is:!0},limit:100});d.value=e?.objects||[]}catch(e){console.error("Failed to load products:",e),d.value=[]}finally{p.value=!1}},t=async s=>{if(!s){m.value=[];return}k.value=!0;try{const e=await A.getDisplayProducts({q:{product_serial_is:s,online_sale_is:!1},limit:100});m.value=e?.objects||[]}catch(e){console.error("Failed to load offline products:",e),m.value=[]}finally{k.value=!1}},l=async()=>{if(u.seriesList.length===0)return;const s=u.initialSeriesId||u.seriesList[0]?.id;s&&s!==n.value&&(n.value=s,await Promise.all([g(s),t(s)]))};return C(()=>u.seriesList,s=>{s.length>0&&!n.value&&l()},{immediate:!0}),C(()=>u.initialSeriesId,s=>{s&&s!==n.value&&u.seriesList.length>0&&(n.value=s,Promise.all([g(s),t(s)]))}),H(()=>{u.seriesList.length>0&&!n.value&&l()}),(s,e)=>{const y=V,x=R("IconifyIcon");return o(),r("div",Q,[i("div",U,[i("h1",X,f(h.categoryName),1),i("div",Y,[i("div",Z,[(o(!0),r(P,null,q(h.seriesList,a=>(o(),r("div",{key:a.id,class:O(["series-item",{active:c(n)===a.id}]),onClick:b=>D(a.id)},[i("div",se,[i("span",te,f(a.name),1)]),i("div",ae,[a.is_new?(o(),r("span",ie,"NEW")):v("",!0)])],10,ee))),128))]),i("div",oe,[c(p)?(o(),r("div",re,[...e[0]||(e[0]=[i("p",null,"Loading...",-1)])])):c(d)&&c(d).length>0?(o(),r("div",ne,[(o(!0),r(P,null,q(c(d),a=>(o(),r("div",{key:a.id,class:"product-card"},[i("div",le,[i("img",{src:a.main_image?.origin_url||a.product_serial?.main_image?.origin_url||a.product_category?.main_image?.origin_url,alt:a.name},null,8,ce)]),i("div",ue,[a.is_new?(o(),r(P,{key:0},[N("NEW")],64)):v("",!0)]),i("h3",de,f(a.name),1),i("p",_e,f(a.params),1),i("div",pe,[a.buy_link?(o(),r("a",{key:0,href:a.buy_link,target:"_blank",class:"btn btn-buy"}," Buy Now ",8,ye)):v("",!0),a.has_detail_page?(o(),B(y,{key:1,to:`/products/${a.slug}`,class:"btn btn-detail"},{default:E(()=>[...e[1]||(e[1]=[N(" Learn More ",-1)])]),_:1},8,["to"])):v("",!0)]),j(y,{to:`/products/${a.slug}/downloads`,class:"support-link"},{default:E(()=>[e[2]||(e[2]=N("     Downloads ",-1)),j(x,{width:"20px",height:"20px",icon:"lsicon:right-outline",class:"inline-block"})]),_:1},8,["to"])]))),128))])):v("",!0)])])])])}}},ge=z(me,[["__scopeId","data-v-ca321ee9"]]),ve={class:"product-series-container"},fe={class:"page-title"},he={class:"series-selector"},ke={class:"series-scroll"},be=["onClick"],$e={class:"series-name"},Le={key:0,class:"new-tag"},Pe={class:"products-area"},we={key:0,class:"products-loading"},Se={key:1,class:"products-empty"},Ne={key:2,class:"products-list"},De={class:"product-image"},xe=["src","alt"],Ce={class:"new-label"},qe={class:"product-name"},Ee={class:"product-desc"},je={class:"product-actions"},Ie=["href"],Me={__name:"ProductSeriesPage",props:{seriesList:{type:Array,required:!0},initialSeriesId:{type:Number,default:null},categoryName:{type:String,default:""}},setup(h){const u=h,w=F(),n=$(null),d=$([]),p=$(!1),m=async t=>{n.value!==t&&(n.value=t,w.replace({query:{series:t}}),await k(t))},k=async t=>{if(!t){d.value=[];return}p.value=!0;try{const l=await A.getDisplayProducts({q:{product_serial_is:t},limit:100});d.value=l?.objects||[]}catch(l){console.error("Failed to load products:",l),d.value=[]}finally{p.value=!1}},D=t=>{if(!t.product?.params)return"";const l=typeof t.product.params=="string"?JSON.parse(t.product.params):t.product.params,s=[],e=[{key:"cpu_model",label:"处理器"},{key:"ram_size",label:"内存"},{key:"battery",label:"电池容量"},{key:"storage_size",label:"硬盘容量"},{key:"cpu_turbo_freq",label:"处理器加速频率"}
1,{key:"screen_size",label:"屏幕尺寸"},{key:"screen_resolution",label:"屏幕分辨率"},{key:"material",label:"外壳材质"},{key:"ports",label:"接口类型"}];for(const{key:y}of e)l[y]&&s.push(l[y]);return s.join(" | ")},g=async()=>{if(u.seriesList.length===0)return;const t=u.initialSeriesId||u.seriesList[0]?.id;t&&t!==n.value&&(n.value=t,await k(t))};return C(()=>u.seriesList,t=>{t.length>0&&!n.value&&g()},{immediate:!0}),C(()=>u.initialSeriesId,t=>{t&&t!==n.value&&u.seriesList.length>0&&(n.value=t,k(t))}),H(()=>{u.seriesList.length>0&&!n.value&&g()}),(t,l)=>{const s=V;return o(),r("div",ve,[i("h1",fe,f(h.categoryName),1),i("div",he,[i("div",ke,[(o(!0),r(P,null,q(h.seriesList,e=>(o(),r("div",{key:e.id,class:O(["series-item",{active:c(n)===e.id}]),onClick:y=>m(e.id)},[i("span",$e,f(e.name),1),e.is_new?(o(),r("span",Le,"NEW")):v("",!0)],10,be))),128))])]),i("div",Pe,[c(p)?(o(),r("div",we,[...l[0]||(l[0]=[i("p",null,"加载中...",-1)])])):c(d).length===0?(o(),r("div",Se,[...l[1]||(l[1]=[i("p",null,"该系列暂无产品",-1)])])):(o(),r("div",Ne,[(o(!0),r(P,null,q(c(d),e=>(o(),r("div",{key:e.id,class:"product-card"},[i("div",De,[i("img",{src:e.main_image_urls?.medium||e.main_image_urls?.original||"/placeholder.jpg",alt:e.name},null,8,xe)]),i("div",Ce,[e.is_new?(o(),r(P,{key:0},[N("新品")],64)):v("",!0)]),i("h3",qe,f(e.name),1),i("p",Ee,f(D(e)),1),i("div",je,[e.buy_link?(o(),r("a",{key:0,href:e.buy_link,target:"_blank",class:"btn btn-buy"}," 立即购买 ",8,Ie)):v("",!0),j(s,{to:`/products/${e.slug}`,class:"btn btn-detail"},{default:E(()=>[...l[2]||(l[2]=[N(" Learn More ",-1)])]),_:1},8,["to"])])]))),128))]))])])}}},Ae=z(Me,[["__scopeId","data-v-f6143e64"]]),Be={class:"product-series-page"},Ve={key:0,class:"loading"},ze={key:1,class:"error"},Fe={__name:"index",async setup(h){let u,w;const n=W(),{isMobile:d}=G(),p=L(()=>{const a=n.query.series;return a||null});console.log("initialSeriesId",p.value);const{data:m,pending:k,error:D,refresh:g}=([u,w]=J(async()=>T("product-series-data",async()=>{const a=n.query.series;if(!a)throw new Error("缺少系列ID参数");const _=(await M.getProductSeriesDetail(a))?.object;if(!_)throw new Error("未找到指定的产品系列");const S=_.product_category?.name||"产品系列";console.log("当前系列信息:",_),console.log("产品分类ID:",_.product_category_id);const I=await M.getProductSeries({params:{q:{status_is:1,product_category_id_is:_.product_category_id},limit:100,order_by:"sort desc, id desc"}});return console.log("同分类下的系列数据:",I),console.log("系列列表:",I?.objects),{currentSeries:_,categoryName:S,categoryId:_.product_category_id,seriesList:I?.objects||[]}},{server:!0,lazy:!1})),u=await u,w(),u),t=L(()=>m.value?.seriesList||[]),l=L(()=>m.value?.categoryName||""),s=L(()=>m.value?.categoryId||null),e=L(()=>k.value),y=L(()=>D.value?.message||null);let x=s.value;return C(()=>n.query.series,async(a,b)=>{if(!(!a||a===b))try{const S=(await M.getProductSeriesDetail(a))?.object?.product_category_id;S&&S!==x?(console.log("产品分类变化,刷新整个页面数据",{from:x,to:S}),x=S,await g()):console.log("同一产品分类内切换系列,不刷新页面数据")}catch(_){console.error("获取系列信息失败:",_),await g()}}),K({title:L(()=>l.value?`${l.value} - MECHREVO`:"Product Series - MECHREVO")}),(a,b)=>{const _=V;return o(),r("div",Be,[c(e)?(o(),r("div",Ve,[...b[0]||(b[0]=[i("p",null,"Loading...",-1)])])):c(y)?(o(),r("div",ze,[i("p",null,f(c(y)),1),j(_,{to:"/",class:"back-home"},{default:E(()=>[...b[1]||(b[1]=[N("Back to Home",-1)])]),_:1})])):!c(e)&&!c(y)?(o(),r(P,{key:2},[c(d)?(o(),B(Ae,{key:1,"series-list":c(t),"initial-series-id":c(p),"category-name":c(l)},null,8,["series-list","initial-series-id","category-name"])):(o(),B(ge,{key:0,"series-list":c(t),"initial-series-id":c(p),"category-name":c(l)},null,8,["series-list","initial-series-id","category-name"]))],64)):v("",!0)])}}},Te=z(Fe,[["__scopeId","data-v-71d71a6e"]]);export{Te 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.