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
8.5 KiB

3 days ago
import{d as l,r as e,c as a,w as s,Y as t,b as u,e as i,p as n,v as o,t as c,u as r,S as d,Z as v,A as f,F as m,B as p,_,E as g,$ as y,D as h,y as b,z as k,x,H as w,G as j,a0 as $,R as F,f as S,a1 as C,K as z,a2 as A,a3 as N,a4 as R,a5 as q}from"./index-BznAv2H5.js";import{f as B}from"./content.IclVJQGc.js";import{i as D,f as E}from"./activity.k1jR9V-B.js";import{h as G,f as H}from"./geo.BHVFNtB7.js";import{u as I,t as K,g as T,m as Y,a as Z}from"./tip.CRDnOkzn.js";import{s as J}from"./search.BJnl3YRK.js";import{_ as L}from"./_plugin-vue_export-helper.BCo6x5W8.js";const M=L(l({__name:"detail",setup(l){function L(l){if(!l||"string"!=typeof l)return"";const e="max-width:100%;height:auto;display:block;vertical-align:top;";return l.replace(/<img\b([\s\S]*?)(\/>|>)/gi,(l,a,s)=>{const t=String(a).trim();if(/style\s*=/i.test(t))return/max-width\s*:/i.test(t)?l:l.replace(/style\s*=\s*(["'])([\s\S]*?)\1/i,(l,a,s)=>/max-width/i.test(s)?l:`style=${a}${s};${e}${a}`);return`<img ${t} style="${e}"${"/>"===s?" />":">"}`})}function M(l){if(!l||!String(l).trim())return!1;return String(l).replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim().length>0}const O=e(null),P=e(!0),Q=e(!0),U=e(!1),V=e(!1),W=e("--"),X=e(null),ll=a(()=>{const l=O.value;return l?Array.isArray(l.carousel)&&l.carousel.length?l.carousel:l.image?[{type:"image",url:l.image}]:[]:[]}),el=a(()=>{var l,e;return 0===((null==(l=O.value)?void 0:l.registered_count)??0)&&!0===(null==(e=O.value)?void 0:e.is_bookable)}),al=a(()=>{var l;const e=(null==(l=O.value)?void 0:l.registered_count)??0;return el.value?"可预约":e>0?`${e}人已预约`:"敬请期待"}),sl=a(()=>{var l;return D(null==(l=O.value)?void 0:l.end_at)}),tl=a(()=>{var l;const e=null==(l=O.value)?void 0:l.reservation_notice;if(null==e||""===e)return"";const a=String(e);let s="";if(/<[a-z][\s\S]*>/i.test(a))s=L(a);else{const l=function(l){return l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}(a);s=`<div style="white-space:pre-wrap;font-size:13px;color:#4e5969;line-height:1.65;">${l}</div>`}return M(s)?s:""}),ul=a(()=>{var l;const e=null==(l=O.value)?void 0:l.detail_html;if(!e)return"";const a=L(String(e));return M(a)?a:""});function il(){var l,e,a,s,t,u;return{lat:Number((null==(l=O.value)?void 0:l.lat)??(null==(a=null==(e=O.value)?void 0:e.venue)?void 0:a.lat)??0),lng:Number((null==(s=O.value)?void 0:s.lng)??(null==(u=null==(t=O.value)?void 0:t.venue)?void 0:u.lng)??0)}}function nl(){const{lat:l,lng:e}=il();if(!l||!e||!X.value)return void(W.value="--");const a=G(X.value.lat,X.value.lng,l,e);W.value=H(a)}function ol(){var l,e,a,s;const{lat:t,lng:u}=il();t&&u?C({latitude:t,longitude:u,name:(null==(l=O.value)?void 0:l.title)||"活动地点",address:(null==(e=O.value)?void 0:e.address)||(null==(s=null==(a=O.value)?void 0:a.venue)?void 0:s.address)||""}):S({title:"暂无导航坐标",icon:"none"})}function cl(){var l;(null==(l=O.value)?void 0:l.id)&&z({url:`/pages/activity/reserve?id=${O.value.id}`})}return s(O,()=>{nl()}),s([ul,tl],()=>{P.value=!0,Q.value=!0,A(()=>{setTimeout(()=>{var l;const e=null==(l=N())?void 0:l.proxy,a=R();e&&a.in(e);const s=q(180);a.select(".judge-detail").boundingClientRect(),a.select(".judge-notice").boundingClientRect(),a.exec(l=>{const[e,a]=l||[];U.value=!!(e&&e.height&&e.height>s+1),V.value=!!(a&&a.height&&a.height>s+1)})},120)})}),t(async l=>{const e=Number((null==l?void 0:l.id)||0);e&&(O.value=await B(e),n({type:"gcj02",success:l=>{X.value={lat:l.latitude,lng:l.longitude},nl()},fail:()=>{W.value="--"}}))}),(l,e)=>{const a=g,s=y,t=_,n=v,S=o,C=x,z=$,A=d,N=F;return c(),u(S,{class:"page"},{default:i(()=>[r(A,{"scroll-y":"",class:"scroll"},{default:i(()=>{var l;return[r(S,{class:"hero"},{default:i(()=>[ll.value.length?(c(),u(n,{key:0,class:"hero-swiper",circular:"","indicator-dots":ll.value.length>1,"indicator-active-color":"#05c9ac","indicator-color":"rgba(255,255,255,0.45)"},{default:i(()=>[(c(!0),f(m,null,p(ll.value,(l,e)=>(c(),u(t,{key:"s-"+e,class:"swiper-item"},{default:i(()=>["video"!==l.type?(c(),u(a,{key:0,class:"slide-media