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

import{ad as r,ae as n}from"./index-BIkOonBg.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))}const o=new Map([[51,0]]);function s(r,n){return o.has(r)?o.get(r):n}function u(r){const n=Number(String(r).trim());return Number.isFinite(n)&&n>0?n:null}function i(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 a(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 c(r){const n=new Map;if(!r||200!==r.code||!Array.isArray(r.venues))return n;for(const t of r.venues){const r=u(t.venueId);null!=r&&n.set(r,s(r,e(t.enter,t.exit)))}return n}function f(r){if(!r||200!==r.code||!Array.isArray(r.venues))return null;let n=0;for(const t of r.venues){const r=u(t.venueId);null==r||r<=0||(n+=s(r,e(t.enter,t.exit)))}return n}export{s as a,i as b,a as c,t as g,c as l,e as n,f as t,u as v};