API κινεζικής μεταφυσικής
53 endpoints σε τέσσερις οικογένειες: BaZi (18), κινεζικό ημερολόγιο και ζωδιακός (15), Zi Wei Dou Shu (14) και I Ching (6). Το ημερολόγιο προκύπτει από εφημερίδες και όχι από πίνακες ημερομηνιών, οπότε λειτουργεί για τα έτη 2 έως 2899 και δεν εξαρτάται από το αν κάποιος ενημέρωσε ένα βιβλίο αναφοράς.
Τι περιλαμβάνεται
Ενότητα με τίτλο «Τι περιλαμβάνεται»| Οικογένεια | Endpoints | Κατάσταση |
|---|---|---|
| BaZi: στύλοι και ανάλυση | 18 | Πλήρης κλασικός μηχανισμός |
| Ημερολόγιο, ζωδιακός, φενγκ σούι, Tong Shu | 15 | Από εφημερίδες |
| Zi Wei Dou Shu | 14 | Η τοποθέτηση των αστέρων υπολογίζεται, έντεκα βιβλία αναφοράς παραμένουν βιβλία αναφοράς |
| I Ching | 6 | Εξάγραμμα, ρίψη νομισμάτων, μεταβαλλόμενες γραμμές |
Σε τι διαφέρει από μια δωρεάν βιβλιοθήκη
Ενότητα με τίτλο «Σε τι διαφέρει από μια δωρεάν βιβλιοθήκη»Η ειλικρινής απάντηση: αν χρειάζεστε μόνο τους τέσσερις στύλους, πάρτε το lunar-typescript. Είναι υπό MIT, υπολογίζει μέσα στη δική σας διεργασία, offline, χωρίς όρια συχνότητας, και δεν πληρώνετε τίποτα.
Η διαφορά ξεκινά εκεί που τελειώνει η βιβλιοθήκη.
| Τι | Βιβλιοθήκες υπό MIT | AstroWay API |
|---|---|---|
| Τέσσερις στύλοι, 藏干, 纳音, 十神 | ναι | ναι |
| 神煞 με τις δύο αναγνώσεις εκεί όπου οι σχολές διαφωνούν | όχι | ναι |
| Αλληλεπιδράσεις κλάδων 刑冲合害 | όχι | ναι |
| Ισχύς του κυρίου της ημέρας στο πλαίσιο 扶抑 | όχι | ναι |
| Αληθής ηλιακός χρόνος ως ξεχωριστός υπολογισμός | όχι | ναι |
| Ιπτάμενα αστέρια κατά κάθισμα και πρόσοψη, αριθμός Gua | όχι | ναι |
| Επιλογή ημερομηνίας Tong Shu με φίλτρο δραστηριότητας | όχι | ναι |
| Είκοσι μία γλώσσες | όχι | ναι |
| Μία σύμβαση για PHP, JavaScript και Python ταυτόχρονα | όχι | ναι |
Η τελευταία γραμμή είναι αυτό για το οποίο συνήθως πληρώνει κανείς. Μια ομάδα με site σε PHP, εφαρμογή σε JavaScript και cron jobs σε Python αλλιώς συντηρεί τρεις υλοποιήσεις του ορίου του έτους και αργά ή γρήγορα παίρνει τρεις διαφορετικές απαντήσεις για την ίδια ημερομηνία γέννησης.
Οι συμβάσεις δηλωμένες ανοιχτά
Ενότητα με τίτλο «Οι συμβάσεις δηλωμένες ανοιχτά»Τέσσερις άξονες όπου οι υπολογιστές διαφωνούν, και κανένας τους δεν είναι λάθος. Οι περισσότερες υλοποιήσεις διαλέγουν σιωπηλά. Εμείς γράφουμε την επιλογή μέσα στην απάντηση και διατηρούμε μια σελίδα συμβάσεων με έλεγχο πάνω σε εξωτερικό dataset CC0.
| Άξονας | Η απάντησή μας |
|---|---|
| Όριο έτους | 立春 Lichun, η ακριβής στιγμή από τις εφημερίδες |
| Όριο ημέρας | 23:00, το πρώιμο 子時 ανήκει στην επόμενη ημέρα |
| Αληθής ηλιακός χρόνος | απενεργοποιημένος από προεπιλογή, ενεργοποιείται με σημαία |
| Θερινή ώρα | επιλύεται μέσω του timezoneOffset που στέλνει ο client |
Παράδειγμα
Ενότητα με τίτλο «Παράδειγμα»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']Έτοιμη εφαρμογή για clone
Ενότητα με τίτλο «Έτοιμη εφαρμογή για clone»Ζωντανό demo και κώδικας στο GitHub, MIT.
Δύο κλήσεις, POST /v1/bazi/chart για 20 credits και POST /v1/bazi/luck-pillars για 10, επιστρέφουν τους τέσσερις στύλους με κρυφούς κορμούς, na yin και δώδεκα στάδια, τον κύριο της ημέρας με ετυμηγορία ισχύος, την ισορροπία των στοιχείων, τα συμβολικά αστέρια, τις αλληλεπιδράσεις κλάδων και τον δεκαετή κύκλο Da Yun. Η εφαρμογή τα σχεδιάζει: το έτος δεξιά, όπως στην κλασική γραφή, με σημειωμένη τη στήλη της ημέρας. Το backend είναι μία διαδρομή χωρίς καμία εξάρτηση, γιατί εκεί ακριβώς βρίσκεται η ουσία: ο browser δεν μπορεί να καλέσει το API απευθείας, άρα το κλειδί ζει στον server.
git clone https://github.com/astroway/starter-bazicd starter-bazi && npm installcp .env.example .env # your key goes herenpm run devΤρία πράγματα που αξίζει να κρατήσετε από αυτήν. Στέλνετε το όνομα της ζώνης, όχι τη μετατόπιση: το Asia/Shanghai στις 1990-05-15 είναι UTC+9, επειδή η Κίνα είχε θερινή ώρα από το 1986 έως το 1991. Στέλνετε τη γλώσσα: η προεπιλογή είναι τα ουκρανικά, και μια αγγλική σελίδα χωρίς αυτήν θα πάρει τα ονόματα των στοιχείων σε λάθος γλώσσα. Στέλνετε το φύλο: το Da Yun προχωρά μπροστά ή πίσω ανάλογα με αυτό, ουδέτερη τιμή δεν υπάρχει.
Γλώσσες
Ενότητα με τίτλο «Γλώσσες»Τα ζώα, τα στοιχεία, το γιν και το γιανγκ, τα παλάτια και τα δώδεκα στάδια είναι μεταφρασμένα σε 21 γλώσσες. Προσθέστε ?lang=es και δίπλα στο αγγλικό token εμφανίζεται ένα πεδίο *Name. Τα αγγλικά πεδία δεν αλλάζουν ποτέ: η τοπικοποίηση προσθέτει, δεν αντικαθιστά.
Οι κορμοί, οι κλάδοι, τα ονόματα των αστέρων και το 纳音 σκόπιμα δεν μεταφράζονται: το διεθνές τους όνομα είναι το pinyin δίπλα στο ιδεόγραμμα.