useTokenKeys.js 938 B

123456789101112131415161718192021222324252627282930
  1. import { useEffect, useState } from 'react';
  2. import { fetchTokenKeys, getServerAddress } from '../helpers/token';
  3. import { showError } from '../helpers';
  4. export function useTokenKeys(id) {
  5. const [keys, setKeys] = useState([]);
  6. const [serverAddress, setServerAddress] = useState('');
  7. const [isLoading, setIsLoading] = useState(true);
  8. useEffect(() => {
  9. const loadAllData = async () => {
  10. const fetchedKeys = await fetchTokenKeys();
  11. if (fetchedKeys.length === 0) {
  12. showError('当前没有可用的启用令牌,请确认是否有令牌处于启用状态!');
  13. setTimeout(() => {
  14. window.location.href = '/console/token';
  15. }, 1500); // 延迟 1.5 秒后跳转
  16. }
  17. setKeys(fetchedKeys);
  18. setIsLoading(false);
  19. const address = getServerAddress();
  20. setServerAddress(address);
  21. };
  22. loadAllData();
  23. }, []);
  24. return { keys, serverAddress, isLoading };
  25. }