in lib/util.js [52:80]
function _subModelName(name, conflictModelNameMap, allModleNameMap) {
if (!name) {
return '';
}
const keywords = ['Body', 'Header',
'Host', 'Path', 'Query', 'EnumType', 'NameInmap',
'ParentIgnore', 'Validate'];
if (allModleNameMap[name]) {
return allModleNameMap[name];
}
var modelName = name.split('.').map((name) => _upperFirst(name)).join('');
const names = name.split('.');
const modelNameKey = names[0];
if (!conflictModelNameMap[modelNameKey]) {
conflictModelNameMap[modelNameKey] = [];
}
modelName = _upperFirst(names.pop());
while (names.length > 0 && (keywords.includes(modelName) ||
(conflictModelNameMap[modelNameKey] && conflictModelNameMap[modelNameKey].includes(modelName)))) {
modelName = _upperFirst(names.pop()) + modelName;
}
// 不再对重复名称命名的接口进行生成
// if (conflictModelNameMap[modelNameKey] && conflictModelNameMap[modelNameKey].includes(modelName)) {
// throw new Error(`解析失败!API 定义存在问题,路径 ${name},${modelNameKey} 下已包含该名称 ${modelName},需要在接口元数据平台定义 SDK 别名`);
// }
conflictModelNameMap[modelNameKey].push(modelName);
allModleNameMap[name] = modelName;
return modelName;
}