Rohdaten per
DartAPI.fetchData()
- eigenes Markup, eigener Stil.
Klick auf einen Teamnamen zeigt Ergebnisse & Kader.
Tabelle wird geladen…
Spieltag wird geladen…
Kopieren,
databaseId und
eventId
anpassen, als .html speichern — fertig.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Meine Dartliga-Tabelle</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
<h1 id="liga-name">Wird geladen…</h1>
<div id="tabelle"></div>
<script src="https://3k.danielbrk.de/3k-dartsoftware-api.js"></script>
<script>
(async function () {
const data = await DartAPI.fetchData({ databaseId: 9, eventId: 39193 });
document.getElementById('liga-name').textContent = data.event.name;
let zeilen = '';
for (const r of data.table) {
zeilen += '<tr>'
+ '<td>' + r.rank + '.</td>'
+ '<td>' + r.name + '</td>'
+ '<td>' + r.played + '</td>'
+ '<td>' + r.won + '</td>'
+ '<td>' + r.lost + '</td>'
+ '<td>' + r.setsFor + ':' + r.setsAgainst + '</td>'
+ '<td><b>' + r.points + '</b></td>'
+ '</tr>';
}
document.getElementById('tabelle').innerHTML =
'<table border="1" cellpadding="6" cellspacing="0">'
+ '<tr><th>#</th><th>Team</th>'
+ '<th>Sp</th><th>S</th><th>N</th>'
+ '<th>Sets</th><th>Pkt</th></tr>'
+ zeilen
+ '</table>';
})();
</script>
</body>
</html>
So sieht die obige HTML-Datei im Browser aus:
Einbinden und fertig - kein Server, kein Build-Schritt:
<script src="https://3k.danielbrk.de/3k-dartsoftware-api.js"></script>
const data = await DartAPI.fetchData({ databaseId: 9, eventId: 39193 });
// data.event → { id, name, nameShort }
// data.table → array, sortiert nach punkten
// data.schedule → alle spieltage mit matches
// data.teams → mannschaften mit spielern
1 → backend1 6 → backend5
2 → backend2 8 → dartcup
3 → test-tomcat 9 → backend-dsab
4 → backend3 10 → backend-ddv
5 → backend4 11 → backend6
12 → backend7
// id = databaseId in DartAPI.fetchData()
// ungerade gesamtsets = sd gespielt // c- bis a-liga : 18 spiele (9:9 → sd) // ab bz-liga : 20 spiele (10:10 → sd) // // punkte: // normaler sieg → 3 / 0 // sudden death → 2 / 1 const sd = (setsHome + setsGuest) % 2 === 1;
data.table[0]
{ rank, id, name,
played, won, lost,
setsFor, setsAgainst, diff,
points }
// 3=sieg · 2=sd-sieg
// 1=sd-nie · 0=niederlage
data.schedule[0]
{ id, name, index, isCurrent,
status, matches: [{ id, date,
status, home, guest,
setsHome, setsGuest, venue }] }
data.teams[0]
{ id, name, venue, city,
weekday, throwoffTime,
players: [{ name, firstname,
lastname, nickname,
passNr, captain }] }
data.table.map(r => `
<tr>
<td>${r.rank}.</td>
<td>${r.name}</td>
<td>${r.played}</td>
<td>${r.won}</td>
<td>${r.lost}</td>
<td>${r.setsFor}:${r.setsAgainst}</td>
<td><b>${r.points}</b></td>
</tr>
`).join('');
const current = data.schedule
.find(rd => rd.isCurrent);
current.matches.forEach(m => {
const score = m.status === 'finish'
? `${m.setsHome}:${m.setsGuest}`
: '-:-';
console.log(
m.home.name, score, m.guest.name
);
});
const teamId = data.table[0].id;
const spiele = DartAPI.teamMatches(
data, teamId
);
spiele.forEach(m => {
const isHome = m.home.id === teamId;
const own = isHome
? m.setsHome : m.setsGuest;
const opp = isHome
? m.setsGuest : m.setsHome;
const done = m.status === 'finish';
console.log(
m.matchday,
isHome ? m.guest.name : m.home.name,
done ? `${own}:${opp}` : '-:-'
);
});