PageSourceSearch

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

js mechrevo.com collected 2026-10-02 11:06:28 UTC 17,096 bytes, 1 lines download raw bytes

1import{u as Q}from"./7wDI_HF0.js";import{i as R,E as B,a as L,g as E}from"./84M-Bk_D.js";import{x as y,A as M,i as V,o as u,c as v,a as e,b as I,w as k,F as x,D as F,g as T,f as C,d as j,t as b,Q as Z,C as q,_ as W,k as H,R as J,B as P,I as Y,r as A,S as N,u as G,J as K}from"./CBVuVATE.js";import{g as U}from"./D2ILL_is.js";import{_ as w}from"./DlAUqK2U.js";import{S as z,a as O}from"./DjAMax5V.js";import{B as D}from"./Dua2NKO9.js";import{I as X}from"./C-s4FLFn.js";import{_ as ee}from"./DlqKviNY.js";import"./D_55ujGA.js";import"./DqyvCMfs.js";import"./Deuc0E8-.js";import"./D1ihiQni.js";import"./D1mFsme-.js";import"./D6qJbdzf.js";import"./B9yxvNgP.js";import"./BWPJAYnm.js";import"./DDkvXkMO.js";import"./BvDKD9B8.js";import"./BUbgdMAE.js";import"./C9PSfLM3.js";import"./CX9Zmyoh.js";import"./wy6QX1Ie.js";const te={class:"store-filters"},se={class:"filter-row"},oe={class:"filter-item"},le={class:"filter-item"},ne={__name:"StoreFilters",props:{provinceId:Number,cityId:Number},emits:["update:provinceId","update:cityId","search"],setup(d,{emit:n}){const o=d,a=n,i=y(o.provinceId),s=y(o.cityId),_=y([]),g=y([]),h=async()=>{try{const m=await U({q:{parent_id_is:1},limit:100});_.value=m.objects||[]}catch(m){console.error("加载省份列表失败:",m)}},c=async m=>{if(!m){g.value=[];return}try{const f=await U({q:{parent_id_is:m},limit:100});g.value=f.objects||[]}catch(f){console.error("加载城市列表失败:",f)}},l=m=>{a("update:provinceId",m),s.value=null,a("update:cityId",null),m?c(m):g.value=[]},t=m=>{a("update:cityId",m)},r=()=>{a("search")},$=()=>{i.value=null,s.value=null,a("reset"),a("update:provinceId",null),a("update:cityId",null),a("search")};return M(()=>o.provinceId,m=>{i.value=m,m&&c(m)}),M(()=>o.cityId,m=>{s.value=m}),V(()=>{h(),o.provinceId&&c(o.provinceId)}),(m,f)=>(u(),v("div",te,[e("div",se,[e("div",oe,[f[2]||(f[2]=e("label",null,"省份:",-1)),I(C(O),{value:i.value,"onUpdate:value":f[0]||(f[0]=p=>i.value=p),placeholder:"全国",style:{width:"150px"},"allow-clear":"",onChange:l},{default:k(()=>[(u(!0),v(x,null,F(_.value,p=>(u(),T(C(z),{key:p.id,value:p.id},{default:k(()=>[j(b(p.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),e("div",le,[f[3]||(f[3]=e("label",null,"城市:",-1)),I(C(O),{value:s.value,"onUpdate:value":f[1]||(f[1]=p=>s.value=p),placeholder:"全部",style:{width:"150px"},"allow-clear":"",disabled:!i.value,onChange:t},{default:k(()=>[(u(!0),v(x,null,F(g.value,p=>(u(),T(C(z),{key:p.id,value:p.id},{default:k(()=>[j(b(p.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","disabled"])]),I(C(D),{type:"primary",onClick:r},{default:k(()=>[...f[4]||(f[4]=[j("搜索",-1)])]),_:1}),I(C(D),{type:"default",onClick:$},{default:k(()=>[...f[5]||(f[5]=[j("重置",-1)])]),_:1})])]))}},ie=w(ne,[["__scopeId","data-v-ceb59268"]]),ae={class:"store-map"},re={key:0,class:"no-data"},ce={__name:"StoreMap",props:{stores:{type:Array,default:()=>[]},selectedStore:{type:Object,default:null}},emits:["select-store"],setup(d,{emit:n}){Z(()=>{R()});const o=d,a=n,i=y(null),s=y(null),_=y([116.397428,39.90923]),g=y(5),h=t=>{s.value=t,l()},c=t=>{a("select-store",t)},l=()=>{!s.value||!o.stores||o.stores.length===0||J(()=>{const t=o.stores.filter(r=>r.longitude&&r.latitude).map(r=>[parseFloat(r.longitude),parseFloat(r.latitude)]);if(t.length!==0)if(t.length===1)_.value=t[0],g.value=15;else try{s.value.setFitView()}catch(r){console.error("调整地图视野失败:",r)}})};return M(()=>o.selectedStore,t=>{if(t&&t.longitude&&t.latitude&&s.value){const r=[parseFloat(t.longitude),parseFloat(t.latitude)];s.value.setZoomAndCenter(15,r)}}),M(()=>o.stores,()=>{l()},{deep:!0}),(t,r)=>{const $=W;return u(),v("div",ae,[I($,null,{default:k(()=>[I(C(B),{ref_key:"mapRef",ref:i,class:"amap-container",center:_.value,zoom:g.value,onInit:h},{default:k(()=>[(u(!0),v(x,null,F(d.stores,m=>(u(),T(C(L),{key:m.id,position:[parseFloat(m.longitude),parseFloat(m.latitude)],title:m.name,onClick:f=>c(m)},{default:k(()=>[e("div",{class:q(["custom-marker",{active:d.selectedStore&&d.selectedStore.id===m.id}])},[...r[0]||(r[0]=[e("div",{class:"marker-dot"},null,-1)])],2)]),_:2},1032,["position","title","onClick"]))),128))]),_:1},8,["center","zoom"])]),_:1}),!d.stores||d.stores.length===0?(u(),v("div",re,[...r[1]||(r[1]=[e("p",null,"暂无门店数据",-1)])])):H("",!0)])}}},de=w(ce,[["__scopeId","data-v-f6f9655c"]]),ue={class:"store-list"},pe={key:0,class:"loading"},ve={key:1,class:"empty"},me={key:2,class:"list-container"},_e=["onClick"],fe={class:"store-header"},ye={class:"store-name"},he={class:"ml-4"},ge={class:"store-info"},Ie={class:"info-item"},$e={class:"label"},be={class:"value"},Se={class:"info-item"},ke={class:"label"},Ce={class:"value"},we={class:"info-item"},xe={class:"label"},Fe={class:"value"},je={__name:"StoreList",props:{stores:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},selectedStore:{type:Object,default:null}},emits:["select-store"],setup(d,{emit:n}){const o=n,a=i=>{o("select-store",i)};return(i,s)=>{const _=P("a-spin"),g=P("IconifyIcon"),h=X;return u(),v("div",ue,[d.loading?(u(),v("div",pe,[I(_),s[0]||(s[0]=e("p",null,"加载中...",-1))])):!d.stores||d.stores.length===0?(u(),v("div",ve,[...s[1]||(s[1]=[e("p",null,"暂无门店数据",-1)])])):(u(),v("div",me,[(u(!0),v(x,null,F(d.stores,c=>(u(),v("div",{key:c.id,class:q(["store-item",{active:d.selectedStore&&d.selectedStore.id===c.id}]),onClick:l=>a(c)},[e("div",fe,[e("h3",ye,[j(b(c.name)+" ",1),e("span",he,b(c.store_type_text),1)])]),e("div",ge,[e("div",Ie,[e("span",$e,[I(g,{icon:"ion:time-outline",size:"16",color:"#000",class:"inline"})]),e("span",be,b(c.business_hours),1)]),e("div",Se,[e("span",ke,[I(h,{name:"https://glbfs.mechrevo.com/website/static/svgicons/telephone.svg",size:"16",color:"#000"})]),e("span",Ce,b(c.contact_phone),1)]),e("div",we,[e("span",xe,[I(h,{name:"https://glbfs.mechrevo.com/website/static/svgicons/location.svg",size:"16",color:"#000"})]),e("span",Fe,b(c.address),1)])])],10,_e))),128))]))])}}},Me=w(je,[["__scopeId","data-v-1f655c13"]]),Te={class:"stores-page-pc"},qe={class:"offline-stores-section"},Ue={class:"container"},Ve={class:"stores-content"},Ae={class:"map-wrapper"},Ne={class:"list-wrapper"},Be={class:"online-stores-section"},Le={class:"container"},Pe={class:"store-buttons"},ze={href:"https://u.jd.com/A1Yv1MS",target:"_blank",class:"store-button"},Oe={class:"store-text"},De={href:"https://mechrevo.tmall.com",target:"_blank",class:"store-button"},Re={class:"store-text"},Ee={class:"contact-section"},Ze={class:"container"},He={__name:"StoresPage",setup(d){const n=y({provinceId:null,cityId:null}),o=y([]),a=y(!1),i=y(null),s=y({latitude:null,longitude:null}),_=async()=>{try{const l=await Y();if(console.log("location result:",l),l){if(l.province_id&&(n.value.provinceId=l.province_id),l.city_id&&
1(n.value.cityId=l.city_id),l.location?.rectangle){const[t,r]=l.location.rectangle.split(";"),[$,m]=t.split(",").map(Number),[f,p]=r.split(",").map(Number)}console.log("用户位置:",s.value)}}catch(l){console.error("获取用户位置失败:",l)}},g=async()=>{a.value=!0;try{const l={q:{}};n.value.provinceId&&(l.q.province_id_is=n.value.provinceId),n.value.cityId&&(l.q.city_id_is=n.value.cityId),l.q.category_is=1,s.value.latitude&&s.value.longitude&&(l.latitude=s.value.latitude,l.longitude=s.value.longitude);const t=await E(l);o.value=t.objects||[]}catch(l){console.error("加载门店列表失败:",l),o.value=[]}finally{a.value=!1}},h=()=>{i.value=null,g()},c=l=>{i.value=l};return V(async()=>{await _(),g()}),(l,t)=>{const r=P("IconifyIcon");return u(),v("div",Te,[e("div",qe,[e("div",Ue,[t[2]||(t[2]=e("h1",{class:"section-title"},"全国零售店",-1)),t[3]||(t[3]=e("p",{class:"section-subtitle"},"定位您附近的机械革命零售店,选择产品购买、新品体验、快闪活动等品牌服务",-1)),I(ie,{"province-id":n.value.provinceId,"onUpdate:provinceId":t[0]||(t[0]=$=>n.value.provinceId=$),"city-id":n.value.cityId,"onUpdate:cityId":t[1]||(t[1]=$=>n.value.cityId=$),onSearch:h},null,8,["province-id","city-id"]),e("div",Ve,[e("div",Ae,[I(de,{stores:o.value,"selected-store":i.value,onSelectStore:c},null,8,["stores","selected-store"])]),e("div",Ne,[I(Me,{stores:o.value,loading:a.value,"selected-store":i.value,onSelectStore:c},null,8,["stores","loading","selected-store"])])])])]),e("div",Be,[e("div",Le,[t[8]||(t[8]=e("h1",{class:"main-title"},"线上商城",-1)),t[9]||(t[9]=e("p",{class:"sub-title"},"线上购买直达",-1)),e("div",Pe,[e("a",ze,[t[5]||(t[5]=e("img",{src:"https://glbfs.mechrevo.com/website/static/images/mechrevo-jd.png",alt:"京东",class:"store-logo"},null,-1)),e("div",Oe,[t[4]||(t[4]=j(" 机械革命京东官方旗舰店 ",-1)),I(r,{width:"24px",height:"32px",icon:"lsicon:right-outline",class:"inline-block"})])]),e("a",De,[t[7]||(t[7]=e("img",{src:"https://glbfs.mechrevo.com/website/static/images/mechrevo-tmall.png",alt:"天猫",class:"store-logo"},null,-1)),e("div",Re,[t[6]||(t[6]=j(" 机械革命天猫官方旗舰店 ",-1)),I(r,{width:"24px",height:"32px",icon:"lsicon:right-outline",class:"inline-block"})])])])])]),e("section",Ee,[e("div",Ze,[I(ee)])])])}}},Je=w(He,[["__scopeId","data-v-13c0abb3"]]),Qe={class:"online-stores-section"},We={class:"store-buttons"},Ye=["href"],Ge={class:"store-icon"},Ke=["src","alt"],Xe={class:"store-info"},et={__name:"OnlineStores",setup(d){const n=[{id:1,name:"机械革命天猫旗舰店",desc:"天猫官方旗舰店",url:"https://mechrevo.tmall.com",icon:"/images/stores/tmall.png"},{id:2,name:"机械革命京东官方旗舰店",desc:"京东官方旗舰店",url:"https://mall.jd.com/index-1000003179.html",icon:"/images/stores/jd.png"},{id:3,name:"机械革命京东旗舰店",desc:"京东旗舰店",url:"https://mechrevo.jd.com",icon:"/images/stores/jd.png"}];return(o,a)=>(u(),v("div",Qe,[a[1]||(a[1]=e("h2",{class:"section-title"},"线上商城",-1)),a[2]||(a[2]=e("p",{class:"section-subtitle"},"线上购买直达",-1)),e("div",We,[(u(),v(x,null,F(n,i=>e("a",{key:i.id,href:i.url,target:"_blank",class:"store-button"},[e("div",Ge,[e("img",{src:i.icon,alt:i.name},null,8,Ke)]),e("div",Xe,[e("h3",null,b(i.name),1),e("p",null,b(i.desc),1)]),a[0]||(a[0]=e("div",{class:"arrow-icon"},"→",-1))],8,Ye)),64))])]))}},tt=w(et,[["__scopeId","data-v-b594c86b"]]),st={class:"store-filters"},ot={class:"filter-item"},lt=["value"],nt={class:"filter-item"},it=["disabled"],at=["value"],rt={class:"filter-item"},ct={__name:"StoreFilters",props:{provinceId:Number,cityId:Number,storeType:Number},emits:["update:provinceId","update:cityId","update:storeType","search"],setup(d,{emit:n}){const o=d,a=n,i=y(o.provinceId),s=y(o.cityId),_=y(o.storeType),g=y([]),h=y([]),c=async()=>{try{const f=await U({q:{parent_id_is:1},limit:100});g.value=f.objects||[]}catch(f){console.error("加载省份列表失败:",f)}},l=async f=>{if(!f){h.value=[];return}try{const p=await U({q:{parent_id_is:f},limit:100});h.value=p.objects||[]}catch(p){console.error("加载城市列表失败:",p)}},t=()=>{a("update:provinceId",i.value),s.value=null,a("update:cityId",null),i.value?l(i.value):h.value=[]},r=()=>{a("update:cityId",s.value)},$=()=>{a("update:storeType",_.value)},m=()=>{a("search")};return V(()=>{c(),o.provinceId&&l(o.provinceId)}),(f,p)=>(u(),v("div",st,[e("div",ot,[p[4]||(p[4]=e("label",null,"省份",-1)),A(e("select",{"onUpdate:modelValue":p[0]||(p[0]=S=>i.value=S),onChange:t},[p[3]||(p[3]=e("option",{value:null},"全国",-1)),(u(!0),v(x,null,F(g.value,S=>(u(),v("option",{key:S.id,value:S.id},b(S.name),9,lt))),128))],544),[[N,i.value]])]),e("div",nt,[p[6]||(p[6]=e("label",null,"城市",-1)),A(e("select",{"onUpdate:modelValue":p[1]||(p[1]=S=>s.value=S),disabled:!i.value,onChange:r},[p[5]||(p[5]=e("option",{value:null},"全部",-1)),(u(!0),v(x,null,F(h.value,S=>(u(),v("option",{key:S.id,value:S.id},b(S.name),9,at))),128))],40,it),[[N,s.value]])]),e("div",rt,[p[8]||(p[8]=e("label",null,"类型",-1)),A(e("select",{"onUpdate:modelValue":p[2]||(p[2]=S=>_.value=S),onChange:$},[...p[7]||(p[7]=[e("option",{value:null},"全部",-1),e("option",{value:1},"官方主力店",-1),e("option",{value:2},"普通门店",-1),e("option",{value:3},"售后维修网点",-1)])],544),[[N,_.value]])]),e("button",{class:"search-btn",onClick:m},"搜索")]))}},dt=w(ct,[["__scopeId","data-v-adfc84ec"]]),ut={class:"store-map"},pt={key:0,class:"no-data"},vt={__name:"StoreMap",props:{stores:{type:Array,default:()=>[]},selectedStore:{type:Object,default:null}},emits:["select-store"],setup(d,{emit:n}){Z(()=>{R()}),console.log(B,L);const o=d,a=n,i=y(null),s=y(null),_=y([116.397428,39.90923]),g=y(5),h=t=>{s.value=t,l()},c=t=>{a("select-store",t)},l=()=>{!s.value||!o.stores||o.stores.length===0||J(()=>{const t=o.stores.filter(r=>r.longitude&&r.latitude).map(r=>[parseFloat(r.longitude),parseFloat(r.latitude)]);if(t.length!==0)if(t.length===1)_.value=t[0],g.value=15;else try{s.value.setFitView()}catch(r){console.error("调整地图视野失败:",r)}})};return M(()=>o.selectedStore,t=>{if(t&&t.longitude&&t.latitude&&s.value){const r=[parseFloat(t.longitude),parseFloat(t.latitude)];s.value.setZoomAndCenter(15,r)}}),M(()=>o.stores,()=>{l()},{deep:!0}),(t,r)=>(u(),v("div",ut,[I(C(B),{ref_key:"mapRef",ref:i,class:"amap-container",center:_.value,zoom:g.value,onInit:h},{default:k(()=>[(u(!0),v(x,null,F(d.stores,$=>(u(),T(C(L),{key:$.id,position:[parseFloat($.longitude),parseFloat($.latitude)],title:$.name,onClick:m=>c($)},{default:k(()=>[e("div",{class:q(["custom-marker",{active:d.selectedStore&&d.selectedStore.id===$.id}])},[...r[0]||(r[0]=[e("div",{class:"marker-dot"},null,-1)])],2)]),_:2},1032,["position","title","onClick"]))),128))]),_:1},8,["center","zoom"]),!d.stores||d.stores.length===0?(u(),v("div",pt,[...r[1]||(r[1]=[e("p",null,"暂无门店数据",-1)])])):H("",!0)]))}}
1,mt=w(vt,[["__scopeId","data-v-da40e174"]]),_t={class:"store-list"},ft={class:"list-title"},yt={key:0,class:"loading"},ht={key:1,class:"empty"},gt={key:2,class:"list-container"},It=["onClick"],$t={class:"store-header"},bt={class:"store-name"},St={class:"store-info"},kt={class:"info-item"},Ct={class:"value"},wt={class:"info-item"},xt={class:"value"},Ft={class:"info-item"},jt={class:"value"},Mt={__name:"StoreList",props:{stores:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},selectedStore:{type:Object,default:null}},emits:["select-store"],setup(d,{emit:n}){const o=n,a=i=>{o("select-store",i)};return(i,s)=>(u(),v("div",_t,[e("h3",ft,"门店列表 ("+b(d.stores.length)+")",1),d.loading?(u(),v("div",yt,[...s[0]||(s[0]=[e("p",null,"加载中...",-1)])])):!d.stores||d.stores.length===0?(u(),v("div",ht,[...s[1]||(s[1]=[e("p",null,"暂无门店数据",-1)])])):(u(),v("div",gt,[(u(!0),v(x,null,F(d.stores,_=>(u(),v("div",{key:_.id,class:q(["store-item",{active:d.selectedStore&&d.selectedStore.id===_.id}]),onClick:g=>a(_)},[e("div",$t,[e("h4",bt,b(_.name),1),e("span",{class:q(["store-type-tag",`type-${_.store_type}`])},b(_.store_type_text),3)]),e("div",St,[e("div",kt,[s[2]||(s[2]=e("span",{class:"label"},"营业时间:",-1)),e("span",Ct,b(_.business_hours),1)]),e("div",wt,[s[3]||(s[3]=e("span",{class:"label"},"联系方式:",-1)),e("span",xt,b(_.contact_phone),1)]),e("div",Ft,[s[4]||(s[4]=e("span",{class:"label"},"地址:",-1)),e("span",jt,b(_.address),1)])])],10,It))),128))]))]))}},Tt=w(Mt,[["__scopeId","data-v-bc7ecf7e"]]),qt={class:"stores-page-mobile"},Ut={class:"offline-stores-section"},Vt={class:"map-wrapper"},At={__name:"StoresPage",setup(d){const n=y({provinceId:null,cityId:null,storeType:null}),o=y([]),a=y(!1),i=y(null),s=async()=>{a.value=!0;try{const h={q:{}};n.value.provinceId&&(h.q.province_id_is=n.value.provinceId),n.value.cityId&&(h.q.city_id_is=n.value.cityId),n.value.storeType&&(h.q.store_type_is=n.value.storeType);const c=await E(h);o.value=c.objects||[]}catch(h){console.error("加载门店列表失败:",h),o.value=[]}finally{a.value=!1}},_=()=>{i.value=null,s()},g=h=>{i.value=h;const c=document.querySelector(".map-wrapper");c&&c.scrollIntoView({behavior:"smooth",block:"start"})};return V(()=>{s()}),(h,c)=>(u(),v("div",qt,[I(tt),e("div",Ut,[c[3]||(c[3]=e("h2",{class:"section-title"},"线下零售店",-1)),c[4]||(c[4]=e("p",{class:"section-subtitle"},"定位距您最近的零售店",-1)),I(dt,{"province-id":n.value.provinceId,"onUpdate:provinceId":c[0]||(c[0]=l=>n.value.provinceId=l),"city-id":n.value.cityId,"onUpdate:cityId":c[1]||(c[1]=l=>n.value.cityId=l),"store-type":n.value.storeType,"onUpdate:storeType":c[2]||(c[2]=l=>n.value.storeType=l),onSearch:_},null,8,["province-id","city-id","store-type"]),e("div",Vt,[I(mt,{stores:o.value,"selected-store":i.value,onSelectStore:g},null,8,["stores","selected-store"])]),I(Tt,{stores:o.value,loading:a.value,"selected-store":i.value,onSelectStore:g},null,8,["stores","loading","selected-store"])])]))}},Nt=w(At,[["__scopeId","data-v-639c2d8b"]]),Bt={class:"stores-page"},Lt={__name:"index",setup(d){const{isMobile:n}=Q();return G({title:"门店查询 - 机械革命官方网站"}),(o,a)=>(u(),v("div",Bt,[(u(),T(K(C(n)?Nt:Je)))]))}},rs=w(Lt,[["__scopeId","data-v-f348e262"]]);export{rs 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.