apifox-mock-generator 1.0.0 → 1.2.0
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 +129 -1
- package/README.md +195 -63
- package/dist/package.json +1 -1
- package/dist/src/core/apifox-client.d.ts.map +1 -1
- package/dist/src/core/apifox-client.js +16 -23
- package/dist/src/core/apifox-client.js.map +1 -1
- package/dist/src/core/endpoint-filter.d.ts.map +1 -1
- package/dist/src/core/endpoint-filter.js +35 -5
- package/dist/src/core/endpoint-filter.js.map +1 -1
- package/dist/src/core/openapi-converter.d.ts.map +1 -1
- package/dist/src/core/openapi-converter.js +3 -2
- package/dist/src/core/openapi-converter.js.map +1 -1
- package/dist/src/generators/mock-generator.d.ts +2 -2
- package/dist/src/generators/mock-generator.d.ts.map +1 -1
- package/dist/src/generators/mock-generator.js +37 -9
- package/dist/src/generators/mock-generator.js.map +1 -1
- package/dist/src/generators/templates/file-architecture.d.ts +10 -0
- package/dist/src/generators/templates/file-architecture.d.ts.map +1 -0
- package/dist/src/generators/templates/file-architecture.js +18 -0
- package/dist/src/generators/templates/file-architecture.js.map +1 -0
- package/dist/src/generators/templates/mock-template.d.ts +2 -2
- package/dist/src/generators/templates/mock-template.d.ts.map +1 -1
- package/dist/src/generators/templates/mock-template.js +196 -103
- package/dist/src/generators/templates/mock-template.js.map +1 -1
- package/dist/src/generators/templates/smart-mock-rules.d.ts +47 -0
- package/dist/src/generators/templates/smart-mock-rules.d.ts.map +1 -0
- package/dist/src/generators/templates/smart-mock-rules.js +643 -0
- package/dist/src/generators/templates/smart-mock-rules.js.map +1 -0
- package/dist/src/generators/templates/type-template.d.ts +2 -14
- package/dist/src/generators/templates/type-template.d.ts.map +1 -1
- package/dist/src/generators/templates/type-template.js +279 -147
- package/dist/src/generators/templates/type-template.js.map +1 -1
- package/dist/src/generators/type-generator.d.ts.map +1 -1
- package/dist/src/generators/type-generator.js +2 -2
- package/dist/src/generators/type-generator.js.map +1 -1
- package/dist/src/types/index.d.ts +6 -4
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/mock/list.d.ts +12 -0
- package/dist/src/types/mock/list.d.ts.map +1 -0
- package/dist/src/types/mock/list.js +4 -0
- package/dist/src/types/mock/list.js.map +1 -0
- package/dist/src/types/mock/test.d.ts +12 -0
- package/dist/src/types/mock/test.d.ts.map +1 -0
- package/dist/src/types/mock/test.js +4 -0
- package/dist/src/types/mock/test.js.map +1 -0
- package/dist/src/types/mock/v1/auth/captcha.d.ts +18 -0
- package/dist/src/types/mock/v1/auth/captcha.d.ts.map +1 -0
- package/dist/src/types/mock/v1/auth/captcha.js +4 -0
- package/dist/src/types/mock/v1/auth/captcha.js.map +1 -0
- package/dist/src/types/mock/v1/auth/login/tenant.d.ts +26 -0
- package/dist/src/types/mock/v1/auth/login/tenant.d.ts.map +1 -0
- package/dist/src/types/mock/v1/auth/login/tenant.js +4 -0
- package/dist/src/types/mock/v1/auth/login/tenant.js.map +1 -0
- package/dist/src/types/mock/v1/auth/login/username.d.ts +40 -0
- package/dist/src/types/mock/v1/auth/login/username.d.ts.map +1 -0
- package/dist/src/types/mock/v1/auth/login/username.js +4 -0
- package/dist/src/types/mock/v1/auth/login/username.js.map +1 -0
- package/dist/src/types/mock/v1/auth/logout.d.ts +12 -0
- package/dist/src/types/mock/v1/auth/logout.d.ts.map +1 -0
- package/dist/src/types/mock/v1/auth/logout.js +4 -0
- package/dist/src/types/mock/v1/auth/logout.js.map +1 -0
- package/dist/src/types/mock/v1/role/list.d.ts +36 -0
- package/dist/src/types/mock/v1/role/list.d.ts.map +1 -0
- package/dist/src/types/mock/v1/role/list.js +4 -0
- package/dist/src/types/mock/v1/role/list.js.map +1 -0
- package/dist/src/types/mock/v1/role/permissions.d.ts +24 -0
- package/dist/src/types/mock/v1/role/permissions.d.ts.map +1 -0
- package/dist/src/types/mock/v1/role/permissions.js +4 -0
- package/dist/src/types/mock/v1/role/permissions.js.map +1 -0
- package/dist/src/types/mock/v1/role.d.ts +91 -0
- package/dist/src/types/mock/v1/role.d.ts.map +1 -0
- package/dist/src/types/mock/v1/role.js +4 -0
- package/dist/src/types/mock/v1/role.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/permissions.d.ts +33 -0
- package/dist/src/types/mock/v1/tenant/permissions.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/permissions.js +4 -0
- package/dist/src/types/mock/v1/tenant/permissions.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/disabled.d.ts +24 -0
- package/dist/src/types/mock/v1/tenant/user/disabled.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/disabled.js +4 -0
- package/dist/src/types/mock/v1/tenant/user/disabled.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/list.d.ts +46 -0
- package/dist/src/types/mock/v1/tenant/user/list.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/list.js +4 -0
- package/dist/src/types/mock/v1/tenant/user/list.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/role.d.ts +24 -0
- package/dist/src/types/mock/v1/tenant/user/role.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/role.js +4 -0
- package/dist/src/types/mock/v1/tenant/user/role.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/unlink.d.ts +12 -0
- package/dist/src/types/mock/v1/tenant/user/unlink.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/unlink.js +4 -0
- package/dist/src/types/mock/v1/tenant/user/unlink.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/user.d.ts +36 -0
- package/dist/src/types/mock/v1/tenant/user.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/user.js +4 -0
- package/dist/src/types/mock/v1/tenant/user.js.map +1 -0
- package/dist/src/types/mock/v1/user/avatar.d.ts +22 -0
- package/dist/src/types/mock/v1/user/avatar.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/avatar.js +4 -0
- package/dist/src/types/mock/v1/user/avatar.js.map +1 -0
- package/dist/src/types/mock/v1/user/info.d.ts +36 -0
- package/dist/src/types/mock/v1/user/info.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/info.js +4 -0
- package/dist/src/types/mock/v1/user/info.js.map +1 -0
- package/dist/src/types/mock/v1/user/password.d.ts +24 -0
- package/dist/src/types/mock/v1/user/password.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/password.js +4 -0
- package/dist/src/types/mock/v1/user/password.js.map +1 -0
- package/dist/src/types/mock/v1/user/permissions.d.ts +33 -0
- package/dist/src/types/mock/v1/user/permissions.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/permissions.js +4 -0
- package/dist/src/types/mock/v1/user/permissions.js.map +1 -0
- package/dist/src/types/mock/v1/user/self.d.ts +22 -0
- package/dist/src/types/mock/v1/user/self.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/self.js +4 -0
- package/dist/src/types/mock/v1/user/self.js.map +1 -0
- package/dist/src/types/mock/v1/user.d.ts +34 -0
- package/dist/src/types/mock/v1/user.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user.js +4 -0
- package/dist/src/types/mock/v1/user.js.map +1 -0
- package/dist/src/utils/code-formatter.js +1 -1
- package/dist/src/utils/code-formatter.js.map +1 -1
- package/dist/src/utils/type-mapping.d.ts.map +1 -1
- package/dist/src/utils/type-mapping.js +7 -1
- package/dist/src/utils/type-mapping.js.map +1 -1
- package/package.json +60 -60
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mapTypeToLodashCheck } from '../../utils/type-mapping.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* 生成单个接口的 Mock 内容(不包含 import 语句)
|
|
4
4
|
*/
|
|
5
|
-
export function
|
|
5
|
+
export function generateMockEndpointContent(endpoint, definitions) {
|
|
6
6
|
const method = endpoint.method.toUpperCase();
|
|
7
7
|
// 生成方法前缀和命名空间(用于注释标记)
|
|
8
8
|
const methodPrefix = endpoint.method.charAt(0).toUpperCase() + endpoint.method.slice(1).toLowerCase();
|
|
@@ -15,7 +15,8 @@ export function generateMockFileContent(endpoint, definitions) {
|
|
|
15
15
|
// 生成参数校验数组
|
|
16
16
|
const mockParams = generateMockParams(endpoint);
|
|
17
17
|
// 生成 Mock.js 模板(用于响应数据)
|
|
18
|
-
const
|
|
18
|
+
const interfaceInfo = `${endpoint.path}[${method}]`;
|
|
19
|
+
const mockTemplate = generateMockTemplateForResponse(endpoint.responseBody, definitions, '\t\t\t\t\t', interfaceInfo);
|
|
19
20
|
// 生成注释标记
|
|
20
21
|
const commentTag = `${endpoint.path}[${method}]`;
|
|
21
22
|
const content = `//[start]${commentTag}
|
|
@@ -24,11 +25,8 @@ export function generateMockFileContent(endpoint, definitions) {
|
|
|
24
25
|
* @apiURI ${endpoint.path}
|
|
25
26
|
* @apiRequestType ${method}
|
|
26
27
|
*/
|
|
27
|
-
import Mock from "mockjs";
|
|
28
|
-
import lodash from "lodash";
|
|
29
|
-
|
|
30
28
|
export const check_${namespaceName} = function () {
|
|
31
|
-
\t//
|
|
29
|
+
\t//true 本地数据, false 远程服务器数据
|
|
32
30
|
\treturn false;
|
|
33
31
|
};
|
|
34
32
|
|
|
@@ -63,7 +61,7 @@ export function ${namespaceName}(query, body, ctx) {
|
|
|
63
61
|
return new Promise(res => {
|
|
64
62
|
setTimeout(() => {
|
|
65
63
|
res(Mock.mock(${mockTemplate}))
|
|
66
|
-
}, Math.random() *
|
|
64
|
+
}, Math.random() * 300)
|
|
67
65
|
|
|
68
66
|
})
|
|
69
67
|
;
|
|
@@ -71,8 +69,8 @@ export function ${namespaceName}(query, body, ctx) {
|
|
|
71
69
|
|
|
72
70
|
|
|
73
71
|
return {
|
|
74
|
-
code: 1,
|
|
75
|
-
msg: '请检查请求的method或者URI的query是否正确'
|
|
72
|
+
"code": 1,
|
|
73
|
+
"msg": '请检查请求的method或者URI的query是否正确'
|
|
76
74
|
};
|
|
77
75
|
}
|
|
78
76
|
//[end]${commentTag}
|
|
@@ -129,14 +127,14 @@ function extractParamsFromSchema(schema, required = []) {
|
|
|
129
127
|
/**
|
|
130
128
|
* 生成 Mock.js 响应模板(格式化为对象字面量)
|
|
131
129
|
*/
|
|
132
|
-
function generateMockTemplateForResponse(schema, definitions, indent = '\t\t\t\t\t') {
|
|
130
|
+
function generateMockTemplateForResponse(schema, definitions, indent = '\t\t\t\t\t', interfaceInfo) {
|
|
133
131
|
if (!schema)
|
|
134
132
|
return '{}';
|
|
135
133
|
// 处理引用
|
|
136
134
|
if (schema.$ref) {
|
|
137
135
|
const refName = schema.$ref.split('/').pop();
|
|
138
136
|
if (definitions?.[refName]) {
|
|
139
|
-
return generateMockTemplateForResponse(definitions[refName], definitions, indent);
|
|
137
|
+
return generateMockTemplateForResponse(definitions[refName], definitions, indent, interfaceInfo);
|
|
140
138
|
}
|
|
141
139
|
}
|
|
142
140
|
// 根据类型生成模板
|
|
@@ -147,45 +145,133 @@ function generateMockTemplateForResponse(schema, definitions, indent = '\t\t\t\t
|
|
|
147
145
|
}
|
|
148
146
|
let objContent = '{';
|
|
149
147
|
const props = Object.entries(schema.properties);
|
|
148
|
+
// 检查是否同时存在 code 和 msg 字段
|
|
149
|
+
const hasCode = props.some(([key]) => key === 'code');
|
|
150
|
+
const hasMsg = props.some(([key]) => key === 'msg');
|
|
151
|
+
const needsSharedRandom = hasCode && hasMsg;
|
|
150
152
|
props.forEach(([key, prop], index) => {
|
|
151
153
|
const propSchema = prop;
|
|
152
|
-
|
|
154
|
+
let mockValue = generateMockValueForField(key, propSchema, definitions, interfaceInfo);
|
|
155
|
+
// 如果同时存在 code 和 msg 字段,使用共享的随机数
|
|
156
|
+
if (needsSharedRandom) {
|
|
157
|
+
if (key === 'code' && (propSchema.type === 'integer' || propSchema.type === 'number')) {
|
|
158
|
+
mockValue = 'randomCode';
|
|
159
|
+
}
|
|
160
|
+
else if (key === 'msg' && propSchema.type === 'string') {
|
|
161
|
+
const apiInfo = interfaceInfo;
|
|
162
|
+
mockValue = `randomCode === 1 ? "接口调用失败:${apiInfo}" : "接口调用成功"`;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
153
165
|
const comma = index < props.length - 1 ? ',' : '';
|
|
154
|
-
|
|
166
|
+
// 添加字段说明作为行内注释
|
|
167
|
+
let comment = '';
|
|
168
|
+
const fieldDesc = propSchema.title || propSchema.description || '';
|
|
169
|
+
// 处理枚举类型,展示枚举选项
|
|
170
|
+
if (propSchema['x-apifox-enum'] && Array.isArray(propSchema['x-apifox-enum'])) {
|
|
171
|
+
const enumItems = propSchema['x-apifox-enum']
|
|
172
|
+
.map((item) => `${item.value}:${item.name}`)
|
|
173
|
+
.join(', ');
|
|
174
|
+
if (enumItems) {
|
|
175
|
+
// 如果有字段说明,格式为:// 字段说明 枚举选项
|
|
176
|
+
comment = fieldDesc ? ` // ${fieldDesc} ${enumItems}` : ` // ${enumItems}`;
|
|
177
|
+
}
|
|
178
|
+
else if (fieldDesc) {
|
|
179
|
+
comment = ` // ${fieldDesc}`;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else if (fieldDesc) {
|
|
183
|
+
comment = ` // ${fieldDesc}`;
|
|
184
|
+
}
|
|
185
|
+
// 强制所有键名都使用双引号包裹,保持一致性
|
|
186
|
+
const fieldKey = propSchema.type === 'array' ? `"${key}|0-11"` : `"${key}"`;
|
|
187
|
+
objContent += `\n${indent}${fieldKey}: ${mockValue}${comma}${comment}`;
|
|
155
188
|
});
|
|
156
189
|
objContent += `\n${indent.slice(0, -1)}}`; // 减少一级缩进
|
|
190
|
+
// 如果同时存在 code 和 msg 字段,需要包装一个函数来生成共享的随机数
|
|
191
|
+
if (needsSharedRandom) {
|
|
192
|
+
const apiInfo = interfaceInfo || '接口';
|
|
193
|
+
return `(() => {
|
|
194
|
+
const randomCode = Math.random() < 0.5 ? 1 : 0;
|
|
195
|
+
return ${objContent};
|
|
196
|
+
})()`;
|
|
197
|
+
}
|
|
157
198
|
return objContent;
|
|
158
199
|
case 'array':
|
|
159
|
-
const itemTemplate = generateMockTemplateForResponse(schema.items, definitions, indent + '\t');
|
|
200
|
+
const itemTemplate = generateMockTemplateForResponse(schema.items, definitions, indent + '\t', interfaceInfo);
|
|
160
201
|
return `[${itemTemplate}]`;
|
|
161
202
|
default:
|
|
162
|
-
return generateMockValueForField('', schema, definitions);
|
|
203
|
+
return generateMockValueForField('', schema, definitions, interfaceInfo);
|
|
163
204
|
}
|
|
164
205
|
}
|
|
165
206
|
/**
|
|
166
|
-
* 为单个字段生成 Mock
|
|
207
|
+
* 为单个字段生成 Mock 值(直接使用 Apifox mock 规则)
|
|
167
208
|
*/
|
|
168
|
-
function generateMockValueForField(fieldName, schema, definitions) {
|
|
209
|
+
function generateMockValueForField(fieldName, schema, definitions, interfaceInfo) {
|
|
169
210
|
if (!schema)
|
|
170
211
|
return 'null';
|
|
171
212
|
// 处理引用
|
|
172
213
|
if (schema.$ref) {
|
|
173
214
|
const refName = schema.$ref.split('/').pop();
|
|
174
215
|
if (definitions?.[refName]) {
|
|
175
|
-
return generateMockValueForField(fieldName, definitions[refName], definitions);
|
|
216
|
+
return generateMockValueForField(fieldName, definitions[refName], definitions, interfaceInfo);
|
|
176
217
|
}
|
|
177
218
|
}
|
|
219
|
+
// 特殊处理 code 字段,生成随机 0 或 1
|
|
220
|
+
if (fieldName === 'code' && (schema.type === 'integer' || schema.type === 'number')) {
|
|
221
|
+
return 'Math.random() < 0.5 ? 1 : 0';
|
|
222
|
+
}
|
|
223
|
+
// 特殊处理 msg 字段,根据 code 值生成相应消息
|
|
224
|
+
if (fieldName === 'msg' && schema.type === 'string') {
|
|
225
|
+
const apiInfo = interfaceInfo || '接口';
|
|
226
|
+
return `Math.random() < 0.5 ? "接口调用失败:${apiInfo}" : "接口调用成功"`;
|
|
227
|
+
}
|
|
228
|
+
// 使用 Apifox 的 mock 规则
|
|
229
|
+
const apifoxMockValue = extractApifoxMockRule(schema);
|
|
230
|
+
if (apifoxMockValue) {
|
|
231
|
+
return wrapMockTemplate(apifoxMockValue);
|
|
232
|
+
}
|
|
233
|
+
// 如果没有 Apifox 规则,使用基本的默认值
|
|
178
234
|
switch (schema.type) {
|
|
179
235
|
case 'string':
|
|
180
|
-
|
|
236
|
+
// 优先使用示例值
|
|
237
|
+
if (schema.example !== undefined) {
|
|
238
|
+
return `"${schema.example}"`;
|
|
239
|
+
}
|
|
240
|
+
// 使用枚举值
|
|
241
|
+
if (schema.enum && schema.enum.length > 0) {
|
|
242
|
+
const enumValues = schema.enum.map((v) => `"${v}"`).join(', ');
|
|
243
|
+
return wrapMockTemplate(`@pick([${enumValues}])`);
|
|
244
|
+
}
|
|
245
|
+
return wrapMockTemplate('@cword(3, 8)');
|
|
181
246
|
case 'number':
|
|
182
247
|
case 'integer':
|
|
183
|
-
|
|
248
|
+
// 优先使用示例值
|
|
249
|
+
if (schema.example !== undefined) {
|
|
250
|
+
return schema.example.toString();
|
|
251
|
+
}
|
|
252
|
+
// 使用枚举值
|
|
253
|
+
if (schema.enum && schema.enum.length > 0) {
|
|
254
|
+
const enumValues = schema.enum.join(', ');
|
|
255
|
+
return wrapMockTemplate(`@pick([${enumValues}])`);
|
|
256
|
+
}
|
|
257
|
+
// 使用范围
|
|
258
|
+
const min = schema.minimum ?? 0;
|
|
259
|
+
const max = schema.maximum ?? 100;
|
|
260
|
+
if (schema.type === 'integer') {
|
|
261
|
+
return wrapMockTemplate(`@integer(${min}, ${max})`);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
return wrapMockTemplate(`@float(${min}, ${max}, 2, 2)`);
|
|
265
|
+
}
|
|
184
266
|
case 'boolean':
|
|
185
|
-
//
|
|
186
|
-
|
|
267
|
+
// 优先使用示例值
|
|
268
|
+
if (schema.example !== undefined) {
|
|
269
|
+
return schema.example.toString();
|
|
270
|
+
}
|
|
271
|
+
return wrapMockTemplate('@boolean');
|
|
187
272
|
case 'array':
|
|
188
|
-
|
|
273
|
+
const itemTemplate = generateMockTemplateForResponse(schema.items, definitions);
|
|
274
|
+
return `[${itemTemplate}]`;
|
|
189
275
|
case 'object':
|
|
190
276
|
return generateMockTemplateForResponse(schema, definitions);
|
|
191
277
|
default:
|
|
@@ -193,91 +279,98 @@ function generateMockValueForField(fieldName, schema, definitions) {
|
|
|
193
279
|
}
|
|
194
280
|
}
|
|
195
281
|
/**
|
|
196
|
-
*
|
|
282
|
+
* 提取 Apifox 的 mock 规则
|
|
283
|
+
* Apifox 的 mock 规则存储在 x-apifox-mock 字段中
|
|
197
284
|
*/
|
|
198
|
-
function
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
if (
|
|
204
|
-
return
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
285
|
+
function extractApifoxMockRule(schema) {
|
|
286
|
+
if (!schema)
|
|
287
|
+
return null;
|
|
288
|
+
// 检查是否有 Apifox 的 mock 规则(存储在 x-apifox-mock 字段)
|
|
289
|
+
const apifoxMock = schema['x-apifox-mock'];
|
|
290
|
+
if (!apifoxMock) {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
let mockRule = null;
|
|
294
|
+
// x-apifox-mock 可能是字符串或对象
|
|
295
|
+
if (typeof apifoxMock === 'string') {
|
|
296
|
+
mockRule = apifoxMock;
|
|
297
|
+
}
|
|
298
|
+
else if (typeof apifoxMock === 'object' && apifoxMock.mock) {
|
|
299
|
+
mockRule = apifoxMock.mock;
|
|
300
|
+
}
|
|
301
|
+
if (!mockRule) {
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
// 转换 Apifox 模板语法为 Mock.js 语法
|
|
305
|
+
const convertedRule = convertApifoxTemplateToMockJs(mockRule);
|
|
306
|
+
return convertedRule;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* 转换 Apifox 模板语法为 Mock.js 语法
|
|
310
|
+
* Apifox 使用 {{...}} 语法,需要转换为 Mock.js 的 @xxx 语法
|
|
311
|
+
*/
|
|
312
|
+
function convertApifoxTemplateToMockJs(template) {
|
|
313
|
+
// 如果已经是 Mock.js 语法(以 @ 开头),直接返回
|
|
314
|
+
if (template.startsWith('@') || template.startsWith('/')) {
|
|
315
|
+
return template;
|
|
220
316
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
317
|
+
// 如果是 Apifox 的模板语法 {{...}},尝试转换
|
|
318
|
+
if (template.includes('{{') && template.includes('}}')) {
|
|
319
|
+
// Apifox 常见模板映射到 Mock.js
|
|
320
|
+
const mappings = {
|
|
321
|
+
'{{$string.uuid}}': '@guid',
|
|
322
|
+
'{{$person.fullName}}': '@cname',
|
|
323
|
+
"{{$person.fullName(locale='zh_CN')}}": '@cname',
|
|
324
|
+
"{{$person.fullName(locale='en_US')}}": '@name',
|
|
325
|
+
'{{$person.firstName}}': '@cfirst',
|
|
326
|
+
'{{$person.lastName}}': '@clast',
|
|
327
|
+
'{{$internet.email}}': '@email',
|
|
328
|
+
'{{$internet.url}}': '@url',
|
|
329
|
+
'{{$internet.ip}}': '@ip',
|
|
330
|
+
'{{$phone.number}}': '/^1[3-9]\\d{9}$/',
|
|
331
|
+
'{{$address.city}}': '@city',
|
|
332
|
+
'{{$address.province}}': '@province',
|
|
333
|
+
'{{$address.county}}': '@county',
|
|
334
|
+
'{{$date.now}}': '@now',
|
|
335
|
+
'{{$date.recent}}': '@datetime',
|
|
336
|
+
'{{$image.image}}': '@image',
|
|
337
|
+
'{{$string.sample}}': '@cword(3, 8)',
|
|
338
|
+
'{{$number.int}}': '@integer(0, 100)',
|
|
339
|
+
'{{$number.float}}': '@float(0, 100, 2, 2)',
|
|
340
|
+
'{{$boolean}}': '@boolean'
|
|
341
|
+
};
|
|
342
|
+
// 尝试精确匹配
|
|
343
|
+
if (mappings[template]) {
|
|
344
|
+
return mappings[template];
|
|
345
|
+
}
|
|
346
|
+
// 尝试模糊匹配常见模式
|
|
347
|
+
for (const [pattern, replacement] of Object.entries(mappings)) {
|
|
348
|
+
if (template.includes(pattern.replace('{{', '').replace('}}', ''))) {
|
|
349
|
+
return replacement;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
// 如果无法转换,返回空字符串(使用回退策略)
|
|
353
|
+
return '';
|
|
354
|
+
}
|
|
355
|
+
return template;
|
|
252
356
|
}
|
|
253
357
|
/**
|
|
254
|
-
*
|
|
358
|
+
* 包装 Mock.js 模板,确保正确的引号格式
|
|
359
|
+
* Mock.js 占位符(@xxx)需要用单引号包裹
|
|
255
360
|
*/
|
|
256
|
-
function
|
|
257
|
-
//
|
|
258
|
-
if (
|
|
259
|
-
return
|
|
361
|
+
function wrapMockTemplate(template) {
|
|
362
|
+
// 如果已经是用引号包裹的字符串,直接返回(使用单引号)
|
|
363
|
+
if (template.startsWith('"') && template.endsWith('"')) {
|
|
364
|
+
return "'" + template.slice(1, -1) + "'";
|
|
365
|
+
}
|
|
366
|
+
if (template.startsWith("'") && template.endsWith("'")) {
|
|
367
|
+
return template;
|
|
260
368
|
}
|
|
261
|
-
//
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
// code 字段通常 0 表示成功
|
|
265
|
-
return 'Number(Math.random() < 0)'; // 永远返回 0
|
|
369
|
+
// 如果是 Mock.js 占位符(以@开头)或正则表达式(以/开头),用单引号包裹
|
|
370
|
+
if (template.startsWith('@') || template.startsWith('/')) {
|
|
371
|
+
return `'${template}'`;
|
|
266
372
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (name.includes('price') || name.includes('amount') || name.includes('money'))
|
|
270
|
-
return 'Number((Math.random() * 10000).toFixed(2))';
|
|
271
|
-
if (name.includes('count') || name.includes('num') || name.includes('total'))
|
|
272
|
-
return 'Math.floor(Math.random() * 1000)';
|
|
273
|
-
if (name.includes('page'))
|
|
274
|
-
return 'Math.floor(Math.random() * 100) + 1';
|
|
275
|
-
if (name.includes('size') || name.includes('limit'))
|
|
276
|
-
return 'Math.floor(Math.random() * 90) + 10';
|
|
277
|
-
// 3. 示例值
|
|
278
|
-
if (schema.example !== undefined)
|
|
279
|
-
return schema.example.toString();
|
|
280
|
-
// 4. 默认规则
|
|
281
|
-
return 'Math.floor(Math.random() * 100)';
|
|
373
|
+
// 其他情况(数字、布尔值、函数调用等)直接返回
|
|
374
|
+
return template;
|
|
282
375
|
}
|
|
283
376
|
//# sourceMappingURL=mock-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-template.js","sourceRoot":"","sources":["../../../../src/generators/templates/mock-template.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mock-template.js","sourceRoot":"","sources":["../../../../src/generators/templates/mock-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apifox 智能 Mock 规则引擎
|
|
3
|
+
* 根据字段名称、类型、格式等信息,智能推断合适的 Mock 数据
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 字段识别规则配置
|
|
7
|
+
*/
|
|
8
|
+
interface FieldPattern {
|
|
9
|
+
/** 字段名模式(支持正则) */
|
|
10
|
+
patterns: string[];
|
|
11
|
+
/** Mock.js 模板 */
|
|
12
|
+
mockTemplate: string;
|
|
13
|
+
/** 优先级(数字越大优先级越高) */
|
|
14
|
+
priority: number;
|
|
15
|
+
/** 描述 */
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 智能匹配字段名,返回对应的 Mock 模板
|
|
20
|
+
*/
|
|
21
|
+
export declare function matchFieldPattern(fieldName: string, fieldType: 'string' | 'number' | 'integer', rules: FieldPattern[]): string | null;
|
|
22
|
+
/**
|
|
23
|
+
* 为字符串字段生成智能 Mock 值
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateSmartStringMock(schema: any, fieldName?: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* 为数字字段生成智能 Mock 值
|
|
28
|
+
*/
|
|
29
|
+
export declare function generateSmartNumberMock(schema: any, fieldName?: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* 为布尔字段生成智能 Mock 值
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateSmartBooleanMock(schema: any, fieldName?: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* 生成数组的智能 Mock
|
|
36
|
+
*/
|
|
37
|
+
export declare function generateSmartArrayMock(itemMock: string, schema?: any): string;
|
|
38
|
+
/**
|
|
39
|
+
* 检测字段是否为时间戳类型
|
|
40
|
+
*/
|
|
41
|
+
export declare function isTimestampField(fieldName: string, schema: any): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* 生成时间戳的 Mock 值
|
|
44
|
+
*/
|
|
45
|
+
export declare function generateTimestampMock(): string;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=smart-mock-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-mock-rules.d.ts","sourceRoot":"","sources":["../../../../src/generators/templates/smart-mock-rules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,YAAY;IACpB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS;IACT,WAAW,EAAE,MAAM,CAAA;CACpB;AAkeD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAC1C,KAAK,EAAE,YAAY,EAAE,GACpB,MAAM,GAAG,IAAI,CA4Bf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAoD/E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAwC/E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBhF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,CAW7E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAqBxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C"}
|