token.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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=1&size=10');
  9. const { success, data } = response.data;
  10. if (!success) throw new Error('Failed to fetch token keys');
  11. const tokenItems = Array.isArray(data) ? data : data.items || [];
  12. const activeTokens = tokenItems.filter((token) => token.status === 1);
  13. return activeTokens.map((token) => token.key);
  14. } catch (error) {
  15. console.error('Error fetching token keys:', error);
  16. return [];
  17. }
  18. }
  19. /**
  20. * 获取服务器地址
  21. * @returns {string} 服务器地址
  22. */
  23. export function getServerAddress() {
  24. let status = localStorage.getItem('status');
  25. let serverAddress = '';
  26. if (status) {
  27. try {
  28. status = JSON.parse(status);
  29. serverAddress = status.server_address || '';
  30. } catch (error) {
  31. console.error('Failed to parse status from localStorage:', error);
  32. }
  33. }
  34. if (!serverAddress) {
  35. serverAddress = window.location.origin;
  36. }
  37. return serverAddress;
  38. }