GC - Virtupets API library

A library for virtupets.net APIs.

当前为 2024-10-13 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/512407/1463866/GC%20-%20Virtupets%20API%20library.js

  1. const url = "https://virtupets.net";
  2.  
  3. async function setupClientID() {
  4. let clientID;
  5. try {
  6. clientID = await GM.getValue('ClientID');
  7. if (!clientID) {
  8. const id = crypto.randomUUID();
  9. await GM.setValue('ClientID', crypto.randomUUID());
  10. clientID = id;
  11. }
  12. } catch (error) {
  13. console.error(error, "Failed to setup client ID.", "setupClientID");
  14. clientID = "";
  15. }
  16. return clientID;
  17. }
  18.  
  19. async function createPostRequest(apiVersion, body) {
  20. const clientID = await setupClientID();
  21. return {
  22. method: "POST",
  23. headers: {
  24. "Content-Type": "application/json",
  25. "Version": apiVersion,
  26. "ClientID": clientID
  27. },
  28. body: JSON.stringify(body),
  29. }
  30. }
  31.  
  32. /* Expects items to be an array of item name strings. */
  33. async function bulkShopWizardPrices(items) {
  34. const apiVersion = "0.1";
  35. const request = await createPostRequest(apiVersion, items);
  36. return fetch(`${url}/shop-prices/bulk`, request);
  37. }