Skip to content

Commit 961916a

Browse files
committed
优化表和字段文档
1 parent 54b4174 commit 961916a

File tree

2 files changed

+47
-16
lines changed

2 files changed

+47
-16
lines changed

apijson/CodeUtil.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,15 @@ var CodeUtil = {
466466

467467
},
468468

469+
/**获取字段对应值的最大长度
470+
* @param columnType
471+
* @return {string}
472+
*/
473+
getMaxLength: function (columnType) {
474+
var index = columnType == null ? -1 : columnType.indexOf('(');
475+
return index < 0 ? '不限' : columnType.substring(index + 1, columnType.length - (columnType.endsWith(')') ? 1 : 0));
476+
},
477+
469478

470479
/**根据层级获取键值对前面的空格
471480
* @param depth
@@ -517,6 +526,22 @@ var CodeUtil = {
517526
*/
518527
getItemKey: function(key) {
519528
return StringUtil.addSuffix(key.substring(0, key.length - 2), 'Item');
529+
},
530+
531+
/**是否为id
532+
* @param column
533+
* @return {boolean}
534+
*/
535+
isId: function (column) {
536+
if (column == null) {
537+
return false;
538+
}
539+
if (column.endsWith('Id')) { // lowerCamelCase
540+
return true;
541+
}
542+
var index = column.lastIndexOf('_'); // snake_case
543+
var id = index < 0 ? column : column.substring(index + 1);
544+
return id.toLowerCase() == 'id';
520545
}
521546

522547
}

js/main.js

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@
903903
'Column[]': {
904904
'Column': {
905905
'TABLE_NAME@': '[]/Table/TABLE_NAME',
906-
'@column': 'COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_COMMENT'
906+
'@column': 'COLUMN_NAME,COLUMN_TYPE,COLUMN_COMMENT'
907907
}
908908
}
909909
},
@@ -947,7 +947,7 @@
947947
doc += '### ' + (i + 1) + '. ' + CodeUtil.getModelName(table.TABLE_NAME) + '\n#### 说明: \n' + App.toMD(table.TABLE_COMMENT);
948948

949949
//Column[]
950-
doc += '\n\n#### 字段: \n 名称 | 类型(长度) | 可为null | 说明' +
950+
doc += '\n\n#### 字段: \n 名称 | 类型 | 最大长度 | 详细说明' +
951951
' \n -------- | ------------ | ------------ | ------------ ';
952952

953953
columnList = item['Column[]'];
@@ -956,18 +956,21 @@
956956
}
957957
log('getDoc [] for ' + i + ': columnList = \n' + format(JSON.stringify(columnList)));
958958

959+
var name;
959960
var type;
961+
var length;
960962
for (var j = 0; j < columnList.length; j++) {
961963
column = columnList[j];
962-
if (column == null) {
964+
name = column == null ? null : column.COLUMN_NAME;
965+
if (name == null) {
963966
continue;
964967
}
965-
type = name == 'id' ? 'Long' : CodeUtil.getJavaType(column.COLUMN_TYPE, true);
968+
type = CodeUtil.getJavaType(column.COLUMN_TYPE, false);
969+
length = CodeUtil.getMaxLength(column.COLUMN_TYPE);
966970

967971
log('getDoc [] for j=' + j + ': column = \n' + format(JSON.stringify(column)));
968972

969-
doc += '\n' + column.COLUMN_NAME + ' | ' + type
970-
+ ' | ' + (column.IS_NULLABLE == 'NO' ? '否' : '是') + ' | ' + App.toMD(column.COLUMN_COMMENT);
973+
doc += '\n' + name + ' | ' + type + ' | ' + length + ' | ' + App.toMD(column.COLUMN_COMMENT);
971974

972975
}
973976

@@ -985,8 +988,8 @@
985988
if (list != null) {
986989
log('getDoc Request[] = \n' + format(JSON.stringify(list)));
987990

988-
doc += '\n\n\n\n\n\n\n\n\n### 非开放请求的格式(GET,HEAD方法不受限,可传任意结构、数据)'
989-
+ ' \n 版本 | 方法 | tag | 结构及数据'
991+
doc += '\n\n\n\n\n\n\n\n\n### 非开放请求的格式(GET,HEAD方法不受限,可传任何 数据、结构)'
992+
+ ' \n 版本 | 方法 | 数据和结构'
990993
+ ' \n -------- | ------------ | ------------ | ------------ ';
991994

992995
for (var i = 0; i < list.length; i++) {
@@ -997,7 +1000,7 @@
9971000
log('getDoc Request[] for i=' + i + ': item = \n' + format(JSON.stringify(item)));
9981001

9991002

1000-
doc += '\n' + item.version + ' | ' + item.method + ' | ' + item.tag
1003+
doc += '\n' + item.version + ' | ' + item.method
10011004
+ ' | ' + JSON.stringify(App.getStructure(item.structure, item.tag));
10021005
}
10031006

@@ -1107,13 +1110,16 @@
11071110

11081111
log('getStructure return obj; = \n' + format(JSON.stringify(obj)));
11091112

1110-
//补全省略的Table
1111-
if (this.isTableKey(tag) && obj[tag] == null) {
1112-
log('getStructure isTableKey(tag) && obj[tag] == null >>>>> ');
1113-
var realObj = {};
1114-
realObj[tag] = obj;
1115-
obj = realObj;
1116-
log('getStructure realObj = \n' + JSON.stringify(realObj));
1113+
if (tag != null) {
1114+
//补全省略的Table
1115+
if (this.isTableKey(tag) && obj[tag] == null) {
1116+
log('getStructure isTableKey(tag) && obj[tag] == null >>>>> ');
1117+
var realObj = {};
1118+
realObj[tag] = obj;
1119+
obj = realObj;
1120+
log('getStructure realObj = \n' + JSON.stringify(realObj));
1121+
}
1122+
obj.tag = tag; //补全tag
11171123
}
11181124

11191125
return obj;

0 commit comments

Comments
 (0)