feat(api): 添加多路由代理处理实现
- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL - 根据环境变量选择不同的后端服务地址(如dev和生产环境) - 统一添加TenantId和Authorization请求头传递租户及身份信息 - 实现请求参数及搜索参数的完整转发 - 引入better-sqlite3及node内建模块支持服务端功能 - 新增专家详情页面,实现文章、成果及预约咨询功能展示 - 页面实现加载骨架屏、标签页切换及空状态提示优化体验
This commit is contained in:
35
.output/server/chunks/routes/api/_server/_...path_.mjs
Normal file
35
.output/server/chunks/routes/api/_server/_...path_.mjs
Normal file
@@ -0,0 +1,35 @@
|
||||
import { d as defineEventHandler, g as getCookie, u as useRuntimeConfig, a as getRouterParam, b as getRequestURL, c as getHeader, p as proxyRequest } from '../../../nitro/nitro.mjs';
|
||||
import 'node:http';
|
||||
import 'node:https';
|
||||
import 'node:events';
|
||||
import 'node:buffer';
|
||||
import 'node:fs';
|
||||
import 'node:path';
|
||||
import 'node:crypto';
|
||||
import 'node:url';
|
||||
import 'better-sqlite3';
|
||||
|
||||
function joinURL(base, path) {
|
||||
if (!path) return base;
|
||||
return base.replace(/\/+$/, "") + "/" + path.replace(/^\/+/, "");
|
||||
}
|
||||
const ____path_ = defineEventHandler((event) => {
|
||||
const config = useRuntimeConfig();
|
||||
const envCookie = getCookie(event, "websopy_api_env");
|
||||
const isDevEnv = envCookie === "dev";
|
||||
const serverApiBase = isDevEnv ? "https://server.websoft.top/api" : config.public.serverApiBase || config.public.ServerApi || "https://server.websoft.top/api";
|
||||
const path = getRouterParam(event, "path") || "";
|
||||
const search = getRequestURL(event).search;
|
||||
const target = joinURL(serverApiBase, path) + search;
|
||||
const tenantId = getHeader(event, "tenantid") || config.public.tenantId;
|
||||
const authorization = getHeader(event, "authorization");
|
||||
return proxyRequest(event, target, {
|
||||
headers: {
|
||||
TenantId: String(tenantId),
|
||||
...authorization ? { Authorization: String(authorization) } : {}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
export { ____path_ as default };
|
||||
//# sourceMappingURL=_...path_.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"_...path_.mjs","sources":["../../../../../../server/api/_server/[...path].ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,SAAA,OAAA,CAAA,MAAA,IAAA,EAAA;AACA,EAAA,IAAA,CAAA,MAAA,OAAA,IAAA;AACA,EAAA,OAAA,IAAA,CAAA,QAAA,MAAA,EAAA,EAAA,IAAA,GAAA,GAAA,IAAA,CAAA,OAAA,CAAA,MAAA,EAAA,EAAA,CAAA;AACA;AAEA,kBAAA,kBAAA,CAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,SAAA,gBAAA,EAAA;AAGA,EAAA,MAAA,SAAA,GAAA,SAAA,CAAA,KAAA,EAAA,iBAAA,CAAA;AACA,EAAA,MAAA,WAAA,SAAA,KAAA,KAAA;AAGA,EAAA,MAAA,aAAA,GAAA,WACA,gCAAA,GACA,MAAA,CAAA,OAAA,aAAA,IAAA,MAAA,CAAA,OAAA,SAAA,IAAA,gCAAA;AAEA,EAAA,MAAA,IAAA,GAAA,cAAA,CAAA,KAAA,EAAA,MAAA,CAAA,IAAA,EAAA;AACA,EAAA,MAAA,MAAA,GAAA,aAAA,CAAA,KAAA,CAAA,CAAA,MAAA;AACA,EAAA,MAAA,MAAA,GAAA,OAAA,CAAA,aAAA,EAAA,IAAA,CAAA,GAAA,MAAA;AAEA,EAAA,MAAA,WAAA,SAAA,CAAA,KAAA,EAAA,UAAA,CAAA,IAAA,OAAA,MAAA,CAAA,QAAA;AACA,EAAA,MAAA,aAAA,GAAA,SAAA,CAAA,KAAA,EAAA,eAAA,CAAA;AAEA,EAAA,OAAA,YAAA,CAAA,OAAA,MAAA,EAAA;AAAA,IACA,OAAA,EAAA;AAAA,MACA,QAAA,EAAA,OAAA,QAAA,CAAA;AAAA,MACA,GAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,aAAA,CAAA,KAAA;AAAA;AACA,GACA,CAAA;AACA,CAAA,CAAA;;;;"}
|
||||
Reference in New Issue
Block a user