vue动态路由测试
This commit is contained in:
@@ -218,7 +218,7 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.stopJob">
|
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.StopJob">
|
||||||
<summary>
|
<summary>
|
||||||
停止任务
|
停止任务
|
||||||
</summary>
|
</summary>
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
{JobConst.method,"get" },
|
{JobConst.method,"get" },
|
||||||
{JobConst.url,"https://www.baidu.com" }
|
{JobConst.url,"https://www.baidu.com" }
|
||||||
};
|
};
|
||||||
await _quartzInvoker.StartAsync("*/5 * * * * ?", "HttpJob",jobName:"test",jobGroup:"my", data: data);
|
await _quartzInvoker.StartAsync("*/5 * * * * ?", "HttpJob", jobName: "test", jobGroup: "my", data: data);
|
||||||
return Result.Success();
|
return Result.Success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,10 +174,27 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPut]
|
[HttpPut]
|
||||||
public async Task<Result> stopJob()
|
public async Task<Result> StopJob()
|
||||||
{
|
{
|
||||||
await _quartzInvoker.StopAsync(new Quartz.JobKey("test", "my"));
|
await _quartzInvoker.StopAsync(new Quartz.JobKey("test", "my"));
|
||||||
return Result.Success();
|
return Result.Success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 树形结构测试
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public Result TreeTest()
|
||||||
|
{
|
||||||
|
List<VueRouterModel> vueRouterModels = new()
|
||||||
|
{
|
||||||
|
new VueRouterModel { Id = 1, Sort = 1, ParentId = 0, Name = "001" },
|
||||||
|
new VueRouterModel { Id = 2, Sort = 1, ParentId = 1, Name = "001001" },
|
||||||
|
new VueRouterModel { Id = 3, Sort = 1, ParentId = 1, Name = "001002" }
|
||||||
|
};
|
||||||
|
var treeData = Common.Helper.TreeHelper.SetTree(vueRouterModels);
|
||||||
|
return Result.Success().SetData(treeData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ namespace Yi.Framework.Common.Helper
|
|||||||
if (list != null && list.Count > 0)
|
if (list != null && list.Count > 0)
|
||||||
{
|
{
|
||||||
IList<T> result = new List<T>();
|
IList<T> result = new List<T>();
|
||||||
long pid = list.Min(m => (m as ITreeModel<T>).parentId);
|
long pid = list.Min(m => (m as ITreeModel<T>).ParentId);
|
||||||
IList<T> t = list.Where(m => (m as ITreeModel<T>).parentId == pid).ToList();
|
IList<T> t = list.Where(m => (m as ITreeModel<T>).ParentId == pid).ToList();
|
||||||
foreach (T model in t)
|
foreach (T model in t)
|
||||||
{
|
{
|
||||||
if (action != null)
|
if (action != null)
|
||||||
@@ -24,35 +24,35 @@ namespace Yi.Framework.Common.Helper
|
|||||||
}
|
}
|
||||||
result.Add(model);
|
result.Add(model);
|
||||||
var item = (model as ITreeModel<T>);
|
var item = (model as ITreeModel<T>);
|
||||||
IList<T> children = list.Where(m => (m as ITreeModel<T>).parentId == item.id).ToList();
|
IList<T> children = list.Where(m => (m as ITreeModel<T>).ParentId == item.Id).ToList();
|
||||||
if (children.Count > 0)
|
if (children.Count > 0)
|
||||||
{
|
{
|
||||||
SetTreeChildren(list, children, model, action);
|
SetTreeChildren(list, children, model, action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result.OrderBy(m => (m as ITreeModel<T>).sort).ToList();
|
return result.OrderBy(m => (m as ITreeModel<T>).Sort).ToList();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
private static void SetTreeChildren<T>(IList<T> list, IList<T> children, T model, Action<T> action = null)
|
private static void SetTreeChildren<T>(IList<T> list, IList<T> children, T model, Action<T> action = null)
|
||||||
{
|
{
|
||||||
var mm = (model as ITreeModel<T>);
|
var mm = (model as ITreeModel<T>);
|
||||||
mm.children = new List<T>();
|
mm.Children = new List<T>();
|
||||||
foreach (T item in children)
|
foreach (T item in children)
|
||||||
{
|
{
|
||||||
if (action != null)
|
if (action != null)
|
||||||
{
|
{
|
||||||
action(item);
|
action(item);
|
||||||
}
|
}
|
||||||
mm.children.Add(item);
|
mm.Children.Add(item);
|
||||||
var _item = (item as ITreeModel<T>);
|
var _item = (item as ITreeModel<T>);
|
||||||
IList<T> _children = list.Where(m => (m as ITreeModel<T>).parentId == _item.id).ToList();
|
IList<T> _children = list.Where(m => (m as ITreeModel<T>).ParentId == _item.Id).ToList();
|
||||||
if (_children.Count > 0)
|
if (_children.Count > 0)
|
||||||
{
|
{
|
||||||
SetTreeChildren(list, _children, item, action);
|
SetTreeChildren(list, _children, item, action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mm.children = mm.children.OrderBy(m => (m as ITreeModel<T>).sort).ToList();
|
mm.Children = mm.Children.OrderBy(m => (m as ITreeModel<T>).Sort).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ namespace Yi.Framework.Common.Models
|
|||||||
{
|
{
|
||||||
public interface ITreeModel<T>
|
public interface ITreeModel<T>
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public int parentId { get; set; }
|
public int ParentId { get; set; }
|
||||||
public int sort { get; set; }
|
public int Sort { get; set; }
|
||||||
|
|
||||||
public IList<T> children { get; set; }
|
public IList<T> Children { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Common.Models
|
||||||
|
{
|
||||||
|
public class VueRouterModel : ITreeModel<VueRouterModel>
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public int ParentId { get; set; }
|
||||||
|
public int Sort { get; set; }
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Path { get; set; }
|
||||||
|
public bool Hidden { get; set; }
|
||||||
|
public string Redirect { get; set; }
|
||||||
|
public string Component { get; set; }
|
||||||
|
public bool AlwaysShow { get; set; }
|
||||||
|
public Meta Meta { get; set; }
|
||||||
|
public IList<VueRouterModel> Children { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class Meta
|
||||||
|
{
|
||||||
|
public string Title { get; set; }
|
||||||
|
public string Icon { get; set; }
|
||||||
|
public string NoCache { get; set; }
|
||||||
|
public string link { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user