page2.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. async function apiGetRetry(url, retry = false) {
  2. try {
  3. const res = await fetch(url);
  4. if (!res.ok) {
  5. throw new Error("HTTP " + res.status);
  6. }
  7. const text = await res.text();
  8. if (!text || text.trim() === "") {
  9. throw new Error("empty response");
  10. }
  11. return text.trim();
  12. } catch (e) {
  13. console.log("GET failed:", url, e.message);
  14. if (retry) {
  15. setTimeout(() => apiGetRetry(url, true), 3000);
  16. }
  17. throw e;
  18. }
  19. }
  20. function getNetInfo1() {
  21. document.getElementById("text1").innerText = "";
  22. apiGetRetry("/api/network/interfaces")
  23. .then(data => {
  24. document.getElementById("text1").innerText = data;
  25. })
  26. .catch(() => {
  27. document.getElementById("text1").innerText = "获取失败";
  28. });
  29. }
  30. function getNetInfo2() {
  31. document.getElementById("text2").innerText = "";
  32. apiGetRetry("/api/network/routes")
  33. .then(data => {
  34. document.getElementById("text2").innerText = data;
  35. })
  36. .catch(() => {
  37. document.getElementById("text2").innerText = "获取失败";
  38. });
  39. }
  40. function getNetInfo3() {
  41. document.getElementById("text3").innerText = "";
  42. apiGetRetry("/api/network/dns")
  43. .then(data => {
  44. document.getElementById("text3").innerText = data;
  45. })
  46. .catch(() => {
  47. document.getElementById("text3").innerText = "获取失败";
  48. });
  49. }
  50. function initPage2() {
  51. getNetInfo1();
  52. getNetInfo2();
  53. getNetInfo3();
  54. connectLog("yfkj-networkd.service", "text4");
  55. }
  56. function destroyPage2() {
  57. disconnectLog();
  58. }