token.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { API } from './api';
  2. /**
  3. * 获取可用的token keys
  4. * @returns {Promise<string[]>} 返回active状态的token key数组
  5. */
  6. export async function fetchTokenKeys() {
  7. try {
  8. const response = await API.get('/api/token/?p=0&size=100');
  9. const { success, data } = response.data;
  10. if (success) {
  11. const activeTokens = data.filter((token) => token.status === 1);
  12. return activeTokens.map((token) => token.key);
  13. } else {
  14. throw new Error('Failed to fetch token keys');
  15. }
  16. } catch (error) {
  17. console.error('Error fetching token keys:', error);
  18. return [];
  19. }
  20. }
  21. /**
  22. * 获取服务器地址
  23. * @returns {string} 服务器地址
  24. */
  25. export function getServerAddress() {
  26. let status = localStorage.getItem('status');
  27. let serverAddress = '';
  28. if (status) {
  29. try {
  30. status = JSON.parse(status);
  31. serverAddress = status.server_address || '';
  32. } catch (error) {
  33. console.error('Failed to parse status from localStorage:', error);
  34. }
  35. }
  36. if (!serverAddress) {
  37. serverAddress = window.location.origin;
  38. }
  39. return serverAddress;
  40. }