shumengya mail@smyhub.com
This commit is contained in:
1902
mengyaconnect-frontend/src/App.vue
Normal file
1902
mengyaconnect-frontend/src/App.vue
Normal file
File diff suppressed because it is too large
Load Diff
33
mengyaconnect-frontend/src/api.js
Normal file
33
mengyaconnect-frontend/src/api.js
Normal file
@@ -0,0 +1,33 @@
|
||||
export function getApiBase() {
|
||||
const envBase = import.meta.env.VITE_API_BASE;
|
||||
if (envBase) {
|
||||
return String(envBase).replace(/\/+$/, "");
|
||||
}
|
||||
// 默认走同源 /api(更适合反向代理 + HTTPS)
|
||||
if (typeof window === "undefined") return "http://localhost:8080/api";
|
||||
return `${window.location.origin}/api`;
|
||||
}
|
||||
|
||||
export async function apiRequest(path, options = {}) {
|
||||
const base = getApiBase();
|
||||
const res = await fetch(`${base}${path}`, {
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
...(options.headers || {}),
|
||||
},
|
||||
...options,
|
||||
});
|
||||
let body = null;
|
||||
try {
|
||||
body = await res.json();
|
||||
} catch {
|
||||
body = null;
|
||||
}
|
||||
if (!res.ok) {
|
||||
const message =
|
||||
(body && body.error) || `请求失败 (${res.status} ${res.statusText})`;
|
||||
throw new Error(message);
|
||||
}
|
||||
return body;
|
||||
}
|
||||
|
||||
5
mengyaconnect-frontend/src/main.js
Normal file
5
mengyaconnect-frontend/src/main.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { createApp } from "vue";
|
||||
import "@xterm/xterm/css/xterm.css";
|
||||
import App from "./App.vue";
|
||||
|
||||
createApp(App).mount("#app");
|
||||
Reference in New Issue
Block a user