denny 2 年之前
父节点
当前提交
6c9edb63b0
共有 3 个文件被更改,包括 59 次插入35 次删除
  1. 2 2
      DocTools/CreateDocHtml.cs
  2. 1 0
      DocTools/Entity/MemberEntity.cs
  3. 56 33
      DocTools/LoadData.cs

+ 2 - 2
DocTools/CreateDocHtml.cs

@@ -358,7 +358,7 @@ namespace DocTools
                         };
                         childEntity.request = new RequestEntity()
                         {
-                            url = url + (interfaceEntity.InterfaceName.Contains("Storage") ? "Storage" : interfaceEntity.InterfaceName),
+                            url = url + "存储桶地址/文件名【此请求地址为动态地址,实际值为上传文件权鉴接口返回的StorageUrl字段的值】",
                             resful = new RequestParameterEntity(),
                             query = new RequestParameterEntity(),
                             header = headerRequest,
@@ -541,7 +541,7 @@ namespace DocTools
                         var paramTypeStr = CommonHelper.GetJsonDataTypeByString(methodEntity.ParamTypeFullName);
                         var paramObject = new ResponseParameterEntity()
                         {
-                            description = methodEntity.RequestList.FirstOrDefault().Desc,
+                            description = methodEntity.RequestList?.FirstOrDefault()?.Desc,
                             is_checked = 1,
                             key = "params",
                             not_null = "1",

+ 1 - 0
DocTools/Entity/MemberEntity.cs

@@ -13,6 +13,7 @@ namespace DocTools.Entity
         public string Code { get; set; } = "1";
         public string Example { get; set; } = "";
         public string Para { get; set; } = "";
+        public bool C { get; set; } = true;
     }
 
     public class ParamEntity

+ 56 - 33
DocTools/LoadData.cs

@@ -78,6 +78,10 @@ namespace DocTools
                             {
                                 entity.Para = childNode.InnerText.Trim();
                             }
+                            else if (childNode.Name == "notshow")
+                            {
+                                entity.C = (string.IsNullOrEmpty(childNode.InnerText.Trim()) || childNode.InnerText.Trim() == "true") ? true : false;
+                            }
                         }
                     }
                     if (!string.IsNullOrEmpty(entity.ParamName))
@@ -97,8 +101,8 @@ namespace DocTools
         {
             var moduleList = new List<APIModuleEntity>();
             var memberList = GetInterfaceConfigToCache();
-            
-            var interfaceMemberList = memberList.FindAll(c => c.ParamName.Contains(classNamespace) && !string.IsNullOrEmpty(c.Example));
+            //其中C为true,表示显示,其他为不显示
+            var interfaceMemberList = memberList.FindAll(c => c.ParamName.Contains(classNamespace) && !string.IsNullOrEmpty(c.Example) && c.C);
             if (interfaceMemberList?.Count > 0)
             {
                 //先找到大的api模块,赋值方法上的example
@@ -155,6 +159,10 @@ namespace DocTools
                                 Type type = GetAssemblyFromCache().GetType(interfaceModel.InterfaceFullName);
                                 foreach (var methodItem in methodMemberList)
                                 {
+                                    if (!methodItem.C) 
+                                    {
+                                        continue;
+                                    }
                                     if (!interfaceModel.MethodList.Exists(c => c.MethodNameSpace == methodItem.ParamName))
                                     {
                                         var methodModel = new MethodBasicEntity()
@@ -168,9 +176,12 @@ namespace DocTools
                                             ReturnsTypeFullName = "",
                                             SubmitType = string.IsNullOrEmpty(methodItem.Remarks) ? "POST" : methodItem.Remarks,
                                             ParamName = methodItem.Param?.FirstOrDefault()?.ParamName,
-                                            ParamText = methodItem.Param?.FirstOrDefault()?.ParamText,
-                                            ParamTypeFullName = methodItem.ParamName.Split('(')[1].TrimEnd(')')
+                                            ParamText = methodItem.Param?.FirstOrDefault()?.ParamText
                                         };
+                                        if (methodItem.ParamName.Split('(').Length > 1) 
+                                        {
+                                            methodModel.ParamTypeFullName = methodItem.ParamName.Split('(')[1].TrimEnd(')');
+                                        }
                                         if (!string.IsNullOrEmpty(methodItem.Para) && methodItem.Para.Split(',').Length > 0)
                                         {
                                             foreach (var paraItem in methodItem.Para.Split(','))
@@ -178,24 +189,27 @@ namespace DocTools
                                                 methodModel.ParaList.Add(paraItem);
                                             }
                                         }
-                                        //封装请求参数实体
-                                        var requestClassNamespace = "T:" + methodModel.ParamTypeFullName;
-                                        var requestClassMemberInfo = memberList.Find(c => c.ParamName.Contains(requestClassNamespace));
-                                        if (requestClassMemberInfo == null)
+                                        if (!string.IsNullOrEmpty(methodModel.ParamTypeFullName))
                                         {
-                                            continue;
+                                            //封装请求参数实体
+                                            var requestClassNamespace = "T:" + methodModel.ParamTypeFullName;
+                                            var requestClassMemberInfo = memberList.Find(c => c.ParamName.Contains(requestClassNamespace));
+                                            if (requestClassMemberInfo == null)
+                                            {
+                                                continue;
+                                            }
+                                            var tuple = GetRequestParameterPropertyList(methodModel.ParamTypeFullName);
+                                            ParamPropertyEntity requestEntity = new ParamPropertyEntity()
+                                            {
+                                                Desc = requestClassMemberInfo.Summary,
+                                                ParamPropertyList = tuple.Item1,
+                                                Name = methodModel.ParamTypeFullName.Split('.').Last(),
+                                                TypeFullName = !string.IsNullOrEmpty(tuple.Item2) ? tuple.Item2 : methodModel.ParamTypeFullName,
+                                                DefaultValue = requestClassMemberInfo.Value,
+                                                IsNotNull = "1"
+                                            };
+                                            methodModel.RequestList.Add(requestEntity);
                                         }
-                                        var tuple = GetRequestParameterPropertyList(methodModel.ParamTypeFullName);
-                                        ParamPropertyEntity requestEntity = new ParamPropertyEntity()
-                                        {
-                                            Desc = requestClassMemberInfo.Summary,
-                                            ParamPropertyList = tuple.Item1,
-                                            Name = methodModel.ParamTypeFullName.Split('.').Last(),
-                                            TypeFullName = !string.IsNullOrEmpty(tuple.Item2) ? tuple.Item2 : methodModel.ParamTypeFullName,
-                                            DefaultValue = requestClassMemberInfo.Value,
-                                            IsNotNull = "1"
-                                        };
-                                        methodModel.RequestList.Add(requestEntity);
                                         //封装响应参数实体
                                         var methodInfoItem = type.GetMethod(methodModel.MethodName);
                                         var returnTypeParams = methodInfoItem.ReturnParameter?.ParameterType?.GenericTypeArguments;
@@ -385,11 +399,14 @@ namespace DocTools
                                     if (item.PropertyType.FullName.Contains("System.Collections.Generic.List"))
                                     {
                                         var fx = item.PropertyType.FullName.Split(',')?.FirstOrDefault()?.Replace("System.Collections.Generic.List`1[[", "");
-                                        var tuple = GetRequestParameterPropertyList(item.PropertyType.FullName, fx);
-                                        propertyModel.ParamPropertyList = tuple.Item1;
-                                        if (!string.IsNullOrEmpty(tuple.Item2))
+                                        if (!fx.Contains(namespacePath))
                                         {
-                                            propertyModel.TypeFullName = tuple.Item2;
+                                            var tuple = GetRequestParameterPropertyList(item.PropertyType.FullName, fx);
+                                            propertyModel.ParamPropertyList = tuple.Item1;
+                                            if (!string.IsNullOrEmpty(tuple.Item2))
+                                            {
+                                                propertyModel.TypeFullName = tuple.Item2;
+                                            }
                                         }
                                     }
                                     else if(item.PropertyType.FullName.Contains("WingInterfaceLibrary.Enum."))
@@ -403,12 +420,15 @@ namespace DocTools
                                         propertyModelTemp.DefaultValue = "";
                                         propertyModelTemp.Desc = desc;
                                         propertyModelTemp.IsNotNull = memberEntity.Code;
-                                        propertyModelTemp.Name = item.Name; 
-                                        var tuple = GetRequestParameterPropertyList(item.PropertyType.FullName);
-                                        propertyModelTemp.ParamPropertyList = tuple.Item1;
-                                        if (!string.IsNullOrEmpty(tuple.Item2))
+                                        propertyModelTemp.Name = item.Name;
+                                        if (!item.PropertyType.FullName.Contains(namespacePath))
                                         {
-                                            propertyModelTemp.TypeFullName = tuple.Item2;
+                                            var tuple = GetRequestParameterPropertyList(item.PropertyType.FullName);
+                                            propertyModelTemp.ParamPropertyList = tuple.Item1;
+                                            if (!string.IsNullOrEmpty(tuple.Item2))
+                                            {
+                                                propertyModelTemp.TypeFullName = tuple.Item2;
+                                            }
                                         }
                                         propertyModel.ParamPropertyList.Add(propertyModelTemp);
                                     }
@@ -437,11 +457,14 @@ namespace DocTools
                                             propertyModelTemp.Desc = requestClassMemberInfo.Summary;
                                             propertyModelTemp.IsNotNull = requestClassMemberInfo.Code;
                                             propertyModelTemp.Name = propertyModelTemp.TypeFullName.Split('.').LastOrDefault();
-                                            var tuple = GetRequestParameterPropertyList(propertyModelTemp.TypeFullName);
-                                            propertyModelTemp.ParamPropertyList = tuple.Item1;
-                                            if (!string.IsNullOrEmpty(tuple.Item2))
+                                            if (!propertyModelTemp.TypeFullName.Contains(namespacePath))
                                             {
-                                                propertyModelTemp.TypeFullName = tuple.Item2;
+                                                var tuple = GetRequestParameterPropertyList(propertyModelTemp.TypeFullName);
+                                                propertyModelTemp.ParamPropertyList = tuple.Item1;
+                                                if (!string.IsNullOrEmpty(tuple.Item2))
+                                                {
+                                                    propertyModelTemp.TypeFullName = tuple.Item2;
+                                                }
                                             }
                                             propertyModel.ParamPropertyList.Add(propertyModelTemp);
                                         }