尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗App web para ver cómo ha cambiado un mismo día del año (mes + día) en una estación de AEMET, desde su primer registro (como muy pronto 1920) hasta hoy.
/) y opción "Usar mi ubicación".?estacion=3195&dia=10-13), así que se puede compartir.fetch nativo)npm install
cp .env.example .env
Rellenar AEMET_API_KEY en .env.
Ejecutar en desarrollo:
npm run dev
GET /api/stations: inventario de estaciones.GET /api/stations/cached: estaciones ya descargadas y si su histórico está completo.GET /api/evolution/jobs/enqueue?station=XXXX&month=MM&day=DD: devuelve el resultado al instante si está en caché; si no, encola la descarga y devuelve un jobId.GET /api/evolution/jobs/:jobId: estado, progreso, tiempo estimado y resultado parcial del trabajo.GET /api/background: búsquedas de histórico en segundo plano en curso.Solo se aceptan estaciones que existan en el inventario de AEMET, para no gastar la cuota con indicativos inventados.
FETCH_TIMEOUT_MS: timeout para llamadas HTTP salientes a AEMET (por defecto 20000).AEMET_REQUEST_DELAY_MS: pausa entre peticiones a AEMET para no agotar la cuota (por defecto 1000).EVOLUTION_JOB_RETENTION_MINUTES: minutos que se conserva el estado de trabajos completados/fallidos.EVOLUTION_ENQUEUE_LIMIT_PER_MIN: límite por minuto para GET /api/evolution/jobs/enqueue.EVOLUTION_STATUS_LIMIT_PER_MIN: límite por minuto para el estado de trabajos y /api/background..cache/ por defecto. Se puede cambiar con CACHE_DIR. En producción debe apuntar a un disco/volumen persistente: si el disco del servicio es efímero (Render, Railway, Heroku, Fly sin volumen…), la caché se borra en cada despliegue o reinicio y las estaciones dejan de aparecer en verde..cache/stations/<estacion>/<año>-H1.json (enero-junio) y -H2.json (julio-diciembre)..cache/stations/<estacion>/meta.json y, a partir de ahí, cualquier fecha de esa estación responde al instante con el histórico completo.RECENT_DATA_TTL_HOURS horas (por defecto 12).GTM-K4V42VXB). La etiqueta de Google Analytics 4 (G-N7Q7DCPW4L) se configura dentro del contenedor, no en el código.public/js/analytics.js carga GTM solo después de que el visitante pulse «Aceptar» en la barra negra inferior. «Declinar» no carga nada. La decisión se guarda en localStorage (secalienta-consent) y se puede cambiar con «Preferencias de cookies» en la pantalla de bienvenida; al retirar el consentimiento se borran las cookies _ga* y se recarga la página.server.js permite los dominios de Google necesarios sin habilitar scripts inline.