apifox-mock-generator 1.3.4 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/package.json +1 -1
- package/dist/src/scripts/serve-mock.js +49 -5
- package/dist/src/scripts/serve-mock.js.map +1 -1
- package/dist/src/server/hot-reload.d.ts.map +1 -1
- package/dist/src/server/hot-reload.js +48 -3
- package/dist/src/server/hot-reload.js.map +1 -1
- package/dist/src/server/remote-proxy.d.ts.map +1 -1
- package/dist/src/server/remote-proxy.js +3 -2
- package/dist/src/server/remote-proxy.js.map +1 -1
- package/dist/src/server/route-handler.d.ts.map +1 -1
- package/dist/src/server/route-handler.js +8 -2
- package/dist/src/server/route-handler.js.map +1 -1
- package/dist/src/server/route-loader.d.ts.map +1 -1
- package/dist/src/server/route-loader.js +36 -10
- package/dist/src/server/route-loader.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,30 @@
|
|
|
5
5
|
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
6
6
|
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
7
7
|
|
|
8
|
+
## [1.3.5] - 2025-10-21
|
|
9
|
+
|
|
10
|
+
### 🐛 错误修复
|
|
11
|
+
|
|
12
|
+
#### 🔧 远程代理和热重载功能增强
|
|
13
|
+
|
|
14
|
+
- **远程代理修复** - 修复远程代理功能,确保远程服务器请求正常工作
|
|
15
|
+
- **热重载切换优化** - 改进热重载功能,支持远程/本地数据源动态切换
|
|
16
|
+
- **端口清理功能** - 添加端口清理功能,解决端口占用问题,提升服务器启动稳定性
|
|
17
|
+
- **代理配置优化** - 优化远程代理配置,提升代理请求的可靠性
|
|
18
|
+
|
|
19
|
+
#### 🚀 稳定性改进
|
|
20
|
+
|
|
21
|
+
- **错误处理增强** - 改进错误处理逻辑,提供更详细的错误信息
|
|
22
|
+
- **连接管理优化** - 优化连接管理,避免连接泄漏问题
|
|
23
|
+
- **性能提升** - 提升热重载和远程代理的性能表现
|
|
24
|
+
|
|
25
|
+
## [1.3.4] - 2025-10-21
|
|
26
|
+
|
|
27
|
+
### 🐛 错误修复
|
|
28
|
+
|
|
29
|
+
修复mockjs和eslint生产依赖
|
|
30
|
+
调整生成mock文件符合eslint规则
|
|
31
|
+
|
|
8
32
|
## [1.3.3] - 2025-10-18
|
|
9
33
|
|
|
10
34
|
### 🐛 错误修复
|
package/dist/package.json
CHANGED
|
@@ -5,6 +5,45 @@ import { RouteManager } from '../server/route-manager.js';
|
|
|
5
5
|
import { loadMockRoutes } from '../server/route-loader.js';
|
|
6
6
|
import { setupMockServer } from '../server/express-server.js';
|
|
7
7
|
import { setupHotReload } from '../server/hot-reload.js';
|
|
8
|
+
import { exec } from 'child_process';
|
|
9
|
+
import { promisify } from 'util';
|
|
10
|
+
const execAsync = promisify(exec);
|
|
11
|
+
/**
|
|
12
|
+
* 检查并清理端口占用
|
|
13
|
+
*/
|
|
14
|
+
async function checkAndCleanPort(port) {
|
|
15
|
+
try {
|
|
16
|
+
const { stdout } = await execAsync(`netstat -ano | findstr :${port}`);
|
|
17
|
+
if (stdout.trim()) {
|
|
18
|
+
logger.warn(`端口 ${port} 被占用,正在清理...`);
|
|
19
|
+
const lines = stdout.trim().split('\n');
|
|
20
|
+
const pids = new Set();
|
|
21
|
+
lines.forEach(line => {
|
|
22
|
+
const parts = line.trim().split(/\s+/);
|
|
23
|
+
if (parts.length >= 5) {
|
|
24
|
+
const pid = parts[parts.length - 1];
|
|
25
|
+
if (pid && pid !== '0') {
|
|
26
|
+
pids.add(pid);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
for (const pid of pids) {
|
|
31
|
+
try {
|
|
32
|
+
await execAsync(`taskkill /F /PID ${pid}`);
|
|
33
|
+
logger.success(`✓ 已清理进程 ${pid}`);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
logger.warn(`无法清理进程 ${pid}: ${error}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// 等待端口释放
|
|
40
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
// 端口未被占用,这是正常情况
|
|
45
|
+
}
|
|
46
|
+
}
|
|
8
47
|
/**
|
|
9
48
|
* 主函数
|
|
10
49
|
*/
|
|
@@ -13,6 +52,8 @@ async function main() {
|
|
|
13
52
|
// 加载配置
|
|
14
53
|
const apifoxConfig = await loadConfig();
|
|
15
54
|
const mockConfig = await loadMockConfig();
|
|
55
|
+
// 检查并清理端口占用
|
|
56
|
+
await checkAndCleanPort(mockConfig.port);
|
|
16
57
|
const routeManager = new RouteManager();
|
|
17
58
|
logger.title('启动 Mock 服务器...');
|
|
18
59
|
// 初始加载所有 Mock 路由
|
|
@@ -26,12 +67,15 @@ async function main() {
|
|
|
26
67
|
const app = setupMockServer(routeManager, mockConfig);
|
|
27
68
|
app.listen(mockConfig.port, 'localhost', () => {
|
|
28
69
|
logger.success(`\n🚀 Mock 服务器已启动!`);
|
|
29
|
-
logger.info(` 地址: http://localhost:${mockConfig.port}`);
|
|
30
|
-
logger.info(` 工作模式: ${mockConfig.model}`);
|
|
31
|
-
logger.info(` 目标服务器: ${mockConfig.target}`);
|
|
32
|
-
logger.info(
|
|
70
|
+
logger.info(` 🌐 地址: http://localhost:${mockConfig.port}`);
|
|
71
|
+
logger.info(` ⚙️ 工作模式: ${mockConfig.model}`);
|
|
72
|
+
logger.info(` 🎯 目标服务器: ${mockConfig.target}`);
|
|
73
|
+
logger.info(` 📁 Mock 目录: ${apifoxConfig.mockDir}`);
|
|
74
|
+
logger.info(` 📊 已加载路由: ${routes.length} 个`);
|
|
75
|
+
logger.info('\n💡 提示:');
|
|
33
76
|
logger.info(' - 🔥 热重载已启用,修改 Mock 文件将自动生效');
|
|
34
|
-
logger.info(' -
|
|
77
|
+
logger.info(' - 📝 修改 check 函数可控制数据源(本地/远程)');
|
|
78
|
+
logger.info(' - 🛑 按 Ctrl+C 停止服务器\n');
|
|
35
79
|
// 启动文件监听(热重载)
|
|
36
80
|
setupHotReload(apifoxConfig, routeManager, mockConfig);
|
|
37
81
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-mock.js","sourceRoot":"","sources":["../../../src/scripts/serve-mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"serve-mock.js","sourceRoot":"","sources":["../../../src/scripts/serve-mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hot-reload.d.ts","sourceRoot":"","sources":["../../../src/server/hot-reload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hot-reload.d.ts","sourceRoot":"","sources":["../../../src/server/hot-reload.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACrB,IAAI,CAiIN"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import chokidar from 'chokidar';
|
|
3
|
+
import { watch } from 'fs';
|
|
3
4
|
import { logger } from '../utils/logger.js';
|
|
4
5
|
import { loadRouteFromFile, clearModuleCache } from './route-loader.js';
|
|
5
6
|
/**
|
|
@@ -17,12 +18,53 @@ export function setupHotReload(config, routeManager, mockConfig) {
|
|
|
17
18
|
persistent: true,
|
|
18
19
|
ignoreInitial: true, // 忽略初始扫描
|
|
19
20
|
awaitWriteFinish: {
|
|
20
|
-
stabilityThreshold:
|
|
21
|
-
pollInterval:
|
|
21
|
+
stabilityThreshold: 1000, // 增加稳定性阈值
|
|
22
|
+
pollInterval: 100
|
|
22
23
|
},
|
|
23
24
|
usePolling: true, // 启用轮询以确保文件变化被检测到
|
|
24
|
-
atomic: true
|
|
25
|
+
atomic: true,
|
|
26
|
+
depth: 10, // 限制监听深度
|
|
27
|
+
followSymlinks: false // 不跟随符号链接
|
|
25
28
|
});
|
|
29
|
+
// 添加备用的原生文件监听
|
|
30
|
+
try {
|
|
31
|
+
const nativeWatcher = watch(mockDir, { recursive: true }, (eventType, filename) => {
|
|
32
|
+
if (filename && filename.endsWith('.js') && !filename.includes('index.js')) {
|
|
33
|
+
const fullPath = path.join(mockDir, filename);
|
|
34
|
+
handleFileChange(fullPath, mockDir, config, routeManager, mockConfig);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
logger.warn(`原生文件监听启动失败: ${error instanceof Error ? error.message : '未知错误'}`);
|
|
40
|
+
}
|
|
41
|
+
// 处理文件变化的通用函数
|
|
42
|
+
async function handleFileChange(filePath, mockDir, config, routeManager, mockConfig) {
|
|
43
|
+
try {
|
|
44
|
+
const relativePath = path.relative(mockDir, filePath);
|
|
45
|
+
logger.info(`🔥 检测到文件变化: ${relativePath}`);
|
|
46
|
+
// 清除该文件的模块缓存
|
|
47
|
+
clearModuleCache(filePath);
|
|
48
|
+
const result = await loadRouteFromFile(filePath, mockDir, config, mockConfig);
|
|
49
|
+
if (result) {
|
|
50
|
+
routeManager.setRoute(result.key, result.route);
|
|
51
|
+
logger.success(`✅ 热重载成功: ${result.key}`);
|
|
52
|
+
// 显示路由的详细信息
|
|
53
|
+
const routeInfo = result.route;
|
|
54
|
+
const methodName = routeInfo.method.charAt(0).toUpperCase() + routeInfo.method.slice(1).toLowerCase();
|
|
55
|
+
const checkFunctionName = `check${methodName}`;
|
|
56
|
+
logger.info(` 📍 路由: ${routeInfo.method} ${routeInfo.path}`);
|
|
57
|
+
logger.info(` 🔧 检查函数: ${checkFunctionName}`);
|
|
58
|
+
logger.info(` 🎯 数据源: ${mockConfig.target || '本地Mock'}`);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
logger.warn(`⚠️ 无法从修改的文件加载路由: ${relativePath}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
logger.error(`❌ 热重载失败: ${error instanceof Error ? error.message : '未知错误'}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
26
68
|
watcher
|
|
27
69
|
.on('add', async (filePath) => {
|
|
28
70
|
logger.info(`📝 检测到新文件: ${path.relative(mockDir, filePath)}`);
|
|
@@ -42,6 +84,7 @@ export function setupHotReload(config, routeManager, mockConfig) {
|
|
|
42
84
|
})
|
|
43
85
|
.on('change', async (filePath) => {
|
|
44
86
|
logger.info(`📝 文件已修改: ${path.relative(mockDir, filePath)}`);
|
|
87
|
+
console.log(`[热重载] 检测到文件变化: ${filePath}`);
|
|
45
88
|
try {
|
|
46
89
|
// 清除该文件的模块缓存
|
|
47
90
|
clearModuleCache(filePath);
|
|
@@ -49,6 +92,7 @@ export function setupHotReload(config, routeManager, mockConfig) {
|
|
|
49
92
|
if (result) {
|
|
50
93
|
routeManager.setRoute(result.key, result.route);
|
|
51
94
|
logger.success(`✓ 已更新路由: ${result.key}`);
|
|
95
|
+
console.log(`[热重载] 路由已更新: ${result.key}`);
|
|
52
96
|
}
|
|
53
97
|
else {
|
|
54
98
|
logger.warn(`⚠️ 无法从修改的文件加载路由: ${path.relative(mockDir, filePath)}`);
|
|
@@ -56,6 +100,7 @@ export function setupHotReload(config, routeManager, mockConfig) {
|
|
|
56
100
|
}
|
|
57
101
|
catch (error) {
|
|
58
102
|
logger.error(`❌ 更新文件失败: ${error instanceof Error ? error.message : '未知错误'}`);
|
|
103
|
+
console.error(`[热重载] 更新失败:`, error);
|
|
59
104
|
}
|
|
60
105
|
})
|
|
61
106
|
.on('unlink', async (filePath) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../../src/server/hot-reload.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAKxE;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAoB,EACpB,YAA0B,EAC1B,UAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,aAAa;IACb,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE;QAC3C,OAAO,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;QAC9C,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI,EAAE,SAAS;QAC9B,gBAAgB,EAAE;YAChB,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../../src/server/hot-reload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-proxy.d.ts","sourceRoot":"","sources":["../../../src/server/remote-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-proxy.d.ts","sourceRoot":"","sources":["../../../src/server/remote-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA+B1C;;OAEG;IACH,wBAAwB,IAAI,OAAO;CAGpC"}
|
|
@@ -14,7 +14,7 @@ export class RemoteProxy {
|
|
|
14
14
|
const remoteUrl = `${target.replace(/\/$/, '')}${req.path}`;
|
|
15
15
|
const queryString = new URLSearchParams(req.query).toString();
|
|
16
16
|
const fullUrl = queryString ? `${remoteUrl}?${queryString}` : remoteUrl;
|
|
17
|
-
logger.
|
|
17
|
+
logger.info(`🌐 代理请求到: ${fullUrl}`);
|
|
18
18
|
try {
|
|
19
19
|
const response = await fetch(fullUrl, {
|
|
20
20
|
method: req.method,
|
|
@@ -28,10 +28,11 @@ export class RemoteProxy {
|
|
|
28
28
|
throw new Error(`远程服务器响应错误: ${response.status} ${response.statusText}`);
|
|
29
29
|
}
|
|
30
30
|
const data = await response.json();
|
|
31
|
+
logger.info(`✅ 远程服务器响应成功: ${response.status}`);
|
|
31
32
|
return data;
|
|
32
33
|
}
|
|
33
34
|
catch (error) {
|
|
34
|
-
logger.error(
|
|
35
|
+
logger.error(`❌ 代理请求失败: ${error instanceof Error ? error.message : '未知错误'}`);
|
|
35
36
|
throw error;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-proxy.js","sourceRoot":"","sources":["../../../src/server/remote-proxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,WAAW;IAGtB,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,GAAQ;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"remote-proxy.js","sourceRoot":"","sources":["../../../src/server/remote-proxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,WAAW;IAGtB,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,GAAQ;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,GAAG,CAAC,OAAO;iBACf;gBACD,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-handler.d.ts","sourceRoot":"","sources":["../../../src/server/route-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAM1D;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBzD;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;YACW,iBAAiB;IAW/B;;OAEG;YACW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"route-handler.d.ts","sourceRoot":"","sources":["../../../src/server/route-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAM1D;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBzD;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;YACW,iBAAiB;IAW/B;;OAEG;YACW,gBAAgB;CAwD/B"}
|
|
@@ -43,7 +43,7 @@ export class RouteHandler {
|
|
|
43
43
|
try {
|
|
44
44
|
const proxyData = await this.remoteProxy.proxyRequest(req);
|
|
45
45
|
res.json(proxyData);
|
|
46
|
-
logger.
|
|
46
|
+
logger.success(`${req.method} ${req.path} -> 200 (远程服务器)`);
|
|
47
47
|
return true;
|
|
48
48
|
}
|
|
49
49
|
catch (error) {
|
|
@@ -93,7 +93,13 @@ export class RouteHandler {
|
|
|
93
93
|
}
|
|
94
94
|
// 返回 Mock 数据
|
|
95
95
|
res.status(route.status || 200).json(responseData);
|
|
96
|
-
|
|
96
|
+
// 判断数据来源
|
|
97
|
+
const dataSource = responseData && typeof responseData === 'object' && responseData.code !== undefined
|
|
98
|
+
? responseData.code === 0
|
|
99
|
+
? '本地Mock'
|
|
100
|
+
: '远程服务器'
|
|
101
|
+
: '本地Mock';
|
|
102
|
+
logger.success(`${route.method} ${route.path} -> ${route.status || 200} (${dataSource})`);
|
|
97
103
|
return true;
|
|
98
104
|
}
|
|
99
105
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-handler.js","sourceRoot":"","sources":["../../../src/server/route-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,YAAY;IAKvB,YAAY,MAAkB,EAAE,YAA0B;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,GAAQ,EAAE,GAAQ;QACpC,IAAI,CAAC;YACH,kBAAkB;YAClB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YACpD,MAAM,aAAa,GACjB,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAEpF,eAAe;YACf,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5D,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YAED,WAAW;YACX,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,GAAQ,EAAE,GAAQ;QACjD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"route-handler.js","sourceRoot":"","sources":["../../../src/server/route-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-loader.d.ts","sourceRoot":"","sources":["../../../src/server/route-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAOhE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,QAMjD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"route-loader.d.ts","sourceRoot":"","sources":["../../../src/server/route-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAOhE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,QAMjD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC,CA6GtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAAC,CAgHnD"}
|
|
@@ -65,18 +65,35 @@ export async function loadMockRoutes(config, mockConfig) {
|
|
|
65
65
|
logger.warn(`${path.relative(mockDir, filePath)} 未找到方法 ${methodName} 的处理函数,跳过`);
|
|
66
66
|
continue;
|
|
67
67
|
}
|
|
68
|
+
// 获取实际的函数名(如果存在)
|
|
69
|
+
const actualFunctionName = handlerFunction.name || methodName;
|
|
68
70
|
routes.push({
|
|
69
71
|
path: routeInfo.path,
|
|
70
72
|
method: routeInfo.method,
|
|
71
73
|
response: async (req) => {
|
|
72
|
-
// 检查是否有 check
|
|
73
|
-
const checkFunctionName = `check${
|
|
74
|
+
// 检查是否有 check 函数,使用实际的函数名
|
|
75
|
+
const checkFunctionName = `check${actualFunctionName}`;
|
|
74
76
|
const checkFunction = mockModule[checkFunctionName];
|
|
75
77
|
if (checkFunction && typeof checkFunction === 'function') {
|
|
76
78
|
const useLocalMock = checkFunction();
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
if (useLocalMock) {
|
|
80
|
+
// 使用本地 Mock 数据
|
|
81
|
+
logger.debug(`使用本地 Mock 数据: ${routeInfo.method} ${routeInfo.path}`);
|
|
82
|
+
return handlerFunction(req.query, req.body, { req });
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// 使用远程服务器数据
|
|
86
|
+
const { RemoteProxy } = await import('./remote-proxy.js');
|
|
87
|
+
const remoteProxy = new RemoteProxy(mockConfig);
|
|
88
|
+
if (remoteProxy.isRemoteServerConfigured()) {
|
|
89
|
+
logger.debug(`使用远程服务器数据: ${routeInfo.method} ${routeInfo.path}`);
|
|
90
|
+
return remoteProxy.proxyRequest(req);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
logger.warn(`远程服务器未配置,回退到本地 Mock: ${routeInfo.method} ${routeInfo.path}`);
|
|
94
|
+
return handlerFunction(req.query, req.body, { req });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
80
97
|
}
|
|
81
98
|
else {
|
|
82
99
|
// 没有 check 函数,直接使用本地 Mock 数据
|
|
@@ -116,11 +133,16 @@ export async function loadRouteFromFile(filePath, mockDir, config, mockConfig) {
|
|
|
116
133
|
const cacheBuster = `?v=${version}&t=${Date.now()}&r=${Math.random()}`;
|
|
117
134
|
const mockModule = await import(fileUrl + cacheBuster);
|
|
118
135
|
// 获取导出的函数
|
|
119
|
-
const
|
|
136
|
+
const methodName = routeInfo.method.charAt(0).toUpperCase() + routeInfo.method.slice(1).toLowerCase();
|
|
137
|
+
const handlerFunction = mockModule[methodName] ||
|
|
138
|
+
mockModule[`${methodName}Role`] || // 尝试 PostRole, GetRole 等
|
|
139
|
+
mockModule.default ||
|
|
120
140
|
Object.values(mockModule).find(exp => typeof exp === 'function' && exp.name);
|
|
121
141
|
if (!handlerFunction || typeof handlerFunction !== 'function') {
|
|
122
142
|
return null;
|
|
123
143
|
}
|
|
144
|
+
// 获取实际的函数名(如果存在)
|
|
145
|
+
const actualFunctionName = handlerFunction.name || methodName;
|
|
124
146
|
const key = `${routeInfo.method} ${routeInfo.path}`;
|
|
125
147
|
const route = {
|
|
126
148
|
path: routeInfo.path,
|
|
@@ -132,14 +154,18 @@ export async function loadRouteFromFile(filePath, mockDir, config, mockConfig) {
|
|
|
132
154
|
const latestVersion = moduleCache.get(filePath) || version;
|
|
133
155
|
const cacheBuster = `?v=${latestVersion}&t=${Date.now()}&r=${Math.random()}`;
|
|
134
156
|
const latestModule = await import(fileUrl + cacheBuster);
|
|
135
|
-
|
|
157
|
+
// 使用与初始加载相同的逻辑来查找处理函数
|
|
158
|
+
const methodName = routeInfo.method.charAt(0).toUpperCase() + routeInfo.method.slice(1).toLowerCase();
|
|
159
|
+
const latestHandler = latestModule[methodName] ||
|
|
160
|
+
latestModule[`${methodName}Role`] || // 尝试 PostRole, GetRole 等
|
|
161
|
+
latestModule.default ||
|
|
136
162
|
Object.values(latestModule).find(exp => typeof exp === 'function' && exp.name);
|
|
137
163
|
if (!latestHandler || typeof latestHandler !== 'function') {
|
|
138
164
|
return handlerFunction(req.query, req.body, { req });
|
|
139
165
|
}
|
|
140
|
-
// 检查 check
|
|
141
|
-
const
|
|
142
|
-
const checkFunctionName = `check${
|
|
166
|
+
// 检查 check 函数,使用实际的函数名
|
|
167
|
+
const actualFunctionName = latestHandler.name || methodName;
|
|
168
|
+
const checkFunctionName = `check${actualFunctionName}`;
|
|
143
169
|
const checkFunction = latestModule[checkFunctionName];
|
|
144
170
|
if (checkFunction && typeof checkFunction === 'function') {
|
|
145
171
|
const useLocalMock = checkFunction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-loader.js","sourceRoot":"","sources":["../../../src/server/route-loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"route-loader.js","sourceRoot":"","sources":["../../../src/server/route-loader.ts"],"names":[],"mappings":"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"}
|