Plán Hradu - API » Historie » Revize 3
« Předchozí |
Revize 3/5
(rozdíl)
| Další »
Tomáš Zikmund, 2023-10-31 09:37
Plán Hradu - API¶
Plán (výchozí stav) - API volání¶
- Výstup bude ve stejném stylu jako u vyhledávání - s agregací podle archivů, stránkováním a až 20 položkami na jednu stránku.
- Manuální přepnutí místnosti v roletce (Místnost) musí být propojeno s odpovídajícím patrem.
- Zdrojové URL: http://147.228.173.159/plan
Výchozí inicializace při otevření záložky Plánu:¶
// Kontrola autorizace uživatele:
await fetch("http://147.228.173.159/api/isauth/", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Zajištění přístupu ke všem archivům inventáře (tj. 1595 Brussels až 2020 Prague):
await fetch("http://147.228.173.159/api/inventories", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Načtení místností (objektů) umístěných na plánku - výchozí nastavení je první patro, vrací všechny místnosti včetně souřadnic a umístění v svg grafice (včetně místností mimo výchozí patro).
// Některé místnosti nejsou vizualizovány na plánu - atribut: in_plan -> false
// Rozlišení patra dle atributu: floor
// Objekt s id:200 se v plánku nevyskytuje (in_plan = false)
await fetch("http://147.228.173.159/api/plan/all", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Vykreslení SVG grafiky odpovídajícího patra - v mapě by se měly zobrazovat pouze objekty s odpovídající hodnotou atributu floor.
// Výchozí patro (první patro) - alternativně přízemí nebo druhé patro:
await fetch("http://147.228.173.159/api/downloads/first_floor", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Seznam místností v rámci plánu nacházejících se v daném patře.
// Spojuje se s API voláním http://147.228.173.159/api/plan/all - provázání přes id
// Přehled místností/komnat, namísto souřadnic a odpovídajícího patra může obsahovat pole zanořených objektů "Místa" - pozice/umístění v dané místnosti.
await fetch("http://147.228.173.159/api/plan/list", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Výpis záložek archivů, kde se nacházejí odpovídající položky. Atribut data obsahuje pole, kde je uložen počet položek v daném archivu.
// (Zde není vypsáno nic)
await fetch("http://147.228.173.159/api/graph?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20%27&group=inventory", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Výchozí předvolba výpisu položek - Místnost/Místo/Cursor=0
// (Není zvolena žádná místnost)
// Na jednu stránku se vypisuje až 20 položek
// Možnost agregace výsledků v URL pomocí atributu "inventory" (pokud je vynechán, zobrazí se kompletní seznam) - &inventory=1621_Prague_A
// (Zde není vypsáno nic)
await fetch("http://147.228.173.159/api/search_v2?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
Již vybraná místnost a poloha v místnosti:¶
// Vybraná komnata 9 ("Spanish Hall (today Rudolf Gallery") a pozice 1 ("on the floor") (komnata = room; pozice = místo)
// Zvolen archiv 1621 Prague A, místo 1 ("on the floor"), druhá stránka seznamu:
await fetch("http://147.228.173.159/api/search_v2?activeTab=0&page=2&tabbed=true&room=9&place=1&cursor=20&items=20&inventory=1621_Prague_A", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Výpis záložek archivů, kde se nacházejí odpovídající položky. Atribut data obsahuje pole, kde je uložen počet položek v daném archivu (např. kolik děl je v archivu 1648 Prague atd.).
// Výpis archivů: 1621 Prague A, 1621 Prague B, 1635 Prague, data: 24, 24, 15 (všechny počty položek):
await fetch("http://147.228.173.159/api/graph?activeTab=0&page=1&tabbed=true&room=9&place=1&cursor=0&items=20%27&group=inventory", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/plan",
"method": "GET",
"mode": "cors"
});
// Možnost přesměrování na detail položky (Zobrazení položky - zde obraz PrgA-1253) - viz níže:
await fetch("http://147.228.173.159/api/concordances/PrgA-1253", {
"credentials": "include",
"headers": {},
"referrer": "http://147.228.173.159/item/PrgA-1253",
"method": "GET",
"mode": "cors"
});
Při výpisu aktuální komnaty a místa (room + places) se u objektu místnosti zobrazuje identifikátor místnosti a hodnota atributu "label".
Následují POUZE hodnoty atributu "label" objektu "places", identifikátor se neuvádí.
Aktualizováno uživatelem Tomáš Zikmund před asi 1 rok · 3 revizí