增加桌面快捷菜单管理

This commit is contained in:
zmrid 2023-02-13 17:01:36 +08:00
parent f2f089c7c6
commit f63cdbd7df
11 changed files with 366 additions and 0 deletions

View File

@ -0,0 +1,18 @@
/*
*,
*Repository提供数据库操作Partial文件夹IBase_DesktopMenuRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Custom.IRepositories
{
public partial interface IBase_DesktopMenuRepository : IDependency,IRepository<Base_DesktopMenu>
{
}
}

View File

@ -0,0 +1,12 @@
/*
*,
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Custom.IServices
{
public partial interface IBase_DesktopMenuService : IService<Base_DesktopMenu>
{
}
}

View File

@ -0,0 +1,13 @@
/*
*Base_DesktopMenu类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Custom.IServices
{
public partial interface IBase_DesktopMenuService
{
}
}

View File

@ -0,0 +1,24 @@
/*
*,
*Repository提供数据库操作Partial文件夹Base_DesktopMenuRepository编写代码
*/
using iMES.Custom.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Custom.Repositories
{
public partial class Base_DesktopMenuRepository : RepositoryBase<Base_DesktopMenu> , IBase_DesktopMenuRepository
{
public Base_DesktopMenuRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static IBase_DesktopMenuRepository Instance
{
get { return AutofacContainerModule.GetService<IBase_DesktopMenuRepository>(); } }
}
}

View File

@ -0,0 +1,26 @@
/*
*AuthorCOCO
*,
*Partial文件夹下Base_DesktopMenuService与IBase_DesktopMenuService中编写
*/
using iMES.Custom.IRepositories;
using iMES.Custom.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Custom.Services
{
public partial class Base_DesktopMenuService : ServiceBase<Base_DesktopMenu, IBase_DesktopMenuRepository>
, IBase_DesktopMenuService, IDependency
{
public Base_DesktopMenuService(IBase_DesktopMenuRepository repository)
: base(repository)
{
Init(repository);
}
public static IBase_DesktopMenuService Instance
{
get { return AutofacContainerModule.GetService<IBase_DesktopMenuService>(); } }
}
}

View File

@ -0,0 +1,41 @@
/*
*Base_DesktopMenu类的业务代码应在此处编写
*使repository.EF/Dapper等信息
*使repository.DbContextBeginTransaction
*使DBServerProvider.
*使UserContext.Current操作
*Base_DesktopMenuService对增ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Custom.IRepositories;
namespace iMES.Custom.Services
{
public partial class Base_DesktopMenuService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IBase_DesktopMenuRepository _repository;//访问数据库
[ActivatorUtilitiesConstructor]
public Base_DesktopMenuService(
IBase_DesktopMenuRepository dbRepository,
IHttpContextAccessor httpContextAccessor
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
}
}

View File

@ -0,0 +1,129 @@
/*
*,
*Model
*/
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Entity.SystemModels;
namespace iMES.Entity.DomainModels
{
[Entity(TableCnName = "主页菜单配置",TableName = "Base_DesktopMenu",DBServer = "SysDbContext")]
public partial class Base_DesktopMenu:SysEntity
{
/// <summary>
///主页菜单表主键ID
/// </summary>
[Key]
[Display(Name ="主页菜单表主键ID")]
[Column(TypeName="int")]
[Editable(true)]
[Required(AllowEmptyStrings=false)]
public int DesktopMenu_Id { get; set; }
/// <summary>
///菜单
/// </summary>
[Display(Name ="菜单")]
[Column(TypeName="int")]
[Editable(true)]
[Required(AllowEmptyStrings=false)]
public int MenuId { get; set; }
/// <summary>
///菜单名称
/// </summary>
[Display(Name ="菜单名称")]
[MaxLength(200)]
[Column(TypeName="nvarchar(200)")]
[Editable(true)]
[Required(AllowEmptyStrings=false)]
public string MenuName { get; set; }
/// <summary>
///路由地址
/// </summary>
[Display(Name ="路由地址")]
[MaxLength(100)]
[Column(TypeName="nvarchar(100)")]
[Editable(true)]
[Required(AllowEmptyStrings=false)]
public string MenuUrl { get; set; }
/// <summary>
///背景颜色
/// </summary>
[Display(Name ="背景颜色")]
[MaxLength(100)]
[Column(TypeName="nvarchar(100)")]
[Editable(true)]
[Required(AllowEmptyStrings=false)]
public string Color { get; set; }
/// <summary>
///是否启用
/// </summary>
[Display(Name ="是否启用")]
[Column(TypeName="tinyint")]
[Editable(true)]
[Required(AllowEmptyStrings=false)]
public byte Enable { get; set; }
/// <summary>
///创建时间
/// </summary>
[Display(Name ="创建时间")]
[Column(TypeName="datetime")]
[Editable(true)]
public DateTime? CreateDate { get; set; }
/// <summary>
///创建人编号
/// </summary>
[Display(Name ="创建人编号")]
[Column(TypeName="int")]
[Editable(true)]
public int? CreateID { get; set; }
/// <summary>
///创建人
/// </summary>
[Display(Name ="创建人")]
[MaxLength(200)]
[Column(TypeName="nvarchar(200)")]
[Editable(true)]
public string Creator { get; set; }
/// <summary>
///修改人
/// </summary>
[Display(Name ="修改人")]
[MaxLength(200)]
[Column(TypeName="nvarchar(200)")]
[Editable(true)]
public string Modifier { get; set; }
/// <summary>
///修改时间
/// </summary>
[Display(Name ="修改时间")]
[Column(TypeName="datetime")]
[Editable(true)]
public DateTime? ModifyDate { get; set; }
/// <summary>
///修改人编号
/// </summary>
[Display(Name ="修改人编号")]
[Column(TypeName="int")]
[Editable(true)]
public int? ModifyID { get; set; }
}
}

View File

@ -0,0 +1,21 @@
/*
*,
*Model
*/
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Entity.SystemModels;
namespace iMES.Entity.DomainModels
{
public partial class Base_DesktopMenu
{
//此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
}
}

View File

@ -0,0 +1,16 @@
using iMES.Entity.MappingConfiguration;
using iMES.Entity.DomainModels;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace iMES.Entity.MappingConfiguration
{
public class Base_DesktopMenuMapConfig : EntityMappingConfiguration<Base_DesktopMenu>
{
public override void Map(EntityTypeBuilder<Base_DesktopMenu>
builderTable)
{
//b.Property(x => x.StorageName).HasMaxLength(45);
}
}
}

View File

@ -0,0 +1,21 @@
/*
*,
*Partial文件夹Base_DesktopMenuController编写
*/
using Microsoft.AspNetCore.Mvc;
using iMES.Core.Controllers.Basic;
using iMES.Entity.AttributeManager;
using iMES.Custom.IServices;
namespace iMES.Custom.Controllers
{
[Route("api/Base_DesktopMenu")]
[PermissionTable(Name = "Base_DesktopMenu")]
public partial class Base_DesktopMenuController : ApiBaseController<IBase_DesktopMenuService>
{
public Base_DesktopMenuController(IBase_DesktopMenuService service)
: base(service)
{
}
}
}

View File

@ -0,0 +1,45 @@
/*
*...
*Action的权限验证Action上使用属性
*: [ApiActionPermission("Base_DesktopMenu",Enums.ActionPermissionOptions.Search)]
*/
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Entity.DomainModels;
using iMES.Custom.IServices;
using iMES.Core.DBManager;
namespace iMES.Custom.Controllers
{
public partial class Base_DesktopMenuController
{
private readonly IBase_DesktopMenuService _service;//访问业务代码
private readonly IHttpContextAccessor _httpContextAccessor;
[ActivatorUtilitiesConstructor]
public Base_DesktopMenuController(
IBase_DesktopMenuService service,
IHttpContextAccessor httpContextAccessor
)
: base(service)
{
_service = service;
_httpContextAccessor = httpContextAccessor;
}
/// <summary>
/// 获取首页版本更新记录
/// </summary>
/// <returns></returns>
[Route("getDesktopMenu"), HttpGet]
public JsonResult GetDesktopMenu()
{
string sql = " select top 8 * from Base_DesktopMenu where Enable=1 order by CreateDate desc ";
List<Base_DesktopMenu> list = DBServerProvider.SqlDapper.QueryList<Base_DesktopMenu>(sql, new { });
return JsonNormal(list);
}
}
}