研学线路

master
lion 2 days ago
parent c706721ec7
commit 129fd14d3c

@ -1 +0,0 @@
.tdt-wrap[data-v-b885381f]{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;z-index:1}.tdt-map[data-v-b885381f]{width:100%;height:100%;touch-action:none}.tdt-err[data-v-b885381f]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:.75rem;font-size:.8125rem;color:#86909c;background:#f2f3f5;text-align:center;z-index:2}.tdt-copy[data-v-b885381f]{position:absolute;left:.25rem;bottom:.1875rem;font-size:.5625rem;color:rgba(29,33,41,.55);z-index:3;pointer-events:none;line-height:1.2}

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{h as t}from"./index-CC6J0dtG.js";function i(i={}){const{include_ticket_grab:e,bookable_only:n,...s}=i,r={...s};return e&&(r.include_ticket_grab=1),n&&(r.bookable_only=1),t.get("/h5/activities",r,{withAuth:!1})}function e(i){return t.get(`/h5/activities/${i}`,{})}function n(i,e){return t.get(`/h5/activities/${i}/registrations`,{...e||{}},{withAuth:!1})}function s(i){return t.post(`/h5/activities/${i}/view`,{},{withAuth:!1})}function r(i){return t.post(`/h5/activities/${i}/external-link-click`,{},{withAuth:!1})}function u(i){return t.get(`/h5/ticket-grab-events/${i}`,{},{withAuth:!1})}function o(i,e){return t.get(`/h5/ticket-grab-events/${i}/booking-info`,{venue_id:e},{withAuth:!0})}function h(i,e){return t.post(`/h5/ticket-grab-events/${i}/reservations`,e,{withAuth:!0})}function c(i={}){const e={};return i.only_included_in_stats&&(e.only_included_in_stats=1),t.get("/h5/venues",e,{withAuth:!1})}function a(){return t.get("/h5/venue-dicts",{},{withAuth:!1})}function _(i,e={}){const n={};return e.ticket_grab_event_id&&e.ticket_grab_event_id>0&&(n.ticket_grab_event_id=e.ticket_grab_event_id),t.get(`/h5/venues/${i}`,n,{withAuth:!1})}function g(i){return t.get(`/h5/study-tours/${i}`,{},{withAuth:!1})}function v(i={}){return t.get("/h5/study-tours",i,{withAuth:!1})}function f(i){return t.get(`/h5/activities/${i}/booking-info`,{},{withAuth:!0})}function d(i,e){return t.post(`/h5/activities/${i}/reservations`,e,{withAuth:!0})}function w(i){return t.get("/h5/my/reservations",{},{withAuth:!0})}function A(i,e){const n={};return e&&/^1\d{10}$/.test(e)&&(n.visitor_phone=e),t.get(`/h5/my/reservations/${i}`,n,{withAuth:!0})}function b(i,e){const n={};return e&&/^1\d{10}$/.test(e)&&(n.visitor_phone=e),t.post(`/h5/my/reservations/${i}/cancel`,n,{withAuth:!0})}export{c as a,i as b,v as c,w as d,b as e,e as f,a as g,r as h,n as i,u as j,o as k,_ as l,h as m,f as n,d as o,s as p,A as q,g as r};
import{h as t}from"./index-D9YO76Ut.js";function i(i={}){const{include_ticket_grab:e,bookable_only:n,...s}=i,r={...s};return e&&(r.include_ticket_grab=1),n&&(r.bookable_only=1),t.get("/h5/activities",r,{withAuth:!1})}function e(i){return t.get(`/h5/activities/${i}`,{})}function n(i,e){return t.get(`/h5/activities/${i}/registrations`,{...e||{}},{withAuth:!1})}function s(i){return t.post(`/h5/activities/${i}/view`,{},{withAuth:!1})}function r(i){return t.post(`/h5/activities/${i}/external-link-click`,{},{withAuth:!1})}function u(i){return t.get(`/h5/ticket-grab-events/${i}`,{},{withAuth:!1})}function o(i,e){return t.get(`/h5/ticket-grab-events/${i}/booking-info`,{venue_id:e},{withAuth:!0})}function h(i,e){return t.post(`/h5/ticket-grab-events/${i}/reservations`,e,{withAuth:!0})}function c(i={}){const e={};return i.only_included_in_stats&&(e.only_included_in_stats=1),t.get("/h5/venues",e,{withAuth:!1})}function a(){return t.get("/h5/venue-dicts",{},{withAuth:!1})}function _(i,e={}){const n={};return e.ticket_grab_event_id&&e.ticket_grab_event_id>0&&(n.ticket_grab_event_id=e.ticket_grab_event_id),t.get(`/h5/venues/${i}`,n,{withAuth:!1})}function g(i){return t.get(`/h5/study-tours/${i}`,{},{withAuth:!1})}function v(i={}){return t.get("/h5/study-tours",i,{withAuth:!1})}function f(i){return t.get(`/h5/activities/${i}/booking-info`,{},{withAuth:!0})}function d(i,e){return t.post(`/h5/activities/${i}/reservations`,e,{withAuth:!0})}function w(i){return t.get("/h5/my/reservations",{},{withAuth:!0})}function A(i,e){const n={};return e&&/^1\d{10}$/.test(e)&&(n.visitor_phone=e),t.get(`/h5/my/reservations/${i}`,n,{withAuth:!0})}function b(i,e){const n={};return e&&/^1\d{10}$/.test(e)&&(n.visitor_phone=e),t.post(`/h5/my/reservations/${i}/cancel`,n,{withAuth:!0})}export{c as a,i as b,v as c,w as d,b as e,e as f,a as g,r as h,n as i,u as j,o as k,_ as l,h as m,f as n,d as o,s as p,A as q,g as r};

@ -1 +0,0 @@
const t=Math.PI;function n(t,n){return t<72.004||t>137.8347||n<.8293||n>55.8271}function a(a,s){if(n(a,s))return{lng:a,lat:s};const h=6378245,i=.006693421622965943;let M=function(n,a){let s=2*n-100+3*a+.2*a*a+.1*n*a+.2*Math.sqrt(Math.abs(n));return s+=2*(20*Math.sin(6*n*t)+20*Math.sin(2*n*t))/3,s+=2*(20*Math.sin(a*t)+40*Math.sin(a/3*t))/3,s+=2*(160*Math.sin(a/12*t)+320*Math.sin(a*t/30))/3,s}(a-105,s-35),r=function(n,a){let s=300+n+2*a+.1*n*n+.1*n*a+.1*Math.sqrt(Math.abs(n));return s+=2*(20*Math.sin(6*n*t)+20*Math.sin(2*n*t))/3,s+=2*(20*Math.sin(n*t)+40*Math.sin(n/3*t))/3,s+=2*(150*Math.sin(n/12*t)+300*Math.sin(n/30*t))/3,s}(a-105,s-35);const l=s/180*t;let e=Math.sin(l);e=1-i*e*e;const o=Math.sqrt(e);return M=180*M/(h*(1-i)/(e*o)*t),r=180*r/(h/o*Math.cos(l)*t),{lng:a+r,lat:s+M}}function s(t,s){if(n(t,s))return{lng:t,lat:s};let h=t,i=s;for(let n=0;n<2;n++){const n=a(h,i);h=t-(n.lng-h),i=s-(n.lat-i)}return{lng:h,lat:i}}export{s as g,a as w};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{L as t,M as n,a8 as r}from"./index-CC6J0dtG.js";function o(){try{const r=t(n.localProfile);if(!r)return null;const o="string"==typeof r?JSON.parse(r):r;return o&&"object"==typeof o?o:null}catch{return null}}function l(t){r(n.localProfile,JSON.stringify(t))}export{o as l,l as s};
import{M as t,N as n,a9 as r}from"./index-D9YO76Ut.js";function o(){try{const r=t(n.localProfile);if(!r)return null;const o="string"==typeof r?JSON.parse(r):r;return o&&"object"==typeof o?o:null}catch{return null}}function l(t){r(n.localProfile,JSON.stringify(t))}export{o as l,l as s};

@ -1 +0,0 @@
import{d as e,r as a,c as l,U as s,y as t,k as u,f as n,e as c,B as i,F as r,i as v,j as d,a6 as o,l as f,m as _,v as p,z as m,p as y,V as h,X as k,_ as g}from"./index-CC6J0dtG.js";import{f as b}from"./content.BfcEEng6.js";const w=g(e({__name:"behind-scenes",setup(e){const g=a(0),w=a(""),j=a([]),C=a(!1),F=a(!1),S=a(0),x=l(()=>j.value);function A(){F.value=!1}function I(e){var a;const l=null==(a=e.detail)?void 0:a.current;"number"==typeof l&&(S.value=l)}return s(e=>{const a=e&&"object"==typeof e?e.id:void 0;g.value=null!=a&&""!==a?parseInt(String(a),10):0,g.value&&async function(){C.value=!0;try{const e=await b(g.value);w.value=String((null==e?void 0:e.title)||"");const a=Array.isArray(null==e?void 0:e.behind_scenes_media)?e.behind_scenes_media:[];j.value=a.map(e=>String((null==e?void 0:e.url)||"").trim()).filter(e=>e.length>0)}catch{w.value="",j.value=[]}finally{C.value=!1}}()}),(e,a)=>{const l=f,s=v,g=y,b=k,z=h;return d(),t(r,null,[u(s,{class:"page"},{default:n(()=>[u(o),u(s,{class:"head"},{default:n(()=>[u(l,{class:"title"},{default:n(()=>[_(p(w.value),1)]),_:1}),u(l,{class:"sub"},{default:n(()=>[_("活动花絮")]),_:1})]),_:1}),C.value?(d(),c(s,{key:0,class:"hint"},{default:n(()=>[_("加载中…")]),_:1})):(d(),c(s,{key:1,class:"grid"},{default:n(()=>[(d(!0),t(r,null,m(j.value,(e,a)=>(d(),c(g,{key:"bts-"+a+"-"+e,class:"thumb",src:e,mode:"aspectFill",onClick:e=>function(e){S.value=e,F.value=!0}(a)},null,8,["src","onClick"]))),128))]),_:1})),C.value||j.value.length?i("",!0):(d(),c(s,{key:2,class:"hint muted"},{default:n(()=>[_("暂无花絮图片")]),_:1}))]),_:1}),F.value?(d(),c(s,{key:0,class:"preview-mask"},{default:n(()=>[u(s,{class:"preview-toolbar"},{default:n(()=>[u(l,{class:"preview-count"},{default:n(()=>[_(p(S.value+1)+" / "+p(x.value.length),1)]),_:1}),u(l,{class:"preview-close",onClick:A},{default:n(()=>[_("关闭")]),_:1})]),_:1}),u(z,{class:"preview-swiper",current:S.value,onChange:I},{default:n(()=>[(d(!0),t(r,null,m(x.value,(e,a)=>(d(),c(b,{key:"pv-"+a},{default:n(()=>[u(s,{class:"preview-slide"},{default:n(()=>[u(g,{class:"preview-img",src:e,mode:"aspectFit"},null,8,["src"])]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["current"])]),_:1})):i("",!0)],64)}}}),[["__scopeId","data-v-f28245f2"]]);export{w as default};

@ -0,0 +1 @@
import{d as e,r as a,n as l,V as s,A as t,l as u,f as n,c,k as i,F as r,i as v,b as d,a7 as o,m as f,j as _,t as p,B as m,x as y,X as h,Y as k,_ as b}from"./index-D9YO76Ut.js";import{f as g}from"./content.CWxBtEbN.js";const w=b(e({__name:"behind-scenes",setup(e){const b=a(0),w=a(""),j=a([]),C=a(!1),x=a(!1),A=a(0),F=l(()=>j.value);function S(){x.value=!1}function I(e){var a;const l=null==(a=e.detail)?void 0:a.current;"number"==typeof l&&(A.value=l)}return s(e=>{const a=e&&"object"==typeof e?e.id:void 0;b.value=null!=a&&""!==a?parseInt(String(a),10):0,b.value&&async function(){C.value=!0;try{const e=await g(b.value);w.value=String((null==e?void 0:e.title)||"");const a=Array.isArray(null==e?void 0:e.behind_scenes_media)?e.behind_scenes_media:[];j.value=a.map(e=>String((null==e?void 0:e.url)||"").trim()).filter(e=>e.length>0)}catch{w.value="",j.value=[]}finally{C.value=!1}}()}),(e,a)=>{const l=f,s=v,b=y,g=k,B=h;return d(),t(r,null,[u(s,{class:"page"},{default:n(()=>[u(o),u(s,{class:"head"},{default:n(()=>[u(l,{class:"title"},{default:n(()=>[_(p(w.value),1)]),_:1}),u(l,{class:"sub"},{default:n(()=>[_("活动花絮")]),_:1})]),_:1}),C.value?(d(),c(s,{key:0,class:"hint"},{default:n(()=>[_("加载中…")]),_:1})):(d(),c(s,{key:1,class:"grid"},{default:n(()=>[(d(!0),t(r,null,m(j.value,(e,a)=>(d(),c(b,{key:"bts-"+a+"-"+e,class:"thumb",src:e,mode:"aspectFill",onClick:e=>function(e){A.value=e,x.value=!0}(a)},null,8,["src","onClick"]))),128))]),_:1})),C.value||j.value.length?i("",!0):(d(),c(s,{key:2,class:"hint muted"},{default:n(()=>[_("暂无花絮图片")]),_:1}))]),_:1}),x.value?(d(),c(s,{key:0,class:"preview-mask"},{default:n(()=>[u(s,{class:"preview-toolbar"},{default:n(()=>[u(l,{class:"preview-count"},{default:n(()=>[_(p(A.value+1)+" / "+p(F.value.length),1)]),_:1}),u(l,{class:"preview-close",onClick:S},{default:n(()=>[_("关闭")]),_:1})]),_:1}),u(B,{class:"preview-swiper",current:A.value,onChange:I},{default:n(()=>[(d(!0),t(r,null,m(F.value,(e,a)=>(d(),c(g,{key:"pv-"+a},{default:n(()=>[u(s,{class:"preview-slide"},{default:n(()=>[u(b,{class:"preview-img",src:e,mode:"aspectFit"},null,8,["src"])]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["current"])]),_:1})):i("",!0)],64)}}}),[["__scopeId","data-v-f28245f2"]]);export{w as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
import{d as a,r as e,c as t,U as l,e as s,f as u,i as n,N as r,j as i,k as c,l as o,m as v,v as d,B as f,S as _,y as m,F as g,z as p,n as y,p as h,q as S,_ as $}from"./index-CC6J0dtG.js";import{i as k}from"./content.BfcEEng6.js";import{P as w}from"./poster.C6TYC1FC.js";const N=$(a({__name:"registrations",setup(a){const $=e(0),N=e(""),b=e(!1),j=e(!1),x=e(1),B=e(1),F=e(0),z=e([]);function D(a){const e=(a.session_name||"").trim(),t=(a.session_time_text||"").trim(),l=(a.activity_date||"").trim();return e&&t?`${e} · ${t}`:t||(e&&l?`${e} · ${l}`:e||(l||"场次信息"))}function I(a){if(!a)return"—";const e=new Date(a);return Number.isNaN(e.getTime())?"—":`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`}const M=t(()=>x.value<B.value),P=t(()=>!M.value&&z.value.length>0&&!b.value&&!j.value);async function U(a,e){if($.value){if(e){if(j.value||!M.value)return;j.value=!0}else b.value=!0;try{const t=await k($.value,{page:a,page_size:20});F.value=t.total,B.value=t.last_page||1,t.activity_title&&(N.value=t.activity_title),z.value=e?[...z.value,...t.data||[]]:t.data||[],x.value=a}catch{e||(z.value=[])}finally{b.value=!1,j.value=!1}}}function q(){!M.value||b.value||j.value||U(x.value+1,!0)}return l(a=>{$.value=Number((null==a?void 0:a.id)||0);const e=null==a?void 0:a.title;if(e&&"string"==typeof e)try{N.value=decodeURIComponent(e)}catch{N.value=e}U(1,!1)}),(a,e)=>{const t=r("SubPageBackBtn"),l=o,$=n,k=h,j=_;return i(),s($,{class:"page"},{default:u(()=>[c(t),c($,{class:"body"},{default:u(()=>[N.value?(i(),s($,{key:0,class:"act-hd"},{default:u(()=>[c(l,{class:"act-hd-t"},{default:u(()=>[v(d(N.value),1)]),_:1})]),_:1})):f("",!0),c(j,{"scroll-y":"",class:"scroll","lower-threshold":100,onScrolltolower:q},{default:u(()=>[b.value&&!z.value.length?(i(),s($,{key:0,class:"state-tip"},{default:u(()=>[v("加载中…")]),_:1})):(i(),s($,{key:1,class:"list-outer"},{default:u(()=>[z.value.length?(i(),s($,{key:0,class:"list-wrap"},{default:u(()=>[(i(!0),m(g,null,p(z.value,(a,e)=>(i(),s($,{key:"enr-"+a.id,class:y(["enr-row",{"is-last":e===z.value.length-1}])},{default:u(()=>[c(k,{class:"enr-avatar",src:a.avatar_url||S(w),mode:"aspectFill"},null,8,["src"]),c($,{class:"enr-mid"},{default:u(()=>[c($,{class:"enr-name-row"},{default:u(()=>[c(l,{class:"enr-name"},{default:u(()=>[v(d(a.visitor_name||"—"),1)]),_:2},1024),c(l,{class:"enr-time"},{default:u(()=>[v(d(I(a.created_at)),1)]),_:2},1024)]),_:2},1024),c(l,{class:"enr-session"},{default:u(()=>[v(d(D(a)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["class"]))),128))]),_:1})):f("",!0),b.value||z.value.length?f("",!0):(i(),s($,{key:1,class:"state-tip"},{default:u(()=>[v("暂无报名")]),_:1})),P.value?(i(),s($,{key:2,class:"enr-end"},{default:u(()=>[v("这回真没了~")]),_:1})):f("",!0)]),_:1}))]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-fcaf9d69"]]);export{N as default};

@ -0,0 +1 @@
import{d as a,r as e,n as t,V as l,c as s,f as u,i as n,O as r,b as i,l as c,m as o,j as v,t as d,k as f,S as _,A as m,F as g,B as p,v as y,x as h,y as S,_ as $}from"./index-D9YO76Ut.js";import{i as k}from"./content.CWxBtEbN.js";import{P as w}from"./poster.C6TYC1FC.js";const b=$(a({__name:"registrations",setup(a){const $=e(0),b=e(""),j=e(!1),x=e(!1),N=e(1),B=e(1),F=e(0),D=e([]);function I(a){const e=(a.session_name||"").trim(),t=(a.session_time_text||"").trim(),l=(a.activity_date||"").trim();return e&&t?`${e} · ${t}`:t||(e&&l?`${e} · ${l}`:e||(l||"场次信息"))}function M(a){if(!a)return"—";const e=new Date(a);return Number.isNaN(e.getTime())?"—":`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`}const P=t(()=>N.value<B.value),z=t(()=>!P.value&&D.value.length>0&&!j.value&&!x.value);async function A(a,e){if($.value){if(e){if(x.value||!P.value)return;x.value=!0}else j.value=!0;try{const t=await k($.value,{page:a,page_size:20});F.value=t.total,B.value=t.last_page||1,t.activity_title&&(b.value=t.activity_title),D.value=e?[...D.value,...t.data||[]]:t.data||[],N.value=a}catch{e||(D.value=[])}finally{j.value=!1,x.value=!1}}}function C(){!P.value||j.value||x.value||A(N.value+1,!0)}return l(a=>{$.value=Number((null==a?void 0:a.id)||0);const e=null==a?void 0:a.title;if(e&&"string"==typeof e)try{b.value=decodeURIComponent(e)}catch{b.value=e}A(1,!1)}),(a,e)=>{const t=r("SubPageBackBtn"),l=o,$=n,k=h,x=_;return i(),s($,{class:"page"},{default:u(()=>[c(t),c($,{class:"body"},{default:u(()=>[b.value?(i(),s($,{key:0,class:"act-hd"},{default:u(()=>[c(l,{class:"act-hd-t"},{default:u(()=>[v(d(b.value),1)]),_:1})]),_:1})):f("",!0),c(x,{"scroll-y":"",class:"scroll","lower-threshold":100,onScrolltolower:C},{default:u(()=>[j.value&&!D.value.length?(i(),s($,{key:0,class:"state-tip"},{default:u(()=>[v("加载中…")]),_:1})):(i(),s($,{key:1,class:"list-outer"},{default:u(()=>[D.value.length?(i(),s($,{key:0,class:"list-wrap"},{default:u(()=>[(i(!0),m(g,null,p(D.value,(a,e)=>(i(),s($,{key:"enr-"+a.id,class:y(["enr-row",{"is-last":e===D.value.length-1}])},{default:u(()=>[c(k,{class:"enr-avatar",src:a.avatar_url||S(w),mode:"aspectFill"},null,8,["src"]),c($,{class:"enr-mid"},{default:u(()=>[c($,{class:"enr-name-row"},{default:u(()=>[c(l,{class:"enr-name"},{default:u(()=>[v(d(a.visitor_name||"—"),1)]),_:2},1024),c(l,{class:"enr-time"},{default:u(()=>[v(d(M(a.created_at)),1)]),_:2},1024)]),_:2},1024),c(l,{class:"enr-session"},{default:u(()=>[v(d(I(a)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["class"]))),128))]),_:1})):f("",!0),j.value||D.value.length?f("",!0):(i(),s($,{key:1,class:"state-tip"},{default:u(()=>[v("暂无报名")]),_:1})),z.value?(i(),s($,{key:2,class:"enr-end"},{default:u(()=>[v("这回真没了~")]),_:1})):f("",!0)]),_:1}))]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-fcaf9d69"]]);export{b as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{d as a,r as s,a as e,G as l,H as t,e as u,f as r,i as o,j as c,k as n,I as i,p as d,q as f,y as m,F as _,z as v,l as p,m as h,v as y,B as g,C as k,J as b,K as x,D as w,_ as j}from"./index-CC6J0dtG.js";import{c as C}from"./content.BfcEEng6.js";import{P as F}from"./poster.C6TYC1FC.js";import{s as V}from"./search.BJnl3YRK.js";const I=j(a({__name:"index",setup(a){const j=s([]),I=s(!1),q=s("");async function z(){I.value=!0;try{j.value=await C({keyword:q.value.trim()||void 0})||[]}catch{j.value=[]}finally{I.value=!1}}function B(){z()}function D(){b().length>1?x({fail:()=>{w({url:"/pages/index/index"})}}):w({url:"/pages/index/index"})}return e(()=>{z()}),l(async()=>{try{await z()}finally{t()}}),(a,s)=>{const e=o,l=i,t=d,b=p;return c(),u(e,{class:"page"},{default:r(()=>[n(e,{class:"filter-section"},{default:r(()=>[n(e,{class:"toolbar"},{default:r(()=>[n(e,{class:"back-btn","hover-class":"back-btn--hover","hover-stay-time":"80",onClick:D},{default:r(()=>[n(e,{class:"back-btn__icon","aria-hidden":"true"})]),_:1}),n(e,{class:"search-wrap"},{default:r(()=>[n(l,{modelValue:q.value,"onUpdate:modelValue":s[0]||(s[0]=a=>q.value=a),class:"search-input",placeholder:"请输入您要搜索的内容","placeholder-class":"ph","confirm-type":"search",onConfirm:B},null,8,["modelValue"]),n(t,{class:"search-icon-img",src:f(V),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1})]),_:1}),n(e,{class:"section"},{default:r(()=>[(c(!0),m(_,null,v(j.value,a=>(c(),u(e,{key:a.id,class:"tour-card",onClick:s=>{return e=a.id,void k({url:`/pages/study-tour/detail?id=${e}`});var e}},{default:r(()=>[n(e,{class:"tour-img-wrap"},{default:r(()=>[n(t,{class:"tour-img",src:a.cover_image||f(F),mode:"aspectFill"},null,8,["src"])]),_:2},1024),n(e,{class:"tour-body"},{default:r(()=>{var s;return[n(b,{class:"tour-title"},{default:r(()=>[h(y(a.name),1)]),_:2},1024),n(e,{class:"tour-stops-timeline"},{default:r(()=>[(c(!0),m(_,null,v(a.venue_names||[],(s,l)=>(c(),u(e,{key:"v-"+a.id+"-"+l,class:"tour-stop-row"},{default:r(()=>[n(e,{class:"tour-timeline-axis"},{default:r(()=>{var s;return[n(e,{class:"tour-dot-cell"},{default:r(()=>[n(e,{class:"tour-tl-dot"})]),_:1}),Number(l)<((null==(s=a.venue_names)?void 0:s.length)||0)-1?(c(),u(e,{key:0,class:"tour-tl-line"})):g("",!0)]}),_:2},1024),n(b,{class:"tour-stop-name"},{default:r(()=>[h(y(s),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(s=a.tags)?void 0:s.length)?(c(),u(e,{key:0,class:"tour-tags-row"},{default:r(()=>[(c(!0),m(_,null,v(a.tags,(s,e)=>(c(),u(b,{key:"t-"+a.id+"-"+e,class:"tour-tag"},{default:r(()=>[h(y(s),1)]),_:2},1024))),128))]),_:2},1024)):g("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),I.value&&!j.value.length?(c(),u(e,{key:0,class:"hint"},{default:r(()=>[h("加载中…")]),_:1})):g("",!0),I.value||j.value.length?g("",!0):(c(),u(e,{key:1,class:"hint muted"},{default:r(()=>[h("暂无科普四季研学线路推荐")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-e6cee6f0"]]);export{I as default};
import{d as a,r as s,o as e,H as l,J as t,c as u,f as r,i as o,b as c,l as n,I as i,x as d,y as f,A as m,F as _,B as v,m as p,j as h,t as y,k as g,D as k,K as b,L as x,E as w,_ as j}from"./index-D9YO76Ut.js";import{c as C}from"./content.CWxBtEbN.js";import{P as F}from"./poster.C6TYC1FC.js";import{s as V}from"./search.BJnl3YRK.js";const I=j(a({__name:"index",setup(a){const j=s([]),I=s(!1),A=s("");async function B(){I.value=!0;try{j.value=await C({keyword:A.value.trim()||void 0})||[]}catch{j.value=[]}finally{I.value=!1}}function D(){B()}function E(){b().length>1?x({fail:()=>{w({url:"/pages/index/index"})}}):w({url:"/pages/index/index"})}return e(()=>{B()}),l(async()=>{try{await B()}finally{t()}}),(a,s)=>{const e=o,l=i,t=d,b=p;return c(),u(e,{class:"page"},{default:r(()=>[n(e,{class:"filter-section"},{default:r(()=>[n(e,{class:"toolbar"},{default:r(()=>[n(e,{class:"back-btn","hover-class":"back-btn--hover","hover-stay-time":"80",onClick:E},{default:r(()=>[n(e,{class:"back-btn__icon","aria-hidden":"true"})]),_:1}),n(e,{class:"search-wrap"},{default:r(()=>[n(l,{modelValue:A.value,"onUpdate:modelValue":s[0]||(s[0]=a=>A.value=a),class:"search-input",placeholder:"请输入您要搜索的内容","placeholder-class":"ph","confirm-type":"search",onConfirm:D},null,8,["modelValue"]),n(t,{class:"search-icon-img",src:f(V),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1})]),_:1}),n(e,{class:"section"},{default:r(()=>[(c(!0),m(_,null,v(j.value,a=>(c(),u(e,{key:a.id,class:"tour-card",onClick:s=>{return e=a.id,void k({url:`/pages/study-tour/detail?id=${e}`});var e}},{default:r(()=>[n(e,{class:"tour-img-wrap"},{default:r(()=>[n(t,{class:"tour-img",src:a.cover_image||f(F),mode:"aspectFill"},null,8,["src"])]),_:2},1024),n(e,{class:"tour-body"},{default:r(()=>{var s;return[n(b,{class:"tour-title"},{default:r(()=>[h(y(a.name),1)]),_:2},1024),n(e,{class:"tour-stops-timeline"},{default:r(()=>[(c(!0),m(_,null,v(a.venue_names||[],(s,l)=>(c(),u(e,{key:"v-"+a.id+"-"+l,class:"tour-stop-row"},{default:r(()=>[n(e,{class:"tour-timeline-axis"},{default:r(()=>{var s;return[n(e,{class:"tour-dot-cell"},{default:r(()=>[n(e,{class:"tour-tl-dot"})]),_:1}),Number(l)<((null==(s=a.venue_names)?void 0:s.length)||0)-1?(c(),u(e,{key:0,class:"tour-tl-line"})):g("",!0)]}),_:2},1024),n(b,{class:"tour-stop-name"},{default:r(()=>[h(y(s),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(s=a.tags)?void 0:s.length)?(c(),u(e,{key:0,class:"tour-tags-row"},{default:r(()=>[(c(!0),m(_,null,v(a.tags,(s,e)=>(c(),u(b,{key:"t-"+a.id+"-"+e,class:"tour-tag"},{default:r(()=>[h(y(s),1)]),_:2},1024))),128))]),_:2},1024)):g("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),I.value&&!j.value.length?(c(),u(e,{key:0,class:"hint"},{default:r(()=>[h("加载中…")]),_:1})):g("",!0),I.value||j.value.length?g("",!0):(c(),u(e,{key:1,class:"hint muted"},{default:r(()=>[h("暂无科普四季研学线路推荐")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-e6cee6f0"]]);export{I as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
import{d as a,r as l,o as e,e as s,f as n,L as u,M as t,i as o,j as r,k as c,p as i,m as d,v as f,l as v,C as p,_}from"./index-CC6J0dtG.js";import{g as m}from"./profile.CBiER3ty.js";import{l as h}from"./localProfile.w3dNAYL8.js";const k=_(a({__name:"index",setup(a){const _=l("游客"),k=l(""),g=l("");function j(a){return a&&11===a.length?`${a.slice(0,3)}****${a.slice(7)}`:a||""}function y(){p({url:"/pages/mine/profile"})}function C(){p({url:"/pages/mine/orders"})}return e(()=>{!async function(){var a;if(u(t.accessToken))try{const a=await m();return _.value=(a.real_name||a.nickname||"用户").trim()||"用户",k.value=a.phone?j(a.phone):"",void(g.value=a.avatar_url||"")}catch{}const l=h();_.value=(null==(a=null==l?void 0:l.real_name)?void 0:a.trim())||"游客",k.value=(null==l?void 0:l.phone)?j(l.phone):"",g.value=(null==l?void 0:l.avatar_url)||""}()}),(a,l)=>{const e=i,u=o,t=v;return r(),s(u,{class:"page"},{default:n(()=>[c(u,{class:"header"},{default:n(()=>[c(u,{class:"profile",onClick:y},{default:n(()=>[g.value?(r(),s(e,{key:0,class:"avatar",src:g.value,mode:"aspectFill"},null,8,["src"])):(r(),s(u,{key:1,class:"avatar placeholder"})),c(u,{class:"profile-info"},{default:n(()=>[c(u,{class:"name"},{default:n(()=>[d(f(_.value),1)]),_:1}),c(u,{class:"phone"},{default:n(()=>[d(f(k.value||"完善信息方便预约"),1)]),_:1})]),_:1})]),_:1})]),_:1}),c(u,{class:"panel"},{default:n(()=>[c(u,{class:"menu-item",onClick:y},{default:n(()=>[c(t,null,{default:n(()=>[d("我的信息")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1}),c(u,{class:"menu-item",onClick:C},{default:n(()=>[c(t,null,{default:n(()=>[d("预约记录")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0d216b84"]]);export{k as default};

@ -0,0 +1 @@
import{d as a,r as l,p as e,c as s,f as n,M as u,N as t,i as o,b as r,l as c,x as i,j as d,t as f,m as p,D as _,_ as m}from"./index-D9YO76Ut.js";import{g as v}from"./profile.DNiRgAnN.js";import{l as h}from"./localProfile.DAR2ddcd.js";const k=m(a({__name:"index",setup(a){const m=l("游客"),k=l(""),g=l("");function j(a){return a&&11===a.length?`${a.slice(0,3)}****${a.slice(7)}`:a||""}function x(){_({url:"/pages/mine/profile"})}function y(){_({url:"/pages/mine/orders"})}return e(()=>{!async function(){var a;if(u(t.accessToken))try{const a=await v();return m.value=(a.real_name||a.nickname||"用户").trim()||"用户",k.value=a.phone?j(a.phone):"",void(g.value=a.avatar_url||"")}catch{}const l=h();m.value=(null==(a=null==l?void 0:l.real_name)?void 0:a.trim())||"游客",k.value=(null==l?void 0:l.phone)?j(l.phone):"",g.value=(null==l?void 0:l.avatar_url)||""}()}),(a,l)=>{const e=i,u=o,t=p;return r(),s(u,{class:"page"},{default:n(()=>[c(u,{class:"header"},{default:n(()=>[c(u,{class:"profile",onClick:x},{default:n(()=>[g.value?(r(),s(e,{key:0,class:"avatar",src:g.value,mode:"aspectFill"},null,8,["src"])):(r(),s(u,{key:1,class:"avatar placeholder"})),c(u,{class:"profile-info"},{default:n(()=>[c(u,{class:"name"},{default:n(()=>[d(f(m.value),1)]),_:1}),c(u,{class:"phone"},{default:n(()=>[d(f(k.value||"完善信息方便预约"),1)]),_:1})]),_:1})]),_:1})]),_:1}),c(u,{class:"panel"},{default:n(()=>[c(u,{class:"menu-item",onClick:x},{default:n(()=>[c(t,null,{default:n(()=>[d("我的信息")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1}),c(u,{class:"menu-item",onClick:y},{default:n(()=>[c(t,null,{default:n(()=>[d("预约记录")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-0d216b84"]]);export{k as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import{d as a,r as e,o as l,c as s,f as t,M as n,N as u,i as r,O as o,b as c,l as i,j as v,x as d,t as _,m as p,I as m,P as f,q as h,Q as y,R as b,T as k,U as g,_ as w}from"./index-D9YO76Ut.js";import{g as V,u as j}from"./profile.DNiRgAnN.js";import{l as x,s as P}from"./localProfile.DAR2ddcd.js";const T=w(a({__name:"profile",setup(a){const w=e(!0),T=e(!1),U=e(!1),B=e({real_name:"",phone:"",avatar_url:""});function C(a){B.value.real_name=a.real_name||"",B.value.phone=a.phone||"",B.value.avatar_url=a.avatar_url||""}function F(){U.value?y({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:async a=>{const e=a.tempFilePaths[0];if(e)try{b({title:"上传中"});const{url:a}=await k(e);B.value.avatar_url=a}catch(l){h({title:(null==l?void 0:l.message)||"上传失败",icon:"none"})}finally{g()}}}):h({title:"请先通过微信登录后再上传头像",icon:"none"})}async function I(){if(B.value.real_name.trim())if(/^1\d{10}$/.test(B.value.phone.trim())){T.value=!0;try{const a={real_name:B.value.real_name.trim(),phone:B.value.phone.trim(),avatar_url:B.value.avatar_url||void 0};U.value&&await j(a),P({real_name:a.real_name,phone:a.phone,avatar_url:a.avatar_url}),h({title:"保存成功",icon:"success"})}catch(a){h({title:(null==a?void 0:a.message)||"保存失败",icon:"none"})}finally{T.value=!1}}else h({title:"请填写11位手机号",icon:"none"});else h({title:"请填写姓名",icon:"none"})}return l(()=>{!async function(){w.value=!0,U.value=!!n(u.accessToken);try{if(U.value)try{const a=await V();B.value.real_name=a.real_name||"",B.value.phone=a.phone||"",B.value.avatar_url=a.avatar_url||""}catch{const a=x();a&&C(a)}else{const a=x();a&&C(a)}}finally{w.value=!1}}()}),(a,e)=>{const l=o("SubPageBackBtn"),n=r,u=d,h=p,y=m,b=f;return c(),s(n,{class:"page"},{default:t(()=>[i(l),w.value?(c(),s(n,{key:0,class:"loading"},{default:t(()=>[v("加载中…")]),_:1})):(c(),s(n,{key:1,class:"content"},{default:t(()=>[i(n,{class:"avatar-block"},{default:t(()=>[i(n,{class:"avatar-wrap",onClick:F},{default:t(()=>[B.value.avatar_url?(c(),s(u,{key:0,class:"avatar",src:B.value.avatar_url,mode:"aspectFill"},null,8,["src"])):(c(),s(n,{key:1,class:"avatar placeholder"})),i(n,{class:"avatar-tip"},{default:t(()=>[v(_(U.value?"点击更换头像":"登录后可上传头像"),1)]),_:1})]),_:1})]),_:1}),i(n,{class:"card"},{default:t(()=>[i(n,{class:"row"},{default:t(()=>[i(h,{class:"label"},{default:t(()=>[v("姓名")]),_:1}),i(y,{modelValue:B.value.real_name,"onUpdate:modelValue":e[0]||(e[0]=a=>B.value.real_name=a),class:"input",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),i(n,{class:"row last"},{default:t(()=>[i(h,{class:"label"},{default:t(()=>[v("手机号")]),_:1}),i(y,{modelValue:B.value.phone,"onUpdate:modelValue":e[1]||(e[1]=a=>B.value.phone=a),class:"input",type:"number",maxlength:"11",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1})]),_:1}),i(b,{class:"btn",disabled:T.value,onClick:I},{default:t(()=>[v(_(T.value?"保存中…":"保存"),1)]),_:1},8,["disabled"])]),_:1}))]),_:1})}}}),[["__scopeId","data-v-f84b8690"]]);export{T as default};

@ -1 +0,0 @@
import{d as a,r as e,a as l,e as s,f as t,L as n,M as u,i as r,N as o,j as c,k as i,m as v,p as d,v as p,l as _,I as m,O as f,g as h,P as y,Q as b,R as k,T as g,_ as w}from"./index-CC6J0dtG.js";import{g as V,u as j}from"./profile.CBiER3ty.js";import{l as P,s as T}from"./localProfile.w3dNAYL8.js";const x=w(a({__name:"profile",setup(a){const w=e(!0),x=e(!1),B=e(!1),C=e({real_name:"",phone:"",avatar_url:""});function F(a){C.value.real_name=a.real_name||"",C.value.phone=a.phone||"",C.value.avatar_url=a.avatar_url||""}function I(){B.value?y({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:async a=>{const e=a.tempFilePaths[0];if(e)try{b({title:"上传中"});const{url:a}=await k(e);C.value.avatar_url=a}catch(l){h({title:(null==l?void 0:l.message)||"上传失败",icon:"none"})}finally{g()}}}):h({title:"请先通过微信登录后再上传头像",icon:"none"})}async function U(){if(C.value.real_name.trim())if(/^1\d{10}$/.test(C.value.phone.trim())){x.value=!0;try{const a={real_name:C.value.real_name.trim(),phone:C.value.phone.trim(),avatar_url:C.value.avatar_url||void 0};B.value&&await j(a),T({real_name:a.real_name,phone:a.phone,avatar_url:a.avatar_url}),h({title:"保存成功",icon:"success"})}catch(a){h({title:(null==a?void 0:a.message)||"保存失败",icon:"none"})}finally{x.value=!1}}else h({title:"请填写11位手机号",icon:"none"});else h({title:"请填写姓名",icon:"none"})}return l(()=>{!async function(){w.value=!0,B.value=!!n(u.accessToken);try{if(B.value)try{const a=await V();C.value.real_name=a.real_name||"",C.value.phone=a.phone||"",C.value.avatar_url=a.avatar_url||""}catch{const a=P();a&&F(a)}else{const a=P();a&&F(a)}}finally{w.value=!1}}()}),(a,e)=>{const l=o("SubPageBackBtn"),n=r,u=d,h=_,y=m,b=f;return c(),s(n,{class:"page"},{default:t(()=>[i(l),w.value?(c(),s(n,{key:0,class:"loading"},{default:t(()=>[v("加载中…")]),_:1})):(c(),s(n,{key:1,class:"content"},{default:t(()=>[i(n,{class:"avatar-block"},{default:t(()=>[i(n,{class:"avatar-wrap",onClick:I},{default:t(()=>[C.value.avatar_url?(c(),s(u,{key:0,class:"avatar",src:C.value.avatar_url,mode:"aspectFill"},null,8,["src"])):(c(),s(n,{key:1,class:"avatar placeholder"})),i(n,{class:"avatar-tip"},{default:t(()=>[v(p(B.value?"点击更换头像":"登录后可上传头像"),1)]),_:1})]),_:1})]),_:1}),i(n,{class:"card"},{default:t(()=>[i(n,{class:"row"},{default:t(()=>[i(h,{class:"label"},{default:t(()=>[v("姓名")]),_:1}),i(y,{modelValue:C.value.real_name,"onUpdate:modelValue":e[0]||(e[0]=a=>C.value.real_name=a),class:"input",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),i(n,{class:"row last"},{default:t(()=>[i(h,{class:"label"},{default:t(()=>[v("手机号")]),_:1}),i(y,{modelValue:C.value.phone,"onUpdate:modelValue":e[1]||(e[1]=a=>C.value.phone=a),class:"input",type:"number",maxlength:"11",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1})]),_:1}),i(b,{class:"btn",disabled:x.value,onClick:U},{default:t(()=>[v(p(x.value?"保存中…":"保存"),1)]),_:1},8,["disabled"])]),_:1}))]),_:1})}}}),[["__scopeId","data-v-f84b8690"]]);export{x as default};

@ -0,0 +1 @@
import{d as a,r as s,o as t,ae as l,p as e,H as c,J as i,c as n,f as u,q as o,i as r,O as d,b as f,l as m,C as _,m as v,j as p,A as y,F as g,B as k,v as h,t as b,x as C,y as w,k as j,D as x,_ as B}from"./index-D9YO76Ut.js";import{a as A,g as P}from"./content.CWxBtEbN.js";import{g as F,l as H}from"./peopleCounting.BfwgNXhn.js";import{P as S}from"./poster.C6TYC1FC.js";const q=B(a({__name:"index",setup(a){const B=s(!0),q=s([]),D=s(6);async function I(){B.value=!0;try{const[a,s,t]=await Promise.all([A({only_included_in_stats:!0}),P().catch(()=>null),F().catch(()=>null)]),l=Array.isArray(a)?a:[],e=function(a){const s={};for(const t of(null==a?void 0:a.district)??[]){const a=(t.value||"").trim();a&&(s[a]=(t.label||"").trim()||a)}return s}(s),c=H(t);q.value=function(a,s,t){const l=a.map(a=>{const l=(a.district||"").trim(),e=l?s[l]??l:"",c=t.has(a.id)?t.get(a.id):null;return{id:a.id,name:a.name||"未命名场馆",district:e,cover_image:a.cover_image||null,liveCount:c}}).filter(a=>null!=a.liveCount&&a.liveCount>0);return l.sort((a,s)=>s.liveCount-a.liveCount),l}(l,e,c)}catch(a){o({title:(null==a?void 0:a.message)||"加载失败",icon:"none"}),q.value=[]}finally{B.value=!1}}return t(()=>{try{const a=l();D.value=Number(a.statusBarHeight||0)+6}catch{D.value=6}}),e(()=>{I()}),c(async()=>{try{await I()}finally{i()}}),(a,s)=>{const t=d("SubPageBackBtn"),l=r,e=v,c=C;return f(),n(l,{class:"page"},{default:u(()=>[m(l,{class:"stats-header",style:_({paddingTop:D.value+"px"})},{default:u(()=>[m(l,{class:"stats-header-row"},{default:u(()=>[m(t,{embedded:""}),m(l,{class:"stats-title-line"},{default:u(()=>[m(l,{class:"title-left"},{default:u(()=>[m(l,{class:"bar","aria-hidden":"true"}),m(e,{class:"title"},{default:u(()=>[p("实时人数排行")]),_:1})]),_:1}),m(e,{class:"title-hint"},{default:u(()=>[p("纳入市科协人数统计系统场馆")]),_:1})]),_:1})]),_:1})]),_:1},8,["style"]),B.value&&!q.value.length?(f(),n(l,{key:0,class:"state"},{default:u(()=>[p("加载中…")]),_:1})):q.value.length?(f(),n(l,{key:2,class:"list"},{default:u(()=>[(f(!0),y(g,null,k(q.value,(a,s)=>(f(),n(l,{key:a.id,class:h(["row",{"is-top1":0===s,"is-top2":1===s,"is-top3":2===s}]),onClick:s=>{var t;(t=a.id)&&x({url:`/pages/venue/detail?id=${t}`})}},{default:u(()=>[m(l,{class:"rank-wrap"},{default:u(()=>[s<3?(f(),n(l,{key:0,class:h(["medal","m"+(s+1)])},{default:u(()=>[p(b(s+1),1)]),_:2},1032,["class"])):(f(),n(e,{key:1,class:"rank-num"},{default:u(()=>[p(b(s+1),1)]),_:2},1024))]),_:2},1024),m(c,{class:"thumb",src:a.cover_image||w(S),mode:"aspectFill"},null,8,["src"]),m(l,{class:"mid"},{default:u(()=>[m(e,{class:"name"},{default:u(()=>[p(b(a.name),1)]),_:2},1024),a.district?(f(),n(e,{key:0,class:"district"},{default:u(()=>[p(b(a.district),1)]),_:2},1024)):j("",!0)]),_:2},1024),m(l,{class:"count-block"},{default:u(()=>[m(e,{class:"count-label"},{default:u(()=>[p("实时人数")]),_:1}),m(l,{class:"count-row"},{default:u(()=>[m(e,{class:"count"},{default:u(()=>[p(b(a.liveCount.toLocaleString()),1)]),_:2},1024),m(e,{class:"unit"},{default:u(()=>[p("人")]),_:1})]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})):(f(),n(l,{key:1,class:"state muted"},{default:u(()=>[p("暂无实时人数数据")]),_:1})),m(l,{class:"bottom-safe"})]),_:1})}}}),[["__scopeId","data-v-d4b050ee"]]);export{q as default};

@ -1 +0,0 @@
import{d as a,r as s,a as t,ae as l,o as e,G as n,H as i,e as u,f as c,g as o,i as r,N as d,j as f,k as m,A as _,l as v,m as p,y,F as g,z as k,n as h,v as b,p as C,q as w,B as j,C as x,_ as B}from"./index-CC6J0dtG.js";import{a as A,g as P}from"./content.BfcEEng6.js";import{g as F,l as H}from"./peopleCounting.CH-rEjWp.js";import{P as N}from"./poster.C6TYC1FC.js";const S=B(a({__name:"index",setup(a){const B=s(!0),S=s([]),q=s(6);async function z(){B.value=!0;try{const[a,s,t]=await Promise.all([A({only_included_in_stats:!0}),P().catch(()=>null),F().catch(()=>null)]),l=Array.isArray(a)?a:[],e=function(a){const s={};for(const t of(null==a?void 0:a.district)??[]){const a=(t.value||"").trim();a&&(s[a]=(t.label||"").trim()||a)}return s}(s),n=H(t);S.value=function(a,s,t){const l=a.map(a=>{const l=(a.district||"").trim(),e=l?s[l]??l:"",n=t.has(a.id)?t.get(a.id):null;return{id:a.id,name:a.name||"未命名场馆",district:e,cover_image:a.cover_image||null,liveCount:n}}).filter(a=>null!=a.liveCount&&a.liveCount>0);return l.sort((a,s)=>s.liveCount-a.liveCount),l}(l,e,n)}catch(a){o({title:(null==a?void 0:a.message)||"加载失败",icon:"none"}),S.value=[]}finally{B.value=!1}}return t(()=>{try{const a=l();q.value=Number(a.statusBarHeight||0)+6}catch{q.value=6}}),e(()=>{z()}),n(async()=>{try{await z()}finally{i()}}),(a,s)=>{const t=d("SubPageBackBtn"),l=r,e=v,n=C;return f(),u(l,{class:"page"},{default:c(()=>[m(l,{class:"stats-header",style:_({paddingTop:q.value+"px"})},{default:c(()=>[m(l,{class:"stats-header-row"},{default:c(()=>[m(t,{embedded:""}),m(l,{class:"stats-title-line"},{default:c(()=>[m(l,{class:"title-left"},{default:c(()=>[m(l,{class:"bar","aria-hidden":"true"}),m(e,{class:"title"},{default:c(()=>[p("实时人数排行")]),_:1})]),_:1}),m(e,{class:"title-hint"},{default:c(()=>[p("纳入市科协人数统计系统场馆")]),_:1})]),_:1})]),_:1})]),_:1},8,["style"]),B.value&&!S.value.length?(f(),u(l,{key:0,class:"state"},{default:c(()=>[p("加载中…")]),_:1})):S.value.length?(f(),u(l,{key:2,class:"list"},{default:c(()=>[(f(!0),y(g,null,k(S.value,(a,s)=>(f(),u(l,{key:a.id,class:h(["row",{"is-top1":0===s,"is-top2":1===s,"is-top3":2===s}]),onClick:s=>{var t;(t=a.id)&&x({url:`/pages/venue/detail?id=${t}`})}},{default:c(()=>[m(l,{class:"rank-wrap"},{default:c(()=>[s<3?(f(),u(l,{key:0,class:h(["medal","m"+(s+1)])},{default:c(()=>[p(b(s+1),1)]),_:2},1032,["class"])):(f(),u(e,{key:1,class:"rank-num"},{default:c(()=>[p(b(s+1),1)]),_:2},1024))]),_:2},1024),m(n,{class:"thumb",src:a.cover_image||w(N),mode:"aspectFill"},null,8,["src"]),m(l,{class:"mid"},{default:c(()=>[m(e,{class:"name"},{default:c(()=>[p(b(a.name),1)]),_:2},1024),a.district?(f(),u(e,{key:0,class:"district"},{default:c(()=>[p(b(a.district),1)]),_:2},1024)):j("",!0)]),_:2},1024),m(l,{class:"count-block"},{default:c(()=>[m(e,{class:"count-label"},{default:c(()=>[p("实时人数")]),_:1}),m(l,{class:"count-row"},{default:c(()=>[m(e,{class:"count"},{default:c(()=>[p(b(a.liveCount.toLocaleString()),1)]),_:2},1024),m(e,{class:"unit"},{default:c(()=>[p("人")]),_:1})]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})):(f(),u(l,{key:1,class:"state muted"},{default:c(()=>[p("暂无实时人数数据")]),_:1})),m(l,{class:"bottom-safe"})]),_:1})}}}),[["__scopeId","data-v-d4b050ee"]]);export{S as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{d as a,r as e,c as l,a as t,a3 as s,w as u,e as d,f as c,ah as v,i as n,N as i,j as r,k as o,l as f,m as h,n as y,v as _,ai as x,A as m,y as g,F as k,z as p,_ as S}from"./index-CC6J0dtG.js";const w="trafficLineChart",b=S(a({__name:"index",setup(a){const S=e("week"),b={week:[{date:"04-03",value:12358},{date:"04-04",value:15540},{date:"04-05",value:14200},{date:"04-06",value:18680},{date:"04-07",value:14820},{date:"04-08",value:20550},{date:"04-09",value:32100}],month:[{date:"04-01",value:12800},{date:"04-05",value:18800},{date:"04-10",value:17600},{date:"04-15",value:22900},{date:"04-20",value:19600},{date:"04-25",value:26400},{date:"04-30",value:30100}],year:[{date:"01月",value:268e3},{date:"03月",value:292e3},{date:"05月",value:318e3},{date:"07月",value:346e3},{date:"09月",value:332e3},{date:"11月",value:368e3},{date:"12月",value:392e3}]},T=l(()=>b[S.value]),C=l(()=>{var a,e;return`${(null==(a=T.value[0])?void 0:a.date)||"-"} 至 ${(null==(e=T.value[T.value.length-1])?void 0:e.date)||"-"}`}),F=l(()=>T.value.reduce((a,e)=>e.value>a.value?e:a,T.value[0]));function P(){const a=T.value;if(!a.length)return;const e=v(w),l=24,t=18,s=24,u=18,d=260,c=Math.min(...a.map(a=>a.value)),n=Math.max(...a.map(a=>a.value)),i=Math.max(1,n-c),r=680-u-t,o=d-l-s;e.clearRect(0,0,680,d);const f=e.createLinearGradient(0,l,0,d);f.addColorStop(0,"rgba(5,201,172,0.35)"),f.addColorStop(1,"rgba(5,201,172,0.02)");const h=a.map((e,t)=>({x:u+r*t/Math.max(1,a.length-1),y:l+(n-e.value)/i*o,value:e.value,date:e.date}));e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.lineTo(h[h.length-1].x,252),e.lineTo(h[0].x,252),e.closePath(),e.setFillStyle(f),e.fill(),e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.setStrokeStyle("#05c9ac"),e.setLineWidth(5),e.stroke(),e.setFillStyle("#ff7d00"),h.forEach(a=>{e.beginPath(),e.arc(a.x,a.y,6,0,2*Math.PI),e.fill(),e.setFillStyle("#4e5969"),e.setFontSize(20),e.fillText(a.value.toLocaleString(),a.x-34,a.y-12),e.setFillStyle("#ff7d00")}),e.draw()}return t(async()=>{await s(),P()}),u(S,async()=>{await s(),P()}),(a,e)=>{const l=i("SubPageBackBtn"),t=n,s=f,u=x;return r(),d(t,{class:"page"},{default:c(()=>[o(l),o(t,{class:"section-title"},{default:c(()=>[o(t,{class:"bar"}),o(s,{class:"title"},{default:c(()=>[h("全市参观人数")]),_:1}),o(t,{class:"period"},{default:c(()=>[o(s,{class:y({active:"week"===S.value}),onClick:e[0]||(e[0]=a=>S.value="week")},{default:c(()=>[h("周")]),_:1},8,["class"]),o(s,{class:y({active:"month"===S.value}),onClick:e[1]||(e[1]=a=>S.value="month")},{default:c(()=>[h("月")]),_:1},8,["class"]),o(s,{class:y({active:"year"===S.value}),onClick:e[2]||(e[2]=a=>S.value="year")},{default:c(()=>[h("年")]),_:1},8,["class"])]),_:1})]),_:1}),o(t,{class:"date-range"},{default:c(()=>[h(_(C.value),1)]),_:1}),o(t,{class:"chart-card"},{default:c(()=>[o(u,{"canvas-id":w,id:w,class:"chart-canvas",style:m("width:680rpx;height:260rpx;")},null,8,["style"]),o(t,{class:"x-axis"},{default:c(()=>[(r(!0),g(k,null,p(T.value,a=>(r(),d(s,{key:a.date},{default:c(()=>[h(_(a.date),1)]),_:2},1024))),128))]),_:1})]),_:1}),o(t,{class:"list-card"},{default:c(()=>[o(t,{class:"list-title"},{default:c(()=>[h("参观人数列表")]),_:1}),(r(!0),g(k,null,p(T.value,a=>(r(),d(t,{key:a.date,class:"row"},{default:c(()=>{var e;return[o(s,{class:"d"},{default:c(()=>[h(_(a.date),1)]),_:2},1024),o(s,{class:y(["c",{hot:a.date===(null==(e=F.value)?void 0:e.date)}])},{default:c(()=>{return[h(_((e=a.value,`${e.toLocaleString()}`)),1)];var e}),_:2},1032,["class"])]}),_:2},1024))),128))]),_:1})]),_:1})}}}),[["__scopeId","data-v-90b339fd"]]);export{b as default};
import{d as a,r as e,n as l,o as t,a4 as s,w as u,c as d,f as c,ah as v,i as n,O as i,b as r,l as o,m as f,j as h,v as y,t as _,ai as x,C as m,A as g,F as p,B as k,_ as S}from"./index-D9YO76Ut.js";const w="trafficLineChart",b=S(a({__name:"index",setup(a){const S=e("week"),b={week:[{date:"04-03",value:12358},{date:"04-04",value:15540},{date:"04-05",value:14200},{date:"04-06",value:18680},{date:"04-07",value:14820},{date:"04-08",value:20550},{date:"04-09",value:32100}],month:[{date:"04-01",value:12800},{date:"04-05",value:18800},{date:"04-10",value:17600},{date:"04-15",value:22900},{date:"04-20",value:19600},{date:"04-25",value:26400},{date:"04-30",value:30100}],year:[{date:"01月",value:268e3},{date:"03月",value:292e3},{date:"05月",value:318e3},{date:"07月",value:346e3},{date:"09月",value:332e3},{date:"11月",value:368e3},{date:"12月",value:392e3}]},C=l(()=>b[S.value]),T=l(()=>{var a,e;return`${(null==(a=C.value[0])?void 0:a.date)||"-"} 至 ${(null==(e=C.value[C.value.length-1])?void 0:e.date)||"-"}`}),F=l(()=>C.value.reduce((a,e)=>e.value>a.value?e:a,C.value[0]));function P(){const a=C.value;if(!a.length)return;const e=v(w),l=24,t=18,s=24,u=18,d=260,c=Math.min(...a.map(a=>a.value)),n=Math.max(...a.map(a=>a.value)),i=Math.max(1,n-c),r=680-u-t,o=d-l-s;e.clearRect(0,0,680,d);const f=e.createLinearGradient(0,l,0,d);f.addColorStop(0,"rgba(5,201,172,0.35)"),f.addColorStop(1,"rgba(5,201,172,0.02)");const h=a.map((e,t)=>({x:u+r*t/Math.max(1,a.length-1),y:l+(n-e.value)/i*o,value:e.value,date:e.date}));e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.lineTo(h[h.length-1].x,252),e.lineTo(h[0].x,252),e.closePath(),e.setFillStyle(f),e.fill(),e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.setStrokeStyle("#05c9ac"),e.setLineWidth(5),e.stroke(),e.setFillStyle("#ff7d00"),h.forEach(a=>{e.beginPath(),e.arc(a.x,a.y,6,0,2*Math.PI),e.fill(),e.setFillStyle("#4e5969"),e.setFontSize(20),e.fillText(a.value.toLocaleString(),a.x-34,a.y-12),e.setFillStyle("#ff7d00")}),e.draw()}return t(async()=>{await s(),P()}),u(S,async()=>{await s(),P()}),(a,e)=>{const l=i("SubPageBackBtn"),t=n,s=f,u=x;return r(),d(t,{class:"page"},{default:c(()=>[o(l),o(t,{class:"section-title"},{default:c(()=>[o(t,{class:"bar"}),o(s,{class:"title"},{default:c(()=>[h("全市参观人数")]),_:1}),o(t,{class:"period"},{default:c(()=>[o(s,{class:y({active:"week"===S.value}),onClick:e[0]||(e[0]=a=>S.value="week")},{default:c(()=>[h("周")]),_:1},8,["class"]),o(s,{class:y({active:"month"===S.value}),onClick:e[1]||(e[1]=a=>S.value="month")},{default:c(()=>[h("月")]),_:1},8,["class"]),o(s,{class:y({active:"year"===S.value}),onClick:e[2]||(e[2]=a=>S.value="year")},{default:c(()=>[h("年")]),_:1},8,["class"])]),_:1})]),_:1}),o(t,{class:"date-range"},{default:c(()=>[h(_(T.value),1)]),_:1}),o(t,{class:"chart-card"},{default:c(()=>[o(u,{"canvas-id":w,id:w,class:"chart-canvas",style:m("width:680rpx;height:260rpx;")},null,8,["style"]),o(t,{class:"x-axis"},{default:c(()=>[(r(!0),g(p,null,k(C.value,a=>(r(),d(s,{key:a.date},{default:c(()=>[h(_(a.date),1)]),_:2},1024))),128))]),_:1})]),_:1}),o(t,{class:"list-card"},{default:c(()=>[o(t,{class:"list-title"},{default:c(()=>[h("参观人数列表")]),_:1}),(r(!0),g(p,null,k(C.value,a=>(r(),d(t,{key:a.date,class:"row"},{default:c(()=>{var e;return[o(s,{class:"d"},{default:c(()=>[h(_(a.date),1)]),_:2},1024),o(s,{class:y(["c",{hot:a.date===(null==(e=F.value)?void 0:e.date)}])},{default:c(()=>{return[h(_((e=a.value,`${e.toLocaleString()}`)),1)];var e}),_:2},1032,["class"])]}),_:2},1024))),128))]),_:1})]),_:1})}}}),[["__scopeId","data-v-90b339fd"]]);export{b as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{af as r,ag as n}from"./index-CC6J0dtG.js";function t(){const t=n.peopleCountingUrl;return new Promise((n,e)=>{r({url:t,method:"GET",success:r=>{const t=r.statusCode||0;t>=200&&t<300?n(r.data):e(new Error(`客流接口 HTTP ${t}`))},fail:r=>e(r)})})}function e(r,n){return Math.max(0,Number(r??0)-Number(n??0))}function o(r){const n=Number(String(r).trim());return Number.isFinite(n)&&n>0?n:null}function s(r){const n=new Map;if(!Array.isArray(r))return n;for(const t of r){const r=String(t.groupId||"").trim().toUpperCase();if(!r)continue;const e=(t.groupName||"").trim();n.set(r,e||r)}return n}function u(r,n,t){const e=(t||"").trim();if(e)return e;for(const o of function(r){if(!r)return[];if(Array.isArray(r))return r.map(r=>String(r).trim().toUpperCase()).filter(Boolean);if("string"!=typeof r)return[];const n=[],t=/\[([A-Fa-f0-9]{32})\]/g;let e;for(;null!==(e=t.exec(r));)n.push(e[1].toUpperCase());const o=r.trim().match(/^[A-Fa-f0-9]{32}$/);return o&&0===n.length?[o[0].toUpperCase()]:n}(r.includedGroups)){const r=n.get(o);if(r)return r}return(r.venueName||"").trim()||"—"}function i(r){const n=new Map;if(!r||200!==r.code||!Array.isArray(r.venues))return n;for(const t of r.venues){const r=o(t.venueId);null!=r&&n.set(r,e(t.enter,t.exit))}return n}function a(r){if(!r||200!==r.code||!Array.isArray(r.venues))return null;let n=0;for(const t of r.venues){const r=o(t.venueId);null==r||r<=0||(n+=e(t.enter,t.exit))}return n}export{u as a,s as b,t as g,i as l,e as n,a as t,o as v};
import{af as r,ag as n}from"./index-D9YO76Ut.js";function t(){const t=n.peopleCountingUrl;return new Promise((n,e)=>{r({url:t,method:"GET",success:r=>{const t=r.statusCode||0;t>=200&&t<300?n(r.data):e(new Error(`客流接口 HTTP ${t}`))},fail:r=>e(r)})})}function e(r,n){return Math.max(0,Number(r??0)-Number(n??0))}function o(r){const n=Number(String(r).trim());return Number.isFinite(n)&&n>0?n:null}function s(r){const n=new Map;if(!Array.isArray(r))return n;for(const t of r){const r=String(t.groupId||"").trim().toUpperCase();if(!r)continue;const e=(t.groupName||"").trim();n.set(r,e||r)}return n}function u(r,n,t){const e=(t||"").trim();if(e)return e;for(const o of function(r){if(!r)return[];if(Array.isArray(r))return r.map(r=>String(r).trim().toUpperCase()).filter(Boolean);if("string"!=typeof r)return[];const n=[],t=/\[([A-Fa-f0-9]{32})\]/g;let e;for(;null!==(e=t.exec(r));)n.push(e[1].toUpperCase());const o=r.trim().match(/^[A-Fa-f0-9]{32}$/);return o&&0===n.length?[o[0].toUpperCase()]:n}(r.includedGroups)){const r=n.get(o);if(r)return r}return(r.venueName||"").trim()||"—"}function i(r){const n=new Map;if(!r||200!==r.code||!Array.isArray(r.venues))return n;for(const t of r.venues){const r=o(t.venueId);null!=r&&n.set(r,e(t.enter,t.exit))}return n}function a(r){if(!r||200!==r.code||!Array.isArray(r.venues))return null;let n=0;for(const t of r.venues){const r=o(t.venueId);null==r||r<=0||(n+=e(t.enter,t.exit))}return n}export{u as a,s as b,t as g,i as l,e as n,a as t,o as v};

@ -1 +1 @@
import{g as A,ac as i}from"./index-CC6J0dtG.js";import{s}from"./text.BxMbQPAt.js";const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAbCAYAAABr/T8RAAABxklEQVRIicXXsY+MQRjH8c979rCiQERCriDR0CgkCoJCoTiEHBqV/0M09KIUiURDgoiImkIhl1CdXKIQCRWJyzUczloZeTbeW/u+9777ur1fMtl3952Z78xvnnlmNmu/uK2mJjCJc/iIy3hbt5NWxXpbcRzncRibc+924wi+1wRnRe824hhOB3R7Qb192IYPtcDdf8FHMYUT2FWhj59KRl8IjiY7A3YGh+p2MoyS1WndbmDTKIA9JauvjxoqZtweNbQH7qwKeEBUjwYsWwJ+h+coc2E9TsY+bwD+O+NvOIXXFdpdxK2Cdxsiuy3gJb4OBOes/oX5igOeK4E+joyX9Ab3cRez+YrZ+PSDz9gS31/haYnVXbQjZ++I375gL97jAKYHtFuMfu/hURp4q7t0jfdHGVbrCtqNR75P5RIutBhrwBnoyHJK+f9K/3aaDUsWCxJ/N6L5bN/RWFcT+aheiKiucqg/w50G4E5+H2exFlW0tgH0j/JWp8TwMKz+UcHqZuC+/vdEWXGVXX1WVKt2SPzXTVxHKaqbwsdygVjVvjXJ6hTBTZRumSkHJPU+l9N8utBfjX8Dw878Jj7F8wye4GBJ/Q6u/Qah/1ByEhqpiwAAAABJRU5ErkJggg==",e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAABuElEQVRIia2VP0scURTFf2d2DVqmyQcIFn6BKJLOygUNWFpYydrYKGihkDSCprBIoWIghWlTCCbq2liEKMKuFiooElLmEyQYSAI3THZGhmHfm3HGC4eZN/e+OffPmXnqOXlPwmrABNAE3vBAVk285i0wFd2PA93A64egqYLC6ydgJOVbAS6BvdIkhuY7EMS2AzwGfpQhCZAWkHCggrTu8edCAOpqt8yJCVB/RowXgaHvhsjATI4YJ8JKPufI5lepSkCrGUF/QctlSKomfQVawDOHONaAb+XU1WarezLpLVNFPPhwOOeGth2DGzE0WXbwMeM46Kcjm3eg4eKVKCDCb1NQS6zTaJiC5x6/E0GK9Qj0ypNV6K8VnUkSS4Y+eHq8b+hlYj1mqGHoxNBspz2qNHdcymsAwx5ltqJrWvpX0ZFxHD9QpfXRJ/EsIp+tAvP/v5MM+dUM7RaU7pyhQ0OP0oPvhFHQRkH5DoG+hIdWntKno16vFWhbf55KYqyDBkA396zmOrjnKddE6kNaRPqTc089a/AurBjqNbRp6NYTVzd0LE4PCir0zp4AL4BB4Gn7z84FsAWcAfwDuxHZ5sUXudsAAAAASUVORK5CYII=",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAeCAYAAAA2Lt7lAAADKklEQVRIiZ3W24vVVRQH8M86zpij0MVCMQq6iJaGaWbRDXowkopeooeeeuiht16CXvoTfAuKIIsCESKIigpEKQkiLcJSJrSgLMoLZmTa2KTOju2sGU+/fr8zM31hwTlnrb3WXt912SdGPntDBxbjbmzEelyFSxE4hRP4CjvxKY61uRnqcH4XHsJarMA1WNinX4YzWIrrcSc+zEDnGgGi//si3IOn8HjetgsjuCFlE27C5fg4MywXApSLpxfmTZ7PDOaCkhkvy0t9hD/q+d7k9wuyiniOuIMYJqJPN5NU28rGWuJZYs2U/dAF3WTkx/DgHG/exDDuxRP4GYd6GX0j8ShROm5afz9LjKfUzxMDbKuvTcS8WoPaCbdj+YCinsQHGMX57KxHsouaiGSk+txZeVuHVZjf4fwAtmE7fsAErsV+PIl1LWfmYWWdnxrg1hyiJkr29DvYjL/69FNDNtJ3uWb2V2B1r4ilRSwqQkPOF/FjEfuKGG/RVxktYn8R51p0C4pY3BOxUMTwZK3/JRMiTog4JqK06KscF3FUxPkW3fzqu1JUp+7vFop6uAxXDmjLSsOStG2iNsN4peiXIk61pDhUxIoibimi10HR6iJuK2K4RTdWxK81g9EsWht6uZPGstjfZvGvw8M5UF0L83ccrAG+xje4v6NVb8YzuTUPZOrLM8CNA+g7iC+GSi0iu/FAtlzbsF2Npwc460fN8DD24LupdV2335rat7N0MgjV4bvYUYeyFrLaHk+ON+A+LPifzms37sVb+F7jwal1eCFbc32O+1xQskYvZhCTAWI6wFi+RhuyS5bMMcCZPF+Z+HM6QLmYQUnFttySsy3qFCrvr+VzOY1eyz4/SLxO7MrdP9Nrdo74kniV2NfUtwWospfYTPw0iwBH0nZPm75XkpuGjBd2F7YUDnXYVDlS2FrYVTjdZtOVQZXfiK3Ee5ML8T/6St/2pPNYl5/+LmrD4Szeylwll6TNWdQV83bup060rdkmPscrONr3e32jX8YnMx3uWsP9crqIHUW8VMSRIo4XsaWI94s4OdP55l/HLtT5eDMnvNJUZ6VmMRj4Bz4oCls1OzRGAAAAAElFTkSuQmCC";function u(A){const i=s(A);return i?i.split(/[,,、;/|]+/u).map(A=>A.trim()).filter(A=>""!==A):[]}function a(s){const t=function(A){return A.trim().replace(/\s+/g,"")}(s);t?i({phoneNumber:t}):A({title:"号码无效",icon:"none"})}export{e as a,r as b,a as d,t as i,u as s};
import{q as A,ad as i}from"./index-D9YO76Ut.js";import{s}from"./text.BxMbQPAt.js";const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAbCAYAAABr/T8RAAABxklEQVRIicXXsY+MQRjH8c979rCiQERCriDR0CgkCoJCoTiEHBqV/0M09KIUiURDgoiImkIhl1CdXKIQCRWJyzUczloZeTbeW/u+9777ur1fMtl3952Z78xvnnlmNmu/uK2mJjCJc/iIy3hbt5NWxXpbcRzncRibc+924wi+1wRnRe824hhOB3R7Qb192IYPtcDdf8FHMYUT2FWhj59KRl8IjiY7A3YGh+p2MoyS1WndbmDTKIA9JauvjxoqZtweNbQH7qwKeEBUjwYsWwJ+h+coc2E9TsY+bwD+O+NvOIXXFdpdxK2Cdxsiuy3gJb4OBOes/oX5igOeK4E+joyX9Ab3cRez+YrZ+PSDz9gS31/haYnVXbQjZ++I375gL97jAKYHtFuMfu/hURp4q7t0jfdHGVbrCtqNR75P5RIutBhrwBnoyHJK+f9K/3aaDUsWCxJ/N6L5bN/RWFcT+aheiKiucqg/w50G4E5+H2exFlW0tgH0j/JWp8TwMKz+UcHqZuC+/vdEWXGVXX1WVKt2SPzXTVxHKaqbwsdygVjVvjXJ6hTBTZRumSkHJPU+l9N8utBfjX8Dw878Jj7F8wye4GBJ/Q6u/Qah/1ByEhqpiwAAAABJRU5ErkJggg==",e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAABuElEQVRIia2VP0scURTFf2d2DVqmyQcIFn6BKJLOygUNWFpYydrYKGihkDSCprBIoWIghWlTCCbq2liEKMKuFiooElLmEyQYSAI3THZGhmHfm3HGC4eZN/e+OffPmXnqOXlPwmrABNAE3vBAVk285i0wFd2PA93A64egqYLC6ydgJOVbAS6BvdIkhuY7EMS2AzwGfpQhCZAWkHCggrTu8edCAOpqt8yJCVB/RowXgaHvhsjATI4YJ8JKPufI5lepSkCrGUF/QctlSKomfQVawDOHONaAb+XU1WarezLpLVNFPPhwOOeGth2DGzE0WXbwMeM46Kcjm3eg4eKVKCDCb1NQS6zTaJiC5x6/E0GK9Qj0ypNV6K8VnUkSS4Y+eHq8b+hlYj1mqGHoxNBspz2qNHdcymsAwx5ltqJrWvpX0ZFxHD9QpfXRJ/EsIp+tAvP/v5MM+dUM7RaU7pyhQ0OP0oPvhFHQRkH5DoG+hIdWntKno16vFWhbf55KYqyDBkA396zmOrjnKddE6kNaRPqTc089a/AurBjqNbRp6NYTVzd0LE4PCir0zp4AL4BB4Gn7z84FsAWcAfwDuxHZ5sUXudsAAAAASUVORK5CYII=",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAeCAYAAAA2Lt7lAAADKklEQVRIiZ3W24vVVRQH8M86zpij0MVCMQq6iJaGaWbRDXowkopeooeeeuiht16CXvoTfAuKIIsCESKIigpEKQkiLcJSJrSgLMoLZmTa2KTOju2sGU+/fr8zM31hwTlnrb3WXt912SdGPntDBxbjbmzEelyFSxE4hRP4CjvxKY61uRnqcH4XHsJarMA1WNinX4YzWIrrcSc+zEDnGgGi//si3IOn8HjetgsjuCFlE27C5fg4MywXApSLpxfmTZ7PDOaCkhkvy0t9hD/q+d7k9wuyiniOuIMYJqJPN5NU28rGWuJZYs2U/dAF3WTkx/DgHG/exDDuxRP4GYd6GX0j8ShROm5afz9LjKfUzxMDbKuvTcS8WoPaCbdj+YCinsQHGMX57KxHsouaiGSk+txZeVuHVZjf4fwAtmE7fsAErsV+PIl1LWfmYWWdnxrg1hyiJkr29DvYjL/69FNDNtJ3uWb2V2B1r4ilRSwqQkPOF/FjEfuKGG/RVxktYn8R51p0C4pY3BOxUMTwZK3/JRMiTog4JqK06KscF3FUxPkW3fzqu1JUp+7vFop6uAxXDmjLSsOStG2iNsN4peiXIk61pDhUxIoibimi10HR6iJuK2K4RTdWxK81g9EsWht6uZPGstjfZvGvw8M5UF0L83ccrAG+xje4v6NVb8YzuTUPZOrLM8CNA+g7iC+GSi0iu/FAtlzbsF2Npwc460fN8DD24LupdV2335rat7N0MgjV4bvYUYeyFrLaHk+ON+A+LPifzms37sVb+F7jwal1eCFbc32O+1xQskYvZhCTAWI6wFi+RhuyS5bMMcCZPF+Z+HM6QLmYQUnFttySsy3qFCrvr+VzOY1eyz4/SLxO7MrdP9Nrdo74kniV2NfUtwWospfYTPw0iwBH0nZPm75XkpuGjBd2F7YUDnXYVDlS2FrYVTjdZtOVQZXfiK3Ee5ML8T/6St/2pPNYl5/+LmrD4Szeylwll6TNWdQV83bup060rdkmPscrONr3e32jX8YnMx3uWsP9crqIHUW8VMSRIo4XsaWI94s4OdP55l/HLtT5eDMnvNJUZ6VmMRj4Bz4oCls1OzRGAAAAAElFTkSuQmCC";function u(A){const i=s(A);return i?i.split(/[,,、;/|]+/u).map(A=>A.trim()).filter(A=>""!==A):[]}function a(s){const t=function(A){return A.trim().replace(/\s+/g,"")}(s);t?i({phoneNumber:t}):A({title:"号码无效",icon:"none"})}export{e as a,r as b,a as d,t as i,u as s};

@ -1 +1 @@
import{h as t}from"./index-CC6J0dtG.js";function e(){return t.get("/h5/me/profile",{},{withAuth:!0})}function r(e){return t.put("/h5/me/profile",e,{withAuth:!0})}export{e as g,r as u};
import{h as t}from"./index-D9YO76Ut.js";function e(){return t.get("/h5/me/profile",{},{withAuth:!0})}function r(e){return t.put("/h5/me/profile",e,{withAuth:!0})}export{e as g,r as u};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -9,7 +9,7 @@
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<title>苏州市科普场馆地图</title>
<script type="module" crossorigin src="/h5/assets/index-CC6J0dtG.js"></script>
<script type="module" crossorigin src="/h5/assets/index-D9YO76Ut.js"></script>
<link rel="stylesheet" crossorigin href="/h5/assets/index-Bqb_3gkU.css">
</head>
<body>

@ -7,12 +7,9 @@ import iconDown from '@/static/icon_down.png'
import iconUp from '@/static/icon_up.png'
import { POSTER_FALLBACK } from '@/constants/poster'
import { WECHAT_SHARE } from '@/constants/share'
import { getAddressMarkerIconDataUrl } from '@/utils/markerPin'
import { themeColorForMarkerIcon } from '@/utils/ticketMap'
import { venueTypeCodesFromRecord } from '@/utils/venueTypes'
import { activityTagStyleByOrder, colorForVenueTypeCode } from '@/utils/venueThemeColors'
import { openPoiMapNavigation, setupWechatShare } from '@/services/wechat'
import TiandituMap from '@/components/TiandituMap.vue'
function normalizeRichTextImages(html: string): string {
if (!html || typeof html !== 'string') return ''
@ -98,12 +95,10 @@ function measureRichSections() {
})
}
const MAP_HOME_MARKER_W = 28
const MAP_HOME_MARKER_H = 32
const DEFAULT_MARKER_COLOR = '#05c9ac'
const mapVenues = computed(() => detail.value?.map_venues || detail.value?.venues || [])
const venueItems = computed(() => detail.value?.venue_items || mapVenues.value || [])
const venueItems = computed(() => detail.value?.venue_items || detail.value?.map_venues || detail.value?.venues || [])
const coverImage = computed(() => detail.value?.cover_image || detail.value?.image || POSTER_FALLBACK)
const routePlans = computed(() => detail.value?.route_plans || [])
const courses = computed(() => detail.value?.courses || [])
const contactPhones = computed(() => detail.value?.contact_phone_list || [])
@ -171,7 +166,7 @@ function primaryVenueThemeForMarker(v: { venue_type?: string; venue_types?: stri
}
function venueMarkerColor(v: { venue_type?: string; venue_types?: string[] | null; venue_type_color?: string | null }) {
return themeColorForMarkerIcon({ venue_type_color: v.venue_type_color }, () => primaryVenueThemeForMarker(v))
return primaryVenueThemeForMarker(v)
}
function venueIdxListStyle(v: { type?: string; venue_type?: string; venue_types?: string[] | null; venue_type_color?: string | null }) {
@ -194,61 +189,6 @@ watch([introHtml, feeHtml, implHtml], () => {
measureRichSections()
})
const mapCenter = computed(() => {
const pts = mapVenues.value
.map((v: any) => ({ lat: Number(v.lat), lng: Number(v.lng) }))
.filter((p: { lat: number; lng: number }) => Number.isFinite(p.lat) && Number.isFinite(p.lng) && p.lat && p.lng)
if (!pts.length) return { latitude: 31.2989, longitude: 120.5853 }
const sum = pts.reduce(
(acc: { lat: number; lng: number }, p: { lat: number; lng: number }) => ({ lat: acc.lat + p.lat, lng: acc.lng + p.lng }),
{ lat: 0, lng: 0 },
)
return { latitude: sum.lat / pts.length, longitude: sum.lng / pts.length }
})
const includePoints = computed(() =>
mapVenues.value
.map((v: any) => ({ latitude: Number(v.lat), longitude: Number(v.lng) }))
.filter((p: { latitude: number; longitude: number }) => Number.isFinite(p.latitude) && Number.isFinite(p.longitude) && p.latitude && p.longitude),
)
const mapScale = computed(() => {
const n = includePoints.value.length
if (n >= 5) return 10
if (n >= 3) return 11
if (n >= 2) return 12
return 13
})
const markers = computed(() =>
mapVenues.value
.map((v: any, idx: number) => {
const lat = Number(v.lat)
const lng = Number(v.lng)
if (!lat || !lng) return null
const themeHex = venueMarkerColor(v)
return {
id: Number(v.id) || idx + 1,
latitude: lat,
longitude: lng,
width: MAP_HOME_MARKER_W,
height: MAP_HOME_MARKER_H,
iconPath: getAddressMarkerIconDataUrl(themeHex),
anchor: { x: 0.5, y: 1 },
callout: {
content: `${idx + 1}. ${v.name || '场馆'}`,
color: '#333333',
fontSize: 12,
borderRadius: 8,
bgColor: '#ffffff',
padding: 8,
display: 'BYCLICK' as const,
},
}
})
.filter(Boolean),
)
function openVenue(id: number) {
uni.navigateTo({ url: `/pages/venue/detail?id=${id}` })
}
@ -281,7 +221,7 @@ onLoad(async (query) => {
title: String(d?.name || '研学线路'),
desc: WECHAT_SHARE.desc,
link: window.location.href,
imgUrl: POSTER_FALLBACK,
imgUrl: d?.cover_image || d?.image || POSTER_FALLBACK,
}).catch(() => {})
}
// #endif
@ -292,19 +232,11 @@ onLoad(async (query) => {
<view class="page">
<SubPageBackBtn />
<scroll-view scroll-y class="scroll">
<TiandituMap
v-if="includePoints.length"
class="map"
:latitude="mapCenter.latitude"
:longitude="mapCenter.longitude"
:markers="markers"
:zoom="mapScale"
:fit-points="includePoints"
:fit-key="String(detail?.id || '') + '-' + includePoints.length"
:use-fit-points="includePoints.length > 0"
/>
<view class="main-card" :class="{ 'no-map': !includePoints.length }">
<view class="cover-wrap">
<image class="cover-img" :src="coverImage" mode="aspectFill" />
</view>
<view class="main-card">
<text class="tour-title">{{ detail?.name || '-' }}</text>
<view v-if="detail?.tags?.length" class="act-tags">
<text
@ -509,9 +441,19 @@ $brand: #05c9ac;
min-height: 0;
}
.map {
.cover-wrap {
position: relative;
width: 100%;
height: 680rpx;
aspect-ratio: 2 / 1;
overflow: hidden;
}
.cover-img {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: block;
}
@ -527,12 +469,6 @@ $brand: #05c9ac;
box-shadow: 0 -4rpx 24rpx rgba(0, 0, 0, 0.04);
}
.main-card.no-map {
margin-top: 0;
border-radius: 0;
box-shadow: none;
}
.tour-title {
display: block;
font-size: 32rpx;

Loading…
Cancel
Save