refactor: reorganize imports and remove unused axios instance code

This commit is contained in:
Tunglies
2025-11-10 02:12:16 +08:00
parent a8fe5a71f7
commit 204bfa36e5
3 changed files with 4 additions and 45 deletions
+1 -40
View File
@@ -1,44 +1,4 @@
import { fetch } from "@tauri-apps/plugin-http";
import axios, { AxiosInstance } from "axios";
import { getClashInfo } from "./cmds";
let instancePromise: Promise<AxiosInstance> = null!;
async function getInstancePromise() {
let server = "";
let secret = "";
try {
const info = await getClashInfo();
if (info?.server) {
server = info.server;
// compatible width `external-controller`
if (server.startsWith(":")) server = `127.0.0.1${server}`;
else if (/^\d+$/.test(server)) server = `127.0.0.1:${server}`;
}
if (info?.secret) secret = info?.secret;
} catch {}
const axiosIns = axios.create({
baseURL: `http://${server}`,
headers: secret ? { Authorization: `Bearer ${secret}` } : {},
timeout: 15000,
});
axiosIns.interceptors.response.use((r) => r.data);
return axiosIns;
}
/// initialize some information
/// enable force update axiosIns
export const getAxios = async (force: boolean = false) => {
if (!instancePromise || force) {
instancePromise = getInstancePromise();
}
return instancePromise;
};
// Get current IP and geolocation information (refactored IP detection with service-specific mappings)
interface IpInfo {
@@ -213,6 +173,7 @@ export const getIpInfo = async (): Promise<IpInfo> => {
timeoutId = setTimeout(() => {
timeoutController.abort();
}, service.timeout || serviceTimeout);
console.debug("Fetching IP information...");
const response = await fetch(service.url, {
method: "GET",