Browse Source

修改完善信息

denny 3 years ago
parent
commit
ddcbafb616
3 changed files with 44 additions and 8 deletions
  1. 7 2
      DocHtml/demoHtml.html
  2. 36 6
      DocTools/CreateDocHtml.cs
  3. 1 0
      DocTools/Entity/Doc/FolderChildrenEntity.cs

+ 7 - 2
DocHtml/demoHtml.html

@@ -188,7 +188,11 @@
                         <!--                            {{/if}}-->
                         <!--                        </ul>-->
                         {{/if}}
+                        {{if response.success.error_result.length > 0}}
                         <li class="nav-btn" data-id="9" style="display: block"><a href="javascript:;">枚举信息</a></li>
+                        {{else}}
+                        <li class="nav-btn" data-id="9" style="display: none"><a href="javascript:;">枚举信息</a></li>
+                        {{/if}}
                     </script>
                 </ul>
                 </ul>
@@ -914,8 +918,9 @@
                     if ($('table.header tr').length <= 1 && $('table.query tr').length <= 1 && $('table.body tr').length <= 1) {
                         $('table.header').parents('.markdown-request').prev().hide()
                         $('.box-nav .nav-folder-btn[data-id="0"]').hide()
-                        $('.preview-markdown .markdown-request').after('<div style="overflow: hidden;text-align: center;height: 100%;"><img src="https://img.cdn.apipost.cn/docs/images/empty.svg" style="width:100px;margin: 70px auto 20px;;">暂无参数</div>')
-
+                        //$('.preview-markdown .markdown-request').after('<div style="overflow: hidden;text-align: center;height: 100%;"><img src="https://img.cdn.apipost.cn/docs/images/empty.svg" style="width:100px;margin: 70px auto 20px;;">暂无参数</div>')
+                        //$('.preview-markdown .markdown-request').after('<div style="overflow: hidden;height: 100%;" class="preview-markdown"><h3 class="title"><a href="javascript:;" class="maodian"></a>接口服务<i class="fa fa-angle-down"></i></h3><table><tbody><tr><th>参数名</th><th>示例值</th></tr><tr><td>jsonrpc</td><td>2.0</td></tr><tr><td>id</td><td>1</td></tr></tbody></table></div>')
+                        $('.preview-markdown .markdown-request').after(item.tableHtml);
                     }
                     hljs.initHighlighting();
                 }

+ 36 - 6
DocTools/CreateDocHtml.cs

@@ -100,7 +100,8 @@ namespace DocTools
                     body = new List<NullParameterEntity>(),
                     header = new List<NullParameterEntity>(),
                     query = new List<NullParameterEntity>(),
-                    description = "新版杏聆荟RPC接口文档"
+                    //description = "新版杏聆荟RPC接口文档"
+                    description = null
                 };
                 customerAPI.children = GetCustomerChildrenList(customerAPI, apiModuleList[i]);
                 resultList.Add(customerAPI);
@@ -108,7 +109,22 @@ namespace DocTools
             return resultList;
         }
 
-      
+        private string CreateFolderHtml(Dictionary<string, string> dic,string apiName)
+        {
+            string allHtml = "";
+            if (dic?.Count > 0)
+            {
+                allHtml = "<div style=\"overflow: hidden;height: 100%;\" class=\"preview-markdown\"><h3 class=\"title\"><a href=\"javascript:;\" class=\"maodian\"></a>" + apiName + "下属服务<i class=\"fa fa-angle-down\"></i></h3>";
+                var tableHtml = "<table><tbody><tr><th>服务名</th><th>查看详情</th></tr>";
+                foreach (var key in dic.Keys)
+                {
+                    tableHtml += "<tr><td>" + key + "</td><td><a target=\"_blank\" href=\"/" + FileName + "#" + dic[key] + "\">详情</a></td></tr>";
+                }
+                tableHtml += "</tbody></table>";
+                allHtml += tableHtml + "</div>";
+            }
+            return allHtml;
+        }
 
         /// <summary>
         /// 客户端api接口
@@ -116,9 +132,11 @@ namespace DocTools
         /// <returns></returns>
         public List<object> GetCustomerChildrenList(FolderChildrenEntity customerAPI, APIModuleEntity apiModuleEntity)
         {
+            var dic = new Dictionary<string, string>();
             var list = new List<object>();
             if (apiModuleEntity.IsShowEnumFolder)
             {
+                var dicEnum = new Dictionary<string, string>();
                 FolderChildrenEntity enumFolderEntity = new FolderChildrenEntity();
                 enumFolderEntity.is_doc = "0";
                 enumFolderEntity.local_parent_id = customerAPI.local_target_id;
@@ -144,8 +162,11 @@ namespace DocTools
                     }
                     var enumEntity = GetSpecialEnum(item.ParamName.Replace("T:", ""), enumFolderEntity.local_target_id, item.Remarks, i);
                     enumFolderEntity.children.Add(enumEntity);
+                    dicEnum.Add(enumEntity.name, enumEntity.local_target_id);
                 }
+                enumFolderEntity.tableHtml = CreateFolderHtml(dicEnum, enumFolderEntity.name);
                 list.Add(enumFolderEntity);
+                dic.Add(enumFolderEntity.name, enumFolderEntity.local_target_id);
             }
             //定义api下属文件夹
             //这里可以是多个文件夹
@@ -169,7 +190,9 @@ namespace DocTools
                 folderEntity.request = new FoldRequestEntity();
                 folderEntity.children = GetInterfaceChildrenList(folderEntity, interfaceItem.Url, interfaceItem.InterfaceList);
                 list.Add(folderEntity);
+                dic.Add(folderEntity.name, folderEntity.local_target_id);
             }
+            customerAPI.tableHtml = CreateFolderHtml(dic, customerAPI.name);
             return list;
         }
 
@@ -179,10 +202,12 @@ namespace DocTools
         /// <returns></returns>
         public List<object> GetInterfaceChildrenList(FolderChildrenEntity folderEntity, string url, List<InterfaceBasicInfoEntity> interfaceList)
         {
+            var dicInterface = new Dictionary<string, string>();
             var exclusiveList = new List<string>() { "IClientLogService", "IEmailService", "ISMSService" };
             List<object> resultList = new List<object>();
             for (int i = 0; i < interfaceList.Count; i++)
             {
+                var dicMethod = new Dictionary<string, string>();
                 var interfaceEntity = interfaceList[i];
                 if (exclusiveList.Contains(interfaceEntity.InterfaceName))
                 {
@@ -211,7 +236,7 @@ namespace DocTools
                     childEntity.is_doc = "0";
                     childEntity.index = 5;
                     childEntity.local_parent_id = folderChildEntity.local_target_id;
-                    childEntity.local_target_id = folderChildEntity.local_target_id + "-" + i;
+                    childEntity.local_target_id = Guid.NewGuid().ToString();
                     childEntity.mark = "complated";
                     childEntity.method = methodEntity.SubmitType;
                     childEntity.name = methodEntity.Summary;
@@ -276,6 +301,7 @@ namespace DocTools
                             }
                         };
                         var fileInfo = methodEntity.RequestList?.FirstOrDefault()?.ParamPropertyList?.Find(c => c.Name == "File") ?? new ParamPropertyEntity();
+                        var dafultFieldType = CommonHelper.GetJsonDataTypeByString(fileInfo.TypeFullName);
                         var requestBodyEntity = new RequestBodyEntity()
                         {
                             mode = "form-data",
@@ -286,9 +312,9 @@ namespace DocTools
                                     description = fileInfo.Desc,
                                     is_checked = 1,
                                     key = fileInfo.Name,
-                                    type = fileInfo.TypeFullName,
+                                    type = dafultFieldType,
                                     not_null = "1",
-                                    field_type = "",
+                                    field_type = dafultFieldType,
                                     value = fileInfo.DefaultValue
                                 }
                             },
@@ -508,7 +534,7 @@ namespace DocTools
                             not_null = "1",
                             type = "Text",
                             field_type = "Array",
-                            value = methodEntity.ParamText
+                            value = ""//methodEntity.ParamText
                         };
                         requestRawPara.Add(paramObject);
                         if (methodEntity.RequestList?.Count > 0)
@@ -553,9 +579,13 @@ namespace DocTools
                         };
                     }
                     folderChildEntity.children.Add(childEntity);
+                    dicMethod.Add(childEntity.name, childEntity.local_target_id);
                 }
+                folderChildEntity.tableHtml = CreateFolderHtml(dicMethod, folderChildEntity.name);
                 resultList.Add(folderChildEntity);
+                dicInterface.Add(folderChildEntity.name, folderChildEntity.local_target_id);
             }
+            folderEntity.tableHtml = CreateFolderHtml(dicInterface, folderEntity.name);
             return resultList;
         }
 

+ 1 - 0
DocTools/Entity/Doc/FolderChildrenEntity.cs

@@ -19,6 +19,7 @@ namespace DocTools.Entity.Doc
         public ScriptEntity script { get; set; } = new ScriptEntity();
         public FoldRequestEntity request { get; set; } = new FoldRequestEntity();
         public List<object> children { get; set; } = new List<object>();
+        public string tableHtml { get; set; } = string.Empty;
     }
 
     public class FoldRequestEntity