Files
Pawer/dist/pages/nearby/index.js
2026-06-18 14:33:50 +08:00

1 line
8.8 KiB
JavaScript

"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[160],{5775:function(e,n,t){var a=t(8870),r=t(1212),s=t(467),c=t(5544),i=t(6540),o=t(758),l=t.n(o),u=t(118),d=t(7797),h=t(6503),f=t(3401),p=t(7896),m=t(4848),b="",_=1,v="nearbyMap",y="#d8b4ff",x="#2a1d4a",g="rgba(31,23,66,0.92)",j="#ffffff";function S(e){var n=e.pets,t=e.center,a=e.scale,r=e.activeId,s=e.onSelect,c=e.onRegionChange,i=n.map(function(e,n){return{pet:e,index:n}}).filter(function(e){var n=e.pet;return"number"===typeof n.latitude&&"number"===typeof n.longitude}).map(function(e){var n=e.pet,t=e.index,a=n._id===r;return{id:t,latitude:n.latitude,longitude:n.longitude,width:a?32:24,height:a?32:24,callout:{content:n.name,color:a?x:j,bgColor:a?y:g,fontSize:12,padding:6,borderRadius:10,display:"ALWAYS"}}}),o=function(e){var t=n[e.detail.markerId];t&&s(t._id)};return(0,m.jsx)(u.T5,{id:v,className:"nearby-map",latitude:t.latitude,longitude:t.longitude,scale:a,showLocation:!0,enableZoom:!0,enableScroll:!0,enableRotate:!1,subkey:b||void 0,layerStyle:b?_:void 0,markers:i,onMarkerTap:o,onRegionChange:function(e){"end"===(null===e||void 0===e?void 0:e.type)&&(null===c||void 0===c||c(e.causedBy||""))}})}var N=S;function k(e){var n=e.onRefresh,t=e.onZoomIn,a=e.onZoomOut,r=e.onLocate;return(0,m.jsxs)(u.Ss,{className:"map-controls",children:[(0,m.jsx)(u.Ss,{className:"map-controls__btn",onClick:n,children:(0,m.jsx)(f.A,{name:"refresh",size:18})}),(0,m.jsxs)(u.Ss,{className:"map-controls__stack",children:[(0,m.jsx)(u.Ss,{className:"map-controls__btn",onClick:t,children:(0,m.jsx)(f.A,{name:"plus",size:18})}),(0,m.jsx)(u.Ss,{className:"map-controls__btn",onClick:a,children:(0,m.jsx)(f.A,{name:"minus",size:18})}),(0,m.jsx)(u.Ss,{className:"map-controls__btn",onClick:r,children:(0,m.jsx)(f.A,{name:"target",size:18})})]})]})}var A=k,w=t(7032);function C(e){var n=e.pet,t=e.active,a=e.onSelect,r=e.onLike;return(0,m.jsxs)(u.Ss,{className:"nearby-pet-card ".concat(t?"nearby-pet-card--active":""),onClick:a,children:[(0,m.jsx)(u.Ss,{className:"nearby-pet-card__photo ".concat(n.photoKey),children:(0,m.jsx)(u.EY,{className:"nearby-pet-card__distance",children:n.distanceText})}),(0,m.jsxs)(u.Ss,{className:"nearby-pet-card__info",children:[(0,m.jsxs)(u.Ss,{className:"nearby-pet-card__title",children:[(0,m.jsx)(u.EY,{className:"nearby-pet-card__name",children:n.name}),n.online?(0,m.jsx)(u.Ss,{className:"nearby-pet-card__online"}):null]}),(0,m.jsxs)(u.EY,{className:"nearby-pet-card__meta",children:[n.breed," \xb7 ",n.ageText]}),(0,m.jsx)(u.EY,{className:"nearby-pet-card__mood",children:n.mood}),(0,m.jsx)(u.Ss,{className:"nearby-pet-card__tags",children:n.tags.slice(0,2).map(function(e){return(0,m.jsx)(u.EY,{className:"nearby-pet-card__tag",children:e},e)})})]}),(0,m.jsxs)(u.Ss,{className:"nearby-pet-card__actions",children:[(0,m.jsx)(u.Ss,{className:"nearby-pet-card__btn",children:(0,m.jsx)(f.A,{name:"message",size:16})}),(0,m.jsx)(u.Ss,{className:"nearby-pet-card__btn nearby-pet-card__btn--like",onClick:function(e){e.stopPropagation(),r()},children:(0,m.jsx)(f.A,{name:"heart-fill",size:16})})]})]})}var T=C;function M(e,n,t){return Math.max(n,Math.min(t,e))}var L=[64,220,400,520];function E(e){return L.reduce(function(n,t){return Math.abs(t-e)<Math.abs(n-e)?t:n})}function Y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:220,n=(0,i.useState)(e),t=(0,c.A)(n,2),a=t[0],r=t[1],s=(0,i.useState)(!1),o=(0,c.A)(s,2),l=o[0],u=o[1],d=(0,i.useRef)(0),h=(0,i.useRef)(e),f=function(e){var n=e.touches[0];d.current=n.clientY,h.current=a,u(!0)},p=function(e){if(l){var n=e.touches[0],t=h.current+d.current-n.clientY;r(M(t,L[0],L[L.length-1]))}},m=function(){u(!1),r(E(a))};return{height:a,dragging:l,isMin:a<=L[0]+8,onTouchStart:f,onTouchMove:p,onTouchEnd:m}}var z=[{key:"all",label:"\u5168\u90e8"},{key:"dog",label:"\u72d7\u72d7"},{key:"cat",label:"\u732b\u54aa"},{key:"online",label:"\u5728\u7ebf"}];function I(e){var n=e.pets,t=e.activeId,a=e.filter,r=e.onFilterChange,s=e.onSelect,c=e.onLike,i=Y(220);return(0,m.jsxs)(u.Ss,{className:"nearby-sheet ".concat(i.isMin?"nearby-sheet--min":""," ").concat(i.dragging?"nearby-sheet--dragging":""),style:{height:"".concat(i.height,"px")},catchMove:!0,children:[(0,m.jsx)(u.Ss,{className:"nearby-sheet__handle",onTouchStart:i.onTouchStart,onTouchMove:i.onTouchMove,onTouchEnd:i.onTouchEnd,onTouchCancel:i.onTouchEnd,children:(0,m.jsx)(u.Ss,{className:"nearby-sheet__bar"})}),(0,m.jsx)(u.Ss,{className:"nearby-sheet__header",children:(0,m.jsxs)(u.Ss,{children:[(0,m.jsx)(u.EY,{className:"nearby-sheet__title",children:"\u9644\u8fd1\u7684\u6bdb\u5b69\u5b50"}),(0,m.jsxs)(u.EY,{className:"nearby-sheet__count",children:[n.length," \u4f4d\u6b63\u5728\u9644\u8fd1\u6d3b\u52a8"]})]})}),(0,m.jsx)(u.Ss,{className:"nearby-sheet__chips",children:z.map(function(e){return(0,m.jsx)(w.A,{active:a===e.key,onClick:function(){return r(e.key)},children:e.label},e.key)})}),(0,m.jsx)(u.Ss,{className:"nearby-sheet__list",children:n.map(function(e){return(0,m.jsx)(T,{pet:e,active:e._id===t,onSelect:function(){return s(e._id)},onLike:function(){return c(e._id)}},e._id)})})]})}var R=I,B=t(374),K=t(9251),Z=t(5366);function O(e){return P.apply(this,arguments)}function P(){return P=(0,s.A)((0,r.A)().m(function e(n){var t,a,s=arguments;return(0,r.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(t=s.length>1&&void 0!==s[1]?s[1]:"all",(0,K.n)()){e.n=1;break}return e.a(2,Z.KB);case 1:return e.p=1,e.n=2,(0,K.k)("nearbyPets",{location:n,filters:{type:t}});case 2:return a=e.v,e.a(2,a.list);case 3:return e.p=3,e.v,e.a(2,Z.KB)}},e,null,[[1,3]])})),P.apply(this,arguments)}function F(e){return J.apply(this,arguments)}function J(){return J=(0,s.A)((0,r.A)().m(function e(n){return(0,r.A)().w(function(e){while(1)switch(e.n){case 0:if((0,K.n)()){e.n=1;break}return e.a(2,{matched:n.length%2===0});case 1:return e.a(2,(0,K.k)("matchLike",{petId:n}))}},e)})),J.apply(this,arguments)}var H=t(994),U={latitude:31.2304,longitude:121.4737},W=4,q=20;function D(){var e,n=(0,B.v)(),t=n.navHeight,a=(0,i.useState)(Z.KB),o=(0,c.A)(a,2),b=o[0],_=o[1],y=(0,i.useState)(null===(e=Z.KB[0])||void 0===e?void 0:e._id),x=(0,c.A)(y,2),g=x[0],j=x[1],S=(0,i.useState)("all"),k=(0,c.A)(S,2),w=k[0],C=k[1],T=(0,i.useState)(null),M=(0,c.A)(T,2),L=M[0],E=M[1],Y=(0,i.useState)(15),z=(0,c.A)(Y,2),I=z[0],K=z[1],P=(0,i.useState)(""),J=(0,c.A)(P,2),D=J[0],G=J[1],Q=(0,H.d)(480);(0,i.useEffect)(function(){l().getLocation({type:"gcj02"}).then(function(e){return E({latitude:e.latitude,longitude:e.longitude})}).catch(function(){return E(U)})},[]);var V=function(e){O(e,w).then(function(e){_(e),j(function(n){var t;return n||(null===(t=e[0])||void 0===t?void 0:t._id)})})};(0,i.useEffect)(function(){L&&V(L)},[L,w]);var X=function(){l().getLocation({type:"gcj02"}).then(function(e){return E({latitude:e.latitude,longitude:e.longitude})}).catch(function(){l().showModal({title:"\u9700\u8981\u4f4d\u7f6e\u6743\u9650",content:"\u8bf7\u5728\u53f3\u4e0a\u89d2\u300c\xb7\xb7\xb7\u300d\u2192 \u8bbe\u7f6e\u4e2d\u5141\u8bb8\u83b7\u53d6\u4f4d\u7f6e\u540e\u91cd\u8bd5",showCancel:!1})})},$=function(e){if("scale"===e)try{l().createMapContext(v).getScale({success:function(e){null!==e&&void 0!==e&&e.scale&&K(Math.round(e.scale))}})}catch(e){}},ee=function(){return K(function(e){return Math.min(q,e+1)})},ne=function(){return K(function(e){return Math.max(W,e-1)})},te=function(){L&&V(L),l().showToast({title:"\u5df2\u5237\u65b0\u9644\u8fd1",icon:"none"})},ae=function(){var e=(0,s.A)((0,r.A)().m(function e(n){return(0,r.A)().w(function(e){while(1)switch(e.n){case 0:return Q.show(),e.n=1,F(n);case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),re=D.trim().toLowerCase(),se=re?b.filter(function(e){return e.name.toLowerCase().includes(re)||(e.breed||"").toLowerCase().includes(re)}):b;return(0,m.jsxs)(u.Ss,{className:"nearby-page",children:[(0,m.jsx)(N,{pets:se,center:L||U,scale:I,activeId:g,onSelect:j,onRegionChange:$}),(0,m.jsx)(d.A,{}),(0,m.jsxs)(u.Ss,{className:"nearby-page__search",style:{top:"".concat(t+6,"px")},children:[(0,m.jsx)(f.A,{name:"search",size:14}),(0,m.jsx)(u.pd,{className:"nearby-page__search-input",value:D,placeholder:"\u641c\u7d22\u540d\u5b57 / \u54c1\u79cd",placeholderClass:"nearby-page__search-ph",confirmType:"search",onInput:function(e){return G(e.detail.value)}}),D?(0,m.jsx)(u.Ss,{className:"nearby-page__search-clear",onClick:function(){return G("")},children:(0,m.jsx)(f.A,{name:"close",size:14})}):null]}),(0,m.jsx)(A,{onRefresh:te,onZoomIn:ee,onZoomOut:ne,onLocate:X}),(0,m.jsx)(R,{pets:se,activeId:g,filter:w,onFilterChange:C,onSelect:j,onLike:ae}),(0,m.jsx)(p.A,{visible:Q.visible}),(0,m.jsx)(h.A,{active:"nearby"})]})}var G={navigationBarTitleText:"\u9644\u8fd1",navigationStyle:"custom",disableScroll:!0},Q=(0,a.eU)(D,"pages/nearby/index",{root:{cn:[]}},G||{});D&&D.behaviors&&(Q.behaviors=(Q.behaviors||[]).concat(D.behaviors));Page(Q)}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(5775)});e.O()}]);