* Common: getBuildings

Fragt alle Gebäude ab, speichert sie im SessionStorage ab und stellt eine Funktion zum Abrufen zur Verfügung

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/484897/1311829/%2A%20Common%3A%20getBuildings.js

  1. // ==UserScript==
  2. // @name * Common: getBuildings
  3. // @namespace bos-ernie.leitstellenspiel.de
  4. // @version 1.0.0
  5. // @license BSD-3-Clause
  6. // @author BOS-Ernie
  7. // @description Fragt alle Gebäude ab, speichert sie im SessionStorage ab und stellt eine Funktion zum Abrufen zur Verfügung
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=leitstellenspiel.de
  9. // @run-at document-idle
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. async function getBuildings() {
  14. if (
  15. !sessionStorage.bosErnieBuildings ||
  16. JSON.parse(sessionStorage.bosErnieBuildings).lastUpdate < new Date().getTime() - 5 * 1000 * 60
  17. ) {
  18. return updateBuildingsCache();
  19. }
  20. return JSON.parse(sessionStorage.bosErnieBuildings).value;
  21. }
  22.  
  23. async function updateBuildingsCache() {
  24. const buildings = await fetch("/api/buildings.json").then(response => response.json());
  25.  
  26. try {
  27. sessionStorage.setItem("bosErnieBuildings", JSON.stringify({ lastUpdate: new Date().getTime(), value: buildings }));
  28. } catch (e) {
  29. return buildings;
  30. }
  31. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址