mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-11-14 14:52:08 +08:00
refactor: reorganize imports and remove unused axios instance code
This commit is contained in:
+1
-40
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user