This commit is contained in:
2025-09-23 17:20:58 +08:00
parent ca2b70dfbe
commit 5f3e9a08f6
25 changed files with 1471 additions and 1095 deletions

View File

@@ -1,7 +1,13 @@
// 极简 HTTP 工具:封装 GET/POST默认指向本地 8081
// 极简 HTTP 工具:封装 GET/POST按路径选择后端服务
export type HttpMethod = 'GET' | 'POST';
const BASE_URL = 'http://localhost:8081';
const BASE_CLIENT = 'http://localhost:8081'; // erp_client_sb
const BASE_RUOYI = 'http://localhost:8080'; // ruoyi-admin
function resolveBase(path: string): string {
if (path.startsWith('/tool/banma')) return BASE_RUOYI;
return BASE_CLIENT;
}
// 将对象转为查询字符串
function buildQuery(params?: Record<string, unknown>): string {
@@ -17,7 +23,7 @@ function buildQuery(params?: Record<string, unknown>): string {
// 统一请求入口:自动加上 BASE_URL、JSON 头与错误处理
async function request<T>(path: string, options: RequestInit): Promise<T> {
const res = await fetch(`${BASE_URL}${path}`, {
const res = await fetch(`${resolveBase(path)}${path}`, {
credentials: 'omit',
cache: 'no-store',
...options,
@@ -44,9 +50,12 @@ export const http = {
post<T>(path: string, body?: unknown) {
return request<T>(path, { method: 'POST', body: body ? JSON.stringify(body) : undefined });
},
delete<T>(path: string) {
return request<T>(path, { method: 'DELETE' });
},
// 用于无需读取响应体的 POST如删除/心跳等),从根源避免读取中断
postVoid(path: string, body?: unknown) {
return fetch(`${BASE_URL}${path}`, {
return fetch(`${resolveBase(path)}${path}`, {
method: 'POST',
body: body ? JSON.stringify(body) : undefined,
credentials: 'omit',
@@ -59,7 +68,7 @@ export const http = {
},
// 文件上传:透传 FormData不设置 Content-Type 让浏览器自动处理
upload<T>(path: string, form: FormData) {
const res = fetch(`${BASE_URL}${path}`, {
const res = fetch(`${resolveBase(path)}${path}`, {
method: 'POST',
body: form,
credentials: 'omit',