private void GetAttributes(MvcFuncInfo funcInfo) { foreach (var attr in funcInfo.Action.GetCustomAttributes(false)) { if (attr.GetType().Name == "HttpPostAttribute") { funcInfo.HasPost = true; return; } } }
JAuthAttribute GetMenu(MvcFuncInfo info) { var attr = info.Action.GetCustomAttributes(false) .FirstOrDefault(co => co is JAuthAttribute) as JAuthAttribute; attr = attr ?? new JAuthAttribute(info.AuthType, info.Action.Name); if (attr.Name.IsEmpty()) { attr.Name = info.Action.Name; } if (info.Action.DeclaringType.Assembly == this.GetType().Assembly) { attr.AreaName = "/AppCenter"; } return(attr); }
/// <summary> /// 生成GET的Action的URL规则 /// </summary> /// <param name="child"></param> /// <param name="info"></param> private void MakeRegTail(AppFunction child, MvcFuncInfo info) { ParameterInfo pi = info.Parameters .FirstOrDefault(p => p.Name.Equals("id", StringComparison.OrdinalIgnoreCase)); if (pi == null) { return; } if (!pi.ParameterType.Name.Contains("Int")) { return; } else if (!CommOp.IsEmpty(pi.DefaultValue)) { child.LocationSamples = child.Location + Environment.NewLine + child.Location + "/123"; child.RegTail = "(/\\d*)?"; } else { child.LocationSamples = child.Location + "/123"; child.RegTail = "/\\d+"; } }
/// <summary> /// 生成POST的Action的URL规则 /// </summary> /// <param name="child"></param> /// <param name="info"></param> private void MakePostRegTail(AppFunction child, MvcFuncInfo info) { child.LocationSamples = child.Location + Environment.NewLine + child.Location + "/123"; child.RegTail = "(/\\d*)?"; }