You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
21 KiB
2 lines
21 KiB
import{h as e,i as l,g as a,S as t,s as u,r as s,a as n,b as o,c as i,A as r,d as c,e as d,f as v,w as f,o as m,j as p,k as _,l as g,m as h,u as y,n as k,p as b,q as w,t as C,v as S,x,y as F,F as I,z as N,B as j,C as P,I as $,D as z,E as T,G as A,M,H as R,J as D,K as L,L as U}from"./index-B-hujle-.js";import{P as q}from"./poster.DLiVsUXX.js";import{s as V}from"./search.BJnl3YRK.js";import{d as B}from"./down.BCKq9i8s.js";import{f as E,a as G,c as H}from"./activity.4NBjJ4my.js";import{v as J,g as K,a as W,m as X}from"./suzhouDistrictPolygons.srVEtVX-.js";import{t as Y,m as O}from"./ticketMap.CS0h0SYW.js";import{v as Q,a as Z,c as ee}from"./venueThemeColors.ByZn0VY6.js";import{_ as le}from"./_plugin-vue_export-helper.BCo6x5W8.js";const ae="szkp_force_loc_prompt",te="szkp_wechat_oauth_denied",ue="szkp_h5_oauth_state_ss";let se=null;function ne(){return se||(se=async function(){var c,d;if(!l())return!0;const v=new URL(window.location.href),f=v.searchParams.get("code"),m=v.searchParams.get("state");if(v.searchParams.get("err")){try{window.sessionStorage.setItem(te,"1")}catch{}return v.searchParams.delete("code"),v.searchParams.delete("state"),v.searchParams.delete("err"),window.history.replaceState({},"",v.pathname+v.search+v.hash),!0}if(f){let l="";try{l=window.sessionStorage.getItem(ue)||""}catch{}l||(l=a(t.oauthState)||"");if(Boolean(m&&l&&String(m)!==String(l))){u({title:"授权状态异常,请关闭页面后重试",icon:"none"});try{window.sessionStorage.removeItem(ue)}catch{}s(t.oauthState)}else{n({title:"授权登录中…",mask:!0});try{const l=await e.post("/h5/wechat/oauth",{code:f},{withAuth:!1});if(null==l?void 0:l.token){o(t.accessToken,l.token);try{window.sessionStorage.setItem(ae,"1")}catch{}}}catch(g){const e=(null==g?void 0:g.message)||(null==(d=null==(c=null==g?void 0:g.errors)?void 0:c.code)?void 0:d[0])||"微信登录失败";u({title:e,icon:"none"})}finally{i()}}try{window.sessionStorage.removeItem(ue)}catch{}return s(t.oauthState),v.searchParams.delete("code"),v.searchParams.delete("state"),window.history.replaceState({},"",v.pathname+v.search+v.hash),!0}if(a(t.accessToken))return!0;try{if("1"===window.sessionStorage.getItem(te))return!0}catch{}const p=encodeURIComponent(function(){if("undefined"==typeof window)return"";const e=new URL(window.location.href);return e.hash="",e.search="",e.toString()}()),_=`${Date.now()}-${Math.random().toString(36).slice(2,10)}`;try{window.sessionStorage.setItem(ue,_)}catch{}return o(t.oauthState,_),window.location.href=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${r.wechatAppId}&redirect_uri=${p}&response_type=code&scope=snsapi_userinfo&state=${_}#wechat_redirect`,!1}().finally(()=>{se=null})),se}const oe={lat:31.2989,lng:120.5853},ie={lat:.085,lng:.098};const re=le(c({__name:"index",setup(l){const a=d(!1),t=d(null),s=d({latitude:oe.lat,longitude:oe.lng}),n=d(12),o=d("map"),i=d(""),r=d("区域"),c=d(""),le=d("主题"),ae=d(""),te=d("参观形式"),ue=d(""),se=d("开放模式"),re=d(""),ce=d("收费类型"),de=d(""),ve=d(null),fe=v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_type)??[])a[u.value]=u.label;return a}),me=v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.ticket_type)??[])a[u.value]=u.label;return a}),pe=v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode)??[])a[u.value]=u.label;return a});function _e(e){return e?fe.value[e]||e:""}function ge(e){return e?me.value[e]||e:""}function he(e){return e?pe.value[e]||e:""}const ye=v(()=>{var e,l;return Number((null==(l=null==(e=t.value)?void 0:e.stats)?void 0:l.in_venue_total)??0).toLocaleString()}),ke=v(()=>{var e;const l=[...(null==(e=t.value)?void 0:e.top_live_venues)??[]].sort((e,l)=>Number(l.people_count??0)-Number(e.people_count??0)),a=[];for(let t=0;t<3;t++){const e=l[t];e?a.push({id:e.id,name:e.name,people_count:e.people_count,empty:!1}):a.push({id:0,name:"",people_count:0,empty:!0})}return a}),be=v(()=>{var e,l;return[{label:"区域",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.district)??[]).map(e=>({label:e.label,value:e.value}))]}),we=v(()=>{var e,l;return[{label:"主题",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_type)??[]).map(e=>({label:e.label,value:e.value}))]}),Ce=v(()=>{var e,l;return[{label:"参观形式",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_appointment_type)??[]).map(e=>({label:e.label,value:e.value}))]}),Se=v(()=>{var e,l;return[{label:"开放模式",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode)??[]).map(e=>({label:e.label,value:e.value}))]}),xe=v(()=>{var e,l;return[{label:"收费类型",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.ticket_type)??[]).map(e=>({label:e.label,value:e.value}))]});function Fe(e,l){const a=e.findIndex(e=>e.value===l);return a>=0?a:0}const Ie=v(()=>Fe(be.value,c.value)),Ne=v(()=>Fe(we.value,ae.value)),je=v(()=>Fe(Ce.value,ue.value)),Pe=v(()=>Fe(Se.value,re.value)),$e=v(()=>Fe(xe.value,de.value));function ze(e){const l=be.value[Number(e.detail.value)];l&&(r.value=l.label,c.value=l.value)}function Te(e){const l=we.value[Number(e.detail.value)];l&&(le.value=l.label,ae.value=l.value)}function Ae(e){const l=Ce.value[Number(e.detail.value)];l&&(te.value=l.label,ue.value=l.value)}function Me(e){const l=Se.value[Number(e.detail.value)];l&&(se.value=l.label,re.value=l.value)}function Re(e){const l=xe.value[Number(e.detail.value)];l&&(ce.value=l.label,de.value=l.value)}function De(e){return Z(e)}function Le(e){const l=Number(e.sort);return Number.isFinite(l)?l:0}function Ue(e,l){const a=Le(e)-Le(l);return 0!==a?a:e.id-l.id}const qe=v(()=>{var e;const l=i.value.trim();return((null==(e=t.value)?void 0:e.map_venues)??[]).filter(e=>{if(c.value&&!J(String(e.district||""),c.value))return!1;if(ae.value&&!De(e).includes(ae.value))return!1;if(ue.value&&(e.appointment_type||"")!==ue.value)return!1;if(re.value&&(e.open_mode||"")!==re.value)return!1;if("free"===de.value&&"free"!==(e.ticket_type||""))return!1;if("paid"===de.value&&"paid"!==(e.ticket_type||""))return!1;if(l){if(!`${e.name||""}${e.address||""}`.includes(l))return!1}return!0})}),Ve=v(()=>[...qe.value].sort(Ue)),Be=v(()=>{var e,l;const a=null==(e=c.value)?void 0:e.trim();return a?((null==(l=t.value)?void 0:l.map_venues)??[]).filter(e=>J(String(e.district||""),a)):[]}),Ee=v(()=>{var e;if(!(null==(e=c.value)?void 0:e.trim()))return null;const l=c.value.trim(),a=K(l);if(null==a?void 0:a.length)return a;const t=W(Be.value.map(e=>({lat:e.lat,lng:e.lng})));return t&&t.length>=3?[t]:null}),Ge=v(()=>{const e=Ee.value;return(null==e?void 0:e.length)?e.map(e=>({points:e,strokeWidth:2,strokeColor:"#05C9ACE6",fillColor:"#05C9AC14",zIndex:5})):[]}),He=v(()=>{var e;if(!(null==(e=c.value)?void 0:e.trim()))return[];const l=Ee.value,a=[];if(null==l?void 0:l.length)for(const t of l)for(const e of t)a.push({latitude:e.latitude,longitude:e.longitude});for(const t of Ve.value)a.push({latitude:t.lat,longitude:t.lng});return a});function Je(e,l){if(!e.length)return[];let a=1/0,t=-1/0,u=1/0,s=-1/0;for(const c of e)c.latitude<a&&(a=c.latitude),c.latitude>t&&(t=c.latitude),c.longitude<u&&(u=c.longitude),c.longitude>s&&(s=c.longitude);if(!Number.isFinite(a)||t<=a||!Number.isFinite(u)||s<=u)return e.map(e=>({...e}));const n=(a+t)/2,o=(u+s)/2,i=(t-a)/2*l,r=(s-u)/2*l;return[{latitude:n-i,longitude:o-r},{latitude:n-i,longitude:o+r},{latitude:n+i,longitude:o-r},{latitude:n+i,longitude:o+r}]}const Ke=v(()=>!!(ae.value||ue.value||re.value||de.value||i.value.trim())),We=v(()=>{var e,l;if(null==(e=c.value)?void 0:e.trim()){const e=He.value;if(e.length)return Je(e,.9)}if(!(null==(l=c.value)?void 0:l.trim())&&Ke.value&&Ve.value.length>0){const e=W(Ve.value.map(e=>({lat:e.lat,lng:e.lng})),.012);if(null==e?void 0:e.length){return Je(e.map(e=>({latitude:e.latitude,longitude:e.longitude})),.9)}}return Je(function(e=ie){const l=oe,a=e.lat,t=e.lng;return[{latitude:l.lat-a,longitude:l.lng-t},{latitude:l.lat-a,longitude:l.lng+t},{latitude:l.lat+a,longitude:l.lng-t},{latitude:l.lat+a,longitude:l.lng+t}]}(),.9)}),Xe=v(()=>{var e;if((null==(e=c.value)?void 0:e.trim())&&He.value.length)try{const e=y(48);return[e,e,e,e]}catch{return[16,16,16,16]}}),Ye=v(()=>!!(c.value||ae.value||ue.value||re.value||de.value||i.value.trim())),Oe=v(()=>null==ve.value?null:qe.value.find(e=>e.id===ve.value)??null);function Qe(e){var l,a;return ee(e,null==(a=null==(l=t.value)?void 0:l.venue_dicts)?void 0:a.venue_type)}f([Ve,c,Ee,Ke],()=>{var e,l;const a=Ee.value;if((null==(e=c.value)?void 0:e.trim())&&(null==a?void 0:a.length)){const e=X(a);return void(s.value={latitude:e.latitude,longitude:e.longitude})}if(!(null==(l=c.value)?void 0:l.trim())&&Ke.value&&Ve.value.length>0){const e=Ve.value[0];return void(s.value={latitude:e.lat,longitude:e.lng})}pl()}),f(qe,e=>{null==ve.value||e.some(e=>e.id===ve.value)||(ve.value=null)}),f(o,e=>{"list"===e&&(ve.value=null),"map"===e&&(n.value=12)});let Ze=null;f([Ve,Ye],()=>{Ze&&(clearTimeout(Ze),Ze=null),"map"===o.value&&(!Ye.value||Ve.value.length>0||(Ze=setTimeout(()=>{Ze=null,u({title:"暂无符合条件的场馆",icon:"none",duration:2e3})},150)))});const el=Math.round(8064/246),ll=v(()=>{const e=n.value>=14;return Ve.value.map(l=>{const a=Y(l,()=>function(e){var l,a;if(!e)return"#05c9ac";const u=Z(e)[0];if(u&&(null==(a=null==(l=t.value)?void 0:l.venue_dicts)?void 0:a.venue_type)){const e=t.value.venue_dicts.venue_type.find(e=>e.value===u);if(null==e?void 0:e.color)return e.color}return e.venue_type_color||"#05c9ac"}(l)),u=O(a),s={id:l.id,latitude:l.lat,longitude:l.lng,width:32,height:el,iconPath:u,anchor:{x:.5,y:1}},n=(l.name||"").trim();return e&&n&&(s.label={content:n,color:"#1d2129",fontSize:11,bgColor:"rgba(255,255,255,0.92)",padding:3,borderRadius:4,anchorX:0,anchorY:-4}),s})});function al(e){var l;const a=null==e?void 0:e.detail;if(!a||"begin"===a.type)return;const t="number"==typeof a.scale?a.scale:"number"==typeof(null==(l=a.detail)?void 0:l.scale)?a.detail.scale:null;null!=t&&Number.isFinite(t)&&(n.value=t)}let tl=!1;function ul(e){var l;const a=null==(l=null==e?void 0:e.detail)?void 0:l.markerId;null!=a&&(ve.value=Number(a),tl=!0,setTimeout(()=>{tl=!1},400))}function sl(){tl||(ve.value=null)}function nl(){ve.value=null}function ol(e){e&&L({url:`/pages/venue/detail?id=${e}`})}function il(){L({url:"/pages/stats/index"})}function rl(){U({url:"/pages/activity/index"})}function cl(){L({url:"/pages/discover/index"})}function dl(e){const l=e.schedule_status;return"not_started"===l||"ongoing"===l||"ended"===l?l:H(e.start_at,e.end_at)}function vl(e){return"ended"!==dl(e)&&!0===e.is_bookable}function fl(e){return G(dl(e))}function ml(e){return`st-${dl(e)}`}function pl(){s.value={latitude:oe.lat,longitude:oe.lng}}async function _l(){a.value=!0;try{const l=await e.get("/h5/home",{},{withAuth:!1});t.value=l,pl(),await g({title:"苏州市科普场馆地图",desc:"热门活动、研学线路与场馆导览"}).catch(()=>{})}catch(l){u({title:(null==l?void 0:l.message)||"加载首页失败",icon:"none"})}finally{a.value=!1}}return m(async()=>{await ne()&&await _l()}),(e,l)=>{const u=h,c=C,d=$,v=z,f=A,m=M,g=w;return k(),p(u,{class:"page-root"},{default:_(()=>[b(g,{"scroll-y":"",class:"page"},{default:_(()=>[b(u,{class:"hero"},{default:_(()=>[b(u,{class:"hero-brand"}),b(u,{class:"hero-content"},{default:_(()=>[b(u,{class:"stat-card"},{default:_(()=>[b(u,{class:"stat-main"},{default:_(()=>[b(u,{class:"stat-left"},{default:_(()=>[b(c,{class:"stat-label"},{default:_(()=>[S("在馆实时总人数")]),_:1}),b(c,{class:"stat-num"},{default:_(()=>[S(x(ye.value)+" 人",1)]),_:1})]),_:1}),b(u,{class:"stat-right"},{default:_(()=>[b(u,{class:"live-list"},{default:_(()=>[(k(!0),F(I,null,N(ke.value,(e,l)=>(k(),p(u,{key:"live-"+l,class:P(["live-venue-row",{"is-empty":e.empty}]),onClick:j(l=>{var a;(a=e).empty||ol(a.id)},["stop"])},{default:_(()=>[b(u,{class:"live-row-one"},{default:_(()=>[b(c,{class:"live-top"},{default:_(()=>[S("Top "+x(l+1),1)]),_:2},1024),b(c,{class:"live-name"},{default:_(()=>[S(x(e.empty?"—":e.name),1)]),_:2},1024),b(c,{class:"live-count"},{default:_(()=>[S(x(e.empty?"—":e.people_count+" 人"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}),b(u,{class:"stat-foot",onClick:j(il,["stop"])},{default:_(()=>[b(c,{class:"stat-foot-link"},{default:_(()=>[S("客流量统计 >")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),b(u,{class:"map-section"},{default:_(()=>[b(u,{class:"toolbar"},{default:_(()=>[b(u,{class:"tabs"},{default:_(()=>[b(c,{class:P(["tab",{on:"map"===o.value}]),onClick:l[0]||(l[0]=e=>o.value="map")},{default:_(()=>[S("地图")]),_:1},8,["class"]),b(c,{class:P(["tab",{on:"list"===o.value}]),onClick:l[1]||(l[1]=e=>o.value="list")},{default:_(()=>[S("列表")]),_:1},8,["class"])]),_:1}),b(u,{class:"search-wrap"},{default:_(()=>[b(d,{modelValue:i.value,"onUpdate:modelValue":l[2]||(l[2]=e=>i.value=e),class:"search-input",placeholder:"请输入你要搜索的内容","placeholder-class":"ph"},null,8,["modelValue"]),b(v,{class:"search-icon-img",src:T(V),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),b(u,{class:"filters"},{default:_(()=>[b(f,{mode:"selector",range:be.value,"range-key":"label",value:Ie.value,onChange:ze},{default:_(()=>[b(u,{class:"f-item"},{default:_(()=>[b(c,{class:"f-item-text"},{default:_(()=>[S(x(r.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:T(B),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:we.value,"range-key":"label",value:Ne.value,onChange:Te},{default:_(()=>[b(u,{class:"f-item"},{default:_(()=>[b(c,{class:"f-item-text"},{default:_(()=>[S(x(le.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:T(B),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:Ce.value,"range-key":"label",value:je.value,onChange:Ae},{default:_(()=>[b(u,{class:"f-item"},{default:_(()=>[b(c,{class:"f-item-text"},{default:_(()=>[S(x(te.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:T(B),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:Se.value,"range-key":"label",value:Pe.value,onChange:Me},{default:_(()=>[b(u,{class:"f-item"},{default:_(()=>[b(c,{class:"f-item-text"},{default:_(()=>[S(x(se.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:T(B),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:xe.value,"range-key":"label",value:$e.value,onChange:Re},{default:_(()=>[b(u,{class:"f-item"},{default:_(()=>[b(c,{class:"f-item-text"},{default:_(()=>[S(x(ce.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:T(B),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"])]),_:1}),"map"===o.value?(k(),p(u,{key:0,class:"map-wrap"},{default:_(()=>[b(m,{class:"main-map",latitude:s.value.latitude,longitude:s.value.longitude,markers:ll.value,scale:n.value,polygons:Ge.value,"include-points":We.value,padding:Xe.value,"enable-3D":!1,"enable-poi":!1,"enable-building":!1,"enable-traffic":!1,"show-compass":!1,onRegionchange:al,onMarkertap:ul,onTap:sl},null,8,["latitude","longitude","markers","scale","polygons","include-points","padding"]),Oe.value?(k(),p(u,{key:0,class:"venue-sheet",onClick:l[4]||(l[4]=j(()=>{},["stop"]))},{default:_(()=>[b(u,{class:"venue-sheet-inner"},{default:_(()=>[b(u,{class:"sheet-bar"}),b(u,{class:"sheet-row"},{default:_(()=>[b(v,{class:"sheet-cover",src:Oe.value.image||T(q),mode:"aspectFill"},null,8,["src"]),b(u,{class:"sheet-main"},{default:_(()=>[b(c,{class:"sheet-name"},{default:_(()=>[S(x(Oe.value.name),1)]),_:1}),De(Oe.value).length||Oe.value.ticket_type||Oe.value.open_mode?(k(),p(u,{key:0,class:"sheet-meta"},{default:_(()=>[(k(!0),F(I,null,N(De(Oe.value),(e,l)=>(k(),p(c,{key:"svm-"+l,class:"sheet-type",style:R(T(Q)(Qe(e)))},{default:_(()=>[S(x(_e(e)||e),1)]),_:2},1032,["style"]))),128)),Oe.value.ticket_type?(k(),p(c,{key:0,class:P(["sheet-ticket","paid"===Oe.value.ticket_type?"paid":"free"])},{default:_(()=>[S(x(ge(Oe.value.ticket_type)),1)]),_:1},8,["class"])):D("",!0),Oe.value.open_mode?(k(),p(c,{key:1,class:"open-mode-tag"},{default:_(()=>[S(x(he(Oe.value.open_mode)),1)]),_:1})):D("",!0)]),_:1})):D("",!0)]),_:1})]),_:1}),b(u,{class:"sheet-actions"},{default:_(()=>[b(u,{class:"sheet-btn ghost",onClick:nl},{default:_(()=>[S("关闭")]),_:1}),b(u,{class:"sheet-btn primary",onClick:l[3]||(l[3]=e=>ol(Oe.value.id))},{default:_(()=>[S("详情")]),_:1})]),_:1})]),_:1})]),_:1})):D("",!0)]),_:1})):(k(),p(g,{key:1,"scroll-y":"",class:"venue-list-scroll"},{default:_(()=>[(k(!0),F(I,null,N(Ve.value,e=>(k(),p(u,{key:e.id,class:"venue-row",onClick:l=>ol(e.id)},{default:_(()=>[b(v,{class:"venue-thumb",src:e.image||T(q),mode:"aspectFill"},null,8,["src"]),b(u,{class:"venue-info"},{default:_(()=>[b(c,{class:"venue-name"},{default:_(()=>[S(x(e.name),1)]),_:2},1024),De(e).length||e.ticket_type||e.open_mode?(k(),p(u,{key:0,class:"venue-meta"},{default:_(()=>[(k(!0),F(I,null,N(De(e),(l,a)=>(k(),p(c,{key:"vml-"+e.id+"-"+a,class:"venue-type-pill",style:R(T(Q)(Qe(l)))},{default:_(()=>[S(x(_e(l)||l),1)]),_:2},1032,["style"]))),128)),e.ticket_type?(k(),p(c,{key:0,class:P(["venue-ticket-pill","paid"===e.ticket_type?"paid":"free"])},{default:_(()=>[S(x(ge(e.ticket_type)),1)]),_:2},1032,["class"])):D("",!0),e.open_mode?(k(),p(c,{key:1,class:"open-mode-tag"},{default:_(()=>[S(x(he(e.open_mode)),1)]),_:2},1024)):D("",!0)]),_:2},1024)):D("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),Ve.value.length?D("",!0):(k(),p(u,{key:0,class:"empty-tip"},{default:_(()=>[S(x(Ye.value?"暂无符合条件的场馆":"暂无场馆"),1)]),_:1}))]),_:1}))]),_:1}),b(u,{class:"section"},{default:_(()=>[b(u,{class:"sec-head"},{default:_(()=>[b(u,{class:"sec-bar"}),b(c,{class:"sec-title"},{default:_(()=>[S("热门活动")]),_:1}),b(c,{class:"sec-more",onClick:rl},{default:_(()=>[S("更多 >")]),_:1})]),_:1}),b(g,{"scroll-x":"",class:"act-scroll","show-scrollbar":!1,"enable-flex":!0},{default:_(()=>[b(u,{class:"act-scroll-row"},{default:_(()=>{var e;return[(k(!0),F(I,null,N((null==(e=t.value)?void 0:e.hot_activities)??[],e=>(k(),p(u,{key:e.id,class:"act-card",onClick:l=>{return a=e.id,void L({url:`/pages/activity/detail?id=${a}`});var a}},{default:_(()=>[b(u,{class:"act-img-wrap"},{default:_(()=>[b(v,{class:"act-img",src:e.image||T(q),mode:"aspectFill"},null,8,["src"]),b(u,{class:P(["act-schedule-tag",ml(e)])},{default:_(()=>[S(x(fl(e)),1)]),_:2},1032,["class"]),vl(e)?(k(),p(u,{key:0,class:"act-book-badge is-bookable"},{default:_(()=>[b(c,{class:"act-book-text is-bookable"},{default:_(()=>[S("可预约")]),_:1})]),_:1})):D("",!0)]),_:2},1024),b(u,{class:"act-body"},{default:_(()=>[b(c,{class:"act-title"},{default:_(()=>[S(x(e.title),1)]),_:2},1024),b(u,{class:"act-tags"},{default:_(()=>[(k(!0),F(I,null,N((e.tags||[]).slice(0,4),(l,a)=>(k(),p(c,{key:"tag-"+e.id+"-"+a,class:"act-tag-chip"},{default:_(()=>[S(x(l),1)]),_:2},1024))),128))]),_:2},1024),b(c,{class:"act-meta"},{default:_(()=>[S(x(T(E)(e.start_at,e.end_at)),1)]),_:2},1024),b(c,{class:"act-meta"},{default:_(()=>[S(x(e.venue_name||e.address||"苏州"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1})]),_:1})]),_:1}),b(u,{class:"section"},{default:_(()=>{var e;return[b(u,{class:"sec-head"},{default:_(()=>[b(u,{class:"sec-bar"}),b(c,{class:"sec-title"},{default:_(()=>[S("科普四季研学线路推荐")]),_:1}),b(c,{class:"sec-more",onClick:cl},{default:_(()=>[S("更多 >")]),_:1})]),_:1}),(k(!0),F(I,null,N((null==(e=t.value)?void 0:e.study_tours)??[],e=>(k(),p(u,{key:e.id,class:"tour-card",onClick:l=>{return a=e.id,void L({url:`/pages/study-tour/detail?id=${a}`});var a}},{default:_(()=>[b(u,{class:"tour-img-wrap"},{default:_(()=>[b(v,{class:"tour-img",src:e.cover_image||T(q),mode:"aspectFill"},null,8,["src"])]),_:2},1024),b(u,{class:"tour-body"},{default:_(()=>{var l;return[b(c,{class:"tour-title"},{default:_(()=>[S(x(e.name),1)]),_:2},1024),b(u,{class:"tour-stops-timeline"},{default:_(()=>[(k(!0),F(I,null,N(e.venue_names,(l,a)=>(k(),p(u,{key:"v-"+e.id+"-"+a,class:"tour-stop-row"},{default:_(()=>[b(u,{class:"tour-timeline-axis"},{default:_(()=>[b(u,{class:"tour-dot-cell"},{default:_(()=>[b(u,{class:"tour-tl-dot"})]),_:1}),a<e.venue_names.length-1?(k(),p(u,{key:0,class:"tour-tl-line"})):D("",!0)]),_:2},1024),b(c,{class:"tour-stop-name"},{default:_(()=>[S(x(l),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(l=e.tags)?void 0:l.length)?(k(),p(u,{key:0,class:"tour-tags-row"},{default:_(()=>[(k(!0),F(I,null,N(e.tags,(l,a)=>(k(),p(c,{key:"t-"+e.id+"-"+a,class:"tour-tag"},{default:_(()=>[S(x(l),1)]),_:2},1024))),128))]),_:2},1024)):D("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1}),b(u,{class:"bottom-safe"}),a.value?(k(),p(u,{key:0,class:"loading-mask"},{default:_(()=>[S("加载中...")]),_:1})):D("",!0)]),_:1})]),_:1})}}}),[["__scopeId","data-v-4572e528"]]);export{re as default};
|