Sari la conținut
AstroWay/api v2.254.12 · ro
toate sistemele sunt în stare normală

Componente Web

@astroway/ui este un set de custom elements obișnuite: pui tag-ul pe pagină și el se desenează singur. Hărțile le desenează @astroway/render, același cod care stă în spatele /v1/render/*, deci roata de pe pagina ta coincide cu roata pe care o returnează API-ul.

Pachetul este în alfa (0.1.0-alpha.1): numele atributelor se mai pot schimba până la 1.0. Pagina pachetului: npm, codul: GitHub.

De pe CDN, fără build:

<script type="module" src="https://cdn.jsdelivr.net/npm/@astroway/ui/dist/cdn/index.js"></script>
<aw-moon-phase></aw-moon-phase>

Sau din npm, importând toate elementele sau doar pe cele necesare. Pachetul este încă în alfa, așa că cere acest tag:

Terminal window
npm install @astroway/ui@alpha
import '@astroway/ui'; // усі елементи
import '@astroway/ui/natal-wheel'; // або один

A. Datele tale. Faci cererea pe serverul tău cu cheia ta și transmiți elementului JSON-ul. Din browserul vizitatorului nu pleacă nicio cerere, deci merge o cheie de orice clasă.

document.querySelector('aw-natal-wheel').data = chart; // data з відповіді /v1/chart

Un șablon de server poate scrie același JSON într-un atribut:

<aw-natal-wheel data='<?= htmlspecialchars(json_encode($chart), ENT_QUOTES) ?>'></aw-natal-wheel>

B. Fără cheie. Elementelor de pe /v1/public/* nu le trebuie cheie. Ele împart bugetul public al vizitatorului, 30 de unități pe oră de pe un IP; când se epuizează, elementul scrie cât trebuie așteptat.

<aw-moon-phase lang="uk"></aw-moon-phase>
<aw-horoscope sign="leo" period="daily"></aw-horoscope>
<aw-tarot-spread spread="three-card"></aw-tarot-spread>

C. Cheie pentru browser. Elementele de pe endpoint-uri cu cheie iau o cheie pk_, creată pentru site-ul tău: lista de domenii, limita de credite și aria endpoint-urilor sunt obligatorii la creare. Vezi secțiunea “Chei pentru browser” de pe pagina de autentificare. Cheia secretă aw_ este respinsă înainte de cerere.

<aw-natal-wheel api-key="pk_live_..." date="1990-05-15" time="14:30"
latitude="50.45" longitude="30.52" timezone-offset="3"></aw-natal-wheel>

Pentru aceste elemente, în aria cheii este necesar chart, plus chinese/zodiac/animal dacă folosești aw-chinese-sign. Domeniile se verifică după host: o cheie pentru example.com funcționează și pe http://example.com:8080.

React 19 randează custom elements direct. Față de HTML-ul obișnuit diferă două lucruri:

  • React își rezervă key, așa că transmite cheia ca api-key.
  • Pe o pagină cu randare pe server, datele pentru modul A transmite-le ca string. React respinge obiectele în timpul randării pe server și nu le expune la hidratare.
'use client';
import '@astroway/ui/natal-wheel';
import '@astroway/ui/jsx'; // типи для тегів <aw-*> у TypeScript
export default function Chart({ chart }: { chart: unknown }) {
return <aw-natal-wheel data={JSON.stringify(chart)} />;
}

Modulele pot fi importate pe server: tag-ul pleacă ca HTML obișnuit și se desenează imediat ce browserul încarcă elementul.

ElementModuriSursă
aw-natal-wheelA/C/v1/chart
aw-aspect-gridA/C/v1/chart
aw-planet-tableA/C/v1/chart
aw-moon-phaseA/B/v1/public/moon-phase
aw-planet-of-dayA/B/v1/public/planet-of-day
aw-horoscopeA/B/v1/public/horoscope/{daily,weekly,monthly}
aw-tarot-card, aw-tarot-spreadA/B/v1/public/tarot/*
aw-sign-matrixA/B/v1/public/compatibility/matrix
aw-synastry-scoreA/B/v1/public/synastry
aw-chinese-signA/C/v1/chinese/zodiac/animal + /v1/public/chinese/zodiac/texts

Elementele cu o singură hartă pe pagină (roata, tabelul și grila cu aceleași date de naștere) fac o singură cerere pentru toate.

aw-aspect-grid la dimensiunea proprie are aproximativ 560 px lățime. Într-o coloană mai îngustă se micșorează, iar etichetele orburilor devin mici; atributul scroll păstrează dimensiunea completă cu derulare orizontală.

  • lang acceptă oricare dintre cele 21 de limbi; implicit se ia <html lang> al paginii. Denumirile vin din tabelele localized din API.
  • theme="dark" comută desenul; culorile le definesc variabilele CSS --aw-accent, --aw-fg, --aw-bg, --aw-bg-soft, --aw-border.
  • Fiecare element emite un eveniment aw-error cu { kind, message }, unde kind este error, rate-limited sau key.
Util?
Sugerează o corectură

Ultima actualizare: