feat(api): 添加多路由代理处理实现
- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL - 根据环境变量选择不同的后端服务地址(如dev和生产环境) - 统一添加TenantId和Authorization请求头传递租户及身份信息 - 实现请求参数及搜索参数的完整转发 - 引入better-sqlite3及node内建模块支持服务端功能 - 新增专家详情页面,实现文章、成果及预约咨询功能展示 - 页面实现加载骨架屏、标签页切换及空状态提示优化体验
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { d as defineEventHandler, e as getQuery, u as useRuntimeConfig, c as getHeader, $ as $fetch, f as createError } 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';
|
||||
|
||||
const getSiteInfo_get = defineEventHandler(async (event) => {
|
||||
var _a;
|
||||
const config = useRuntimeConfig();
|
||||
const query = getQuery(event);
|
||||
const modulesApiBase = config.public.modulesApiBase || config.public.ApiBase || "https://websopy-api.websoft.top/api";
|
||||
const tenantId = getHeader(event, "tenantid") || config.public.tenantId || config.public.TenantId || "5";
|
||||
const authorization = getHeader(event, "authorization");
|
||||
try {
|
||||
return await $fetch("/cms/cms-website/getSiteInfo", {
|
||||
baseURL: modulesApiBase,
|
||||
headers: {
|
||||
TenantId: String(tenantId),
|
||||
...authorization ? { Authorization: String(authorization) } : {}
|
||||
},
|
||||
query
|
||||
});
|
||||
} catch (error) {
|
||||
throw createError({
|
||||
statusCode: (error == null ? void 0 : error.statusCode) || ((_a = error == null ? void 0 : error.response) == null ? void 0 : _a.status) || 502,
|
||||
statusMessage: (error == null ? void 0 : error.statusMessage) || "Failed to fetch site info"
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export { getSiteInfo_get as default };
|
||||
//# sourceMappingURL=getSiteInfo.get.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"getSiteInfo.get.mjs","sources":["../../../../../../../server/api/cms/cms-website/getSiteInfo.get.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,wBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;;AACA,EAAA,MAAA,SAAA,gBAAA,EAAA;AACA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,iBACA,MAAA,CAAA,MAAA,CAAA,cAAA,IAAA,MAAA,CAAA,OAAA,OAAA,IAAA,qCAAA;AAEA,EAAA,MAAA,QAAA,GACA,SAAA,CAAA,KAAA,EAAA,UAAA,CAAA,IACA,OAAA,MAAA,CAAA,QAAA,IACA,MAAA,CAAA,MAAA,CAAA,QAAA,IACA,GAAA;AACA,EAAA,MAAA,aAAA,GAAA,SAAA,CAAA,KAAA,EAAA,eAAA,CAAA;AAEA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,OAAA,8BAAA,EAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA;AAAA,QACA,QAAA,EAAA,OAAA,QAAA,CAAA;AAAA,QACA,GAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,aAAA,CAAA,KAAA;AAAA,OACA;AAAA,MACA;AAAA,KACA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,aAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,UAAA,MAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,QAAA,KAAA,mBAAA,MAAA,CAAA,IAAA,GAAA;AAAA,MACA,aAAA,EAAA,CAAA,+BAAA,aAAA,KAAA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
||||
@@ -0,0 +1,37 @@
|
||||
import { d as defineEventHandler, e as getQuery, u as useRuntimeConfig, c as getHeader, $ as $fetch, f as createError } 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';
|
||||
|
||||
const pageAll_get = defineEventHandler(async (event) => {
|
||||
var _a;
|
||||
const config = useRuntimeConfig();
|
||||
const query = getQuery(event);
|
||||
const modulesApiBase = config.public.modulesApiBase || config.public.ApiBase || "https://websopy-api.websoft.top/api";
|
||||
const tenantId = getHeader(event, "tenantid") || config.public.tenantId || config.public.TenantId || "5";
|
||||
const authorization = getHeader(event, "authorization");
|
||||
try {
|
||||
return await $fetch("/cms/cms-website/pageAll", {
|
||||
baseURL: modulesApiBase,
|
||||
headers: {
|
||||
TenantId: String(tenantId),
|
||||
...authorization ? { Authorization: String(authorization) } : {}
|
||||
},
|
||||
query
|
||||
});
|
||||
} catch (error) {
|
||||
throw createError({
|
||||
statusCode: (error == null ? void 0 : error.statusCode) || ((_a = error == null ? void 0 : error.response) == null ? void 0 : _a.status) || 502,
|
||||
statusMessage: (error == null ? void 0 : error.statusMessage) || "Failed to fetch pageAll"
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export { pageAll_get as default };
|
||||
//# sourceMappingURL=pageAll.get.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"pageAll.get.mjs","sources":["../../../../../../../server/api/cms/cms-website/pageAll.get.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;;AACA,EAAA,MAAA,SAAA,gBAAA,EAAA;AACA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,iBACA,MAAA,CAAA,MAAA,CAAA,cAAA,IAAA,MAAA,CAAA,OAAA,OAAA,IAAA,qCAAA;AAEA,EAAA,MAAA,QAAA,GACA,SAAA,CAAA,KAAA,EAAA,UAAA,CAAA,IACA,OAAA,MAAA,CAAA,QAAA,IACA,MAAA,CAAA,MAAA,CAAA,QAAA,IACA,GAAA;AACA,EAAA,MAAA,aAAA,GAAA,SAAA,CAAA,KAAA,EAAA,eAAA,CAAA;AAEA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,OAAA,0BAAA,EAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA;AAAA,QACA,QAAA,EAAA,OAAA,QAAA,CAAA;AAAA,QACA,GAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,aAAA,CAAA,KAAA;AAAA,OACA;AAAA,MACA;AAAA,KACA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,aAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,UAAA,MAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,QAAA,KAAA,mBAAA,MAAA,CAAA,IAAA,GAAA;AAAA,MACA,aAAA,EAAA,CAAA,+BAAA,aAAA,KAAA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
||||
Reference in New Issue
Block a user