API de metafizică chineză
53 de endpoint-uri în patru familii: BaZi (18), calendarul și zodiacul chinezesc (15), Zi Wei Dou Shu (14) și I Ching (6). Calendarul este derivat din efemeride, nu din tabele de date, de aceea funcționează pentru anii 2 până la 2899 și nu depinde de faptul că cineva a actualizat sau nu un tabel de referință.
Ce include
Section titled “Ce include”| Familie | Endpoint-uri | Stare |
|---|---|---|
| BaZi: stâlpi și analiză | 18 | Aparatul clasic complet |
| Calendar, zodiac, feng shui, Tong Shu | 15 | Derivat din efemeride |
| Zi Wei Dou Shu | 14 | Amplasarea stelelor se calculează, unsprezece referințe rămân referințe |
| I Ching | 6 | Hexagrame, aruncarea monedelor, linii mobile |
Prin ce diferă de o bibliotecă gratuită
Section titled “Prin ce diferă de o bibliotecă gratuită”Răspunsul sincer: dacă îți trebuie doar cei patru stâlpi, ia lunar-typescript. Este sub MIT, calculează în procesul tău, offline, fără limite de frecvență și nu trebuie să plătești pentru asta.
Diferența începe acolo unde se termină biblioteca.
| Ce | Bibliotecile MIT | AstroWay API |
|---|---|---|
| Patru stâlpi, 藏干, 纳音, 十神 | da | da |
| 神煞 cu ambele citiri acolo unde școlile diferă | nu | da |
| Interacțiunile ramurilor 刑冲合害 | nu | da |
| Puterea stăpânului zilei în cadrul 扶抑 | nu | da |
| Timpul solar adevărat ca un calcul separat | nu | da |
| Stele zburătoare după șezut și fațadă, numărul Gua | nu | da |
| Alegerea datei Tong Shu cu filtru pe activitate | nu | da |
| Douăzeci și una de limbi | nu | da |
| O singură convenție pentru PHP, JavaScript și Python în același timp | nu | da |
Ultimul rând este chiar ceea ce se plătește de obicei. O echipă cu site-ul în PHP, aplicația în JavaScript și cron-urile în Python ține altfel trei implementări ale limitei anului și mai devreme sau mai târziu primește trei răspunsuri diferite pentru aceeași dată de naștere.
Convenții numite explicit
Section titled “Convenții numite explicit”Patru axe pe care calculatoarele diferă, și niciuna nu este o greșeală. Majoritatea implementărilor aleg pe tăcute; noi scriem alegerea în răspuns și ținem o pagină de convenții cu o rulare pe un set de date extern CC0.
| Axă | Răspunsul nostru |
|---|---|
| Limita anului | 立春 Lichun, momentul exact din efemeride |
| Limita zilei | 23:00, 子時 timpuriu aparține zilei următoare |
| Timpul solar adevărat | dezactivat implicit, se activează cu un indicator |
| Ora de vară | rezolvată prin timezoneOffset, pe care îl trimite clientul |
Exemplu
Section titled “Exemplu”curl -X POST https://api.astroway.info/v1/bazi/chart \ -H "X-Api-Key: $ASTROWAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{"date":"1990-05-15","time":"14:30:00","timezoneOffset":3}'import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const r = await aw.client.POST('/bazi/chart', { body: { date: '1990-05-15', time: '14:30:00', timezoneOffset: 3 },});console.log(r.data?.data?.pillars.map((p) => p.pillar));// [ 'Geng-Wu', 'Xin-Si', 'Geng-Chen', 'Gui-Wei' ]import osfrom astroway import Astroway
aw = Astroway(api_key=os.environ["ASTROWAY_API_KEY"])
chart = aw.post("/bazi/chart", body={ "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3,})print([p["pillar"] for p in chart["pillars"]])# ['Geng-Wu', 'Xin-Si', 'Geng-Chen', 'Gui-Wei']O aplicație gata făcută pe care o poți clona
Section titled “O aplicație gata făcută pe care o poți clona”Demo live și codul pe GitHub, MIT.
Două apeluri, POST /v1/bazi/chart pentru 20 de credite și POST /v1/bazi/luck-pillars pentru 10, returnează cei patru stâlpi cu tulpinile ascunse, na-yin și cele douăsprezece stadii, stăpânul zilei cu verdictul de putere, echilibrul elementelor, stelele simbolice, interacțiunile ramurilor și ciclul decenal Da Yun. Aplicația le desenează: anul în dreapta, ca în notația clasică, coloana zilei marcată. Backend-ul este o singură rută și nicio dependență, pentru că exact acolo e ideea: browserul nu poate apela API-ul direct, deci cheia stă pe server.
git clone https://github.com/astroway/starter-bazicd starter-bazi && npm installcp .env.example .env # your key goes herenpm run devTrei lucruri pe care merită să le iei de aici. Trimite numele zonei, nu decalajul: Asia/Shanghai pe 1990-05-15 înseamnă UTC+9, pentru că China a avut oră de vară între 1986 și 1991. Trimite limba: cea implicită este ucraineana, iar o pagină în engleză fără ea va primi numele elementelor în altă limbă. Trimite sexul: Da Yun merge înainte sau înapoi în funcție de el, o valoare neutră nu există.
Animalele, elementele, yin și yang, palatele și cele douăsprezece stadii sunt traduse în 21 de limbi. Adaugă ?lang=es, iar lângă tokenul englezesc apare câmpul *Name. Câmpurile englezești nu se schimbă niciodată: localizarea adaugă, nu înlocuiește.
Trunchiurile, ramurile, numele stelelor și 纳音 nu sunt traduse intenționat: numele lor internațional este pinyin-ul alături de ideogramă.