chore:修改目录
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Infrastructure.AspNetCore
|
||||
{
|
||||
public static class StratUrlsExtensions
|
||||
{
|
||||
public static IWebHostBuilder UseStartUrlsServer(this IWebHostBuilder hostBuilder, IConfiguration configuration, string option = "StartUrl")
|
||||
{
|
||||
return hostBuilder.UseUrls(configuration.GetValue<string>(option));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
/// </summary>
|
||||
|
||||
public class DictionaryConst
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
using Furion.DependencyInjection;
|
||||
using Furion.DynamicApiController;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Framework.Module.DictionaryManager.Dtos.Dictionary;
|
||||
using Yi.Framework.Module.DictionaryManager.Entities;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Dictionary服务实现
|
||||
/// </summary>
|
||||
public class DictionaryService : CrudAppService<DictionaryEntity, DictionaryGetOutputDto, DictionaryGetListOutputDto, long, DictionaryGetListInputVo, DictionaryCreateInputVo, DictionaryUpdateInputVo>,
|
||||
IDictionaryService,IDynamicApiController,ITransient
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询
|
||||
/// </summary>
|
||||
|
||||
public override async Task<PagedResultDto<DictionaryGetListOutputDto>> GetListAsync(DictionaryGetListInputVo input)
|
||||
{
|
||||
RefAsync<int> total = 0;
|
||||
var entities = await _DbQueryable.WhereIF(input.DictType is not null, x => x.DictType == input.DictType)
|
||||
.WhereIF(input.DictLabel is not null, x => x.DictLabel!.Contains(input.DictLabel!))
|
||||
.WhereIF(input.State is not null, x => x.State == input.State)
|
||||
.ToPageListAsync(input.PageNum, input.PageSize, total);
|
||||
return new PagedResultDto<DictionaryGetListOutputDto>
|
||||
{
|
||||
Total = total,
|
||||
Items = await MapToGetListOutputDtosAsync(entities)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典类型获取字典列表
|
||||
/// </summary>
|
||||
/// <param name="dicType"></param>
|
||||
/// <returns></returns>
|
||||
[Route("/api/dictionary/dic-type/{dicType}")]
|
||||
public async Task<List<DictionaryGetListOutputDto>> GetDicType([FromRoute] string dicType)
|
||||
{
|
||||
var entities = await _repository.GetListAsync(u => u.DictType == dicType && u.State == true);
|
||||
var result = await MapToGetListOutputDtosAsync(entities);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
/// </summary>
|
||||
|
||||
public class DictionaryTypeConst
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using Furion.DependencyInjection;
|
||||
using Furion.DynamicApiController;
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType;
|
||||
using Yi.Framework.Module.DictionaryManager.Entities;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager
|
||||
{
|
||||
/// <summary>
|
||||
/// DictionaryType服务实现
|
||||
/// </summary>
|
||||
public class DictionaryTypeService : CrudAppService<DictionaryTypeEntity, DictionaryTypeGetOutputDto, DictionaryTypeGetListOutputDto, long, DictionaryTypeGetListInputVo, DictionaryTypeCreateInputVo, DictionaryTypeUpdateInputVo>,
|
||||
IDictionaryTypeService, IDynamicApiController, ITransient
|
||||
{
|
||||
|
||||
|
||||
public async override Task<PagedResultDto<DictionaryTypeGetListOutputDto>> GetListAsync(DictionaryTypeGetListInputVo input)
|
||||
{
|
||||
|
||||
RefAsync<int> total = 0;
|
||||
var entities = await _DbQueryable.WhereIF(input.DictName is not null, x => x.DictName.Contains(input.DictName!))
|
||||
.WhereIF(input.DictType is not null, x => x.DictType!.Contains(input.DictType!))
|
||||
.WhereIF(input.State is not null, x => x.State == input.State)
|
||||
.WhereIF(input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime)
|
||||
.ToPageListAsync(input.PageNum, input.PageSize, total);
|
||||
|
||||
return new PagedResultDto<DictionaryTypeGetListOutputDto>
|
||||
{
|
||||
Total = total,
|
||||
Items = await MapToGetListOutputDtosAsync(entities)
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||
{
|
||||
/// <summary>
|
||||
/// Dictionary输入创建对象
|
||||
/// </summary>
|
||||
public class DictionaryCreateInputVo
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string? Remark { get; set; }
|
||||
public string? ListClass { get; set; }
|
||||
public string? CssClass { get; set; }
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? DictLabel { get; set; }
|
||||
public string DictValue { get; set; } = string.Empty;
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||
{
|
||||
public class DictionaryGetListInputVo : PagedAndSortedResultRequestDto
|
||||
{
|
||||
public string? DictType { get; set; }
|
||||
public string? DictLabel { get; set; }
|
||||
public bool? State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||
{
|
||||
public class DictionaryGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string? Remark { get; set; }
|
||||
public string? ListClass { get; set; }
|
||||
public string? CssClass { get; set; }
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? DictLabel { get; set; }
|
||||
public string DictValue { get; set; } = string.Empty;
|
||||
public bool IsDefault { get; set; }
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||
{
|
||||
public class DictionaryGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string? Remark { get; set; }
|
||||
public string? ListClass { get; set; }
|
||||
public string? CssClass { get; set; }
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? DictLabel { get; set; }
|
||||
public string DictValue { get; set; } = string.Empty;
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||
{
|
||||
public class DictionaryUpdateInputVo
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string? Remark { get; set; }
|
||||
public string? ListClass { get; set; }
|
||||
public string? CssClass { get; set; }
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? DictLabel { get; set; }
|
||||
public string DictValue { get; set; } = string.Empty;
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||
{
|
||||
/// <summary>
|
||||
/// DictionaryType输入创建对象
|
||||
/// </summary>
|
||||
public class DictionaryTypeCreateInputVo
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string DictName { get; set; } = string.Empty;
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? Remark { get; set; }
|
||||
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||
{
|
||||
public class DictionaryTypeGetListInputVo : PagedAllResultRequestDto
|
||||
{
|
||||
public string? DictName { get; set; }
|
||||
public string? DictType { get; set; }
|
||||
public string? Remark { get; set; }
|
||||
|
||||
public bool? State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||
{
|
||||
public class DictionaryTypeGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string DictName { get; set; } = string.Empty;
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? Remark { get; set; }
|
||||
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||
{
|
||||
public class DictionaryTypeGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string DictName { get; set; } = string.Empty;
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? Remark { get; set; }
|
||||
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||
{
|
||||
public class DictionaryTypeUpdateInputVo
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
||||
public long? CreatorId { get; set; }
|
||||
public string DictName { get; set; } = string.Empty;
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
public string? Remark { get; set; }
|
||||
public bool State { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Entities
|
||||
{
|
||||
[SugarTable("Dictionary")]
|
||||
public class DictionaryEntity : AuditedObject, IEntity<long>, ISoftDelete, IOrderNum, IState
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public long Id { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 逻辑删除
|
||||
/// </summary>
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
public int OrderNum { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public bool State { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "Remark")]
|
||||
public string? Remark { get; set; }
|
||||
/// <summary>
|
||||
/// tag类型
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "ListClass")]
|
||||
public string? ListClass { get; set; }
|
||||
/// <summary>
|
||||
/// tagClass
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "CssClass")]
|
||||
public string? CssClass { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字典类型
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "DictType")]
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 字典标签
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "DictLabel")]
|
||||
public string? DictLabel { get; set; }
|
||||
/// <summary>
|
||||
/// 字典值
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "DictValue")]
|
||||
public string DictValue { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 是否为该类型的默认值
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "IsDefault")]
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager.Entities
|
||||
{
|
||||
[SugarTable("DictionaryType")]
|
||||
public class DictionaryTypeEntity : AuditedObject, IEntity<long>, ISoftDelete, IOrderNum
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 逻辑删除
|
||||
/// </summary>
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
public int OrderNum { get; set; } = 0;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public bool? State { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 字典名称
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "DictName")]
|
||||
public string DictName { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 字典类型
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "DictType")]
|
||||
public string DictType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "Remark")]
|
||||
public string? Remark { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Framework.Module.DictionaryManager.Dtos.Dictionary;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Dictionary服务抽象
|
||||
/// </summary>
|
||||
public interface IDictionaryService : ICrudAppService<DictionaryGetOutputDto, DictionaryGetListOutputDto, long, DictionaryGetListInputVo, DictionaryCreateInputVo, DictionaryUpdateInputVo>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType;
|
||||
|
||||
namespace Yi.Framework.Module.DictionaryManager
|
||||
{
|
||||
/// <summary>
|
||||
/// DictionaryType服务抽象
|
||||
/// </summary>
|
||||
public interface IDictionaryTypeService : ICrudAppService<DictionaryTypeGetOutputDto, DictionaryTypeGetListOutputDto, long, DictionaryTypeGetListInputVo, DictionaryTypeCreateInputVo, DictionaryTypeUpdateInputVo>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
43
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileEntity.cs
Normal file
43
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileEntity.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Framework.Module.FileManager
|
||||
{
|
||||
/// <summary>
|
||||
/// 文件表
|
||||
///</summary>
|
||||
[SugarTable("File")]
|
||||
public class FileEntity : IEntity<long>, IAuditedObject
|
||||
{
|
||||
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
|
||||
public long Id { get; set; }
|
||||
/// <summary>
|
||||
/// 文件类型
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "FileContentType")]
|
||||
public string? FileContentType { get; set; }
|
||||
/// <summary>
|
||||
/// 文件大小
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "FileSize")]
|
||||
public decimal FileSize { get; set; }
|
||||
/// <summary>
|
||||
/// 文件名
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "FileName")]
|
||||
public string FileName { get; set; }
|
||||
/// <summary>
|
||||
/// 文件路径
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "FilePath")]
|
||||
public string FilePath { get; set; }
|
||||
|
||||
public DateTime CreationTime { get; set; }
|
||||
public long? CreatorId { get; set; }
|
||||
|
||||
public long? LastModifierId { get; set; }
|
||||
|
||||
public DateTime? LastModificationTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Framework.Module.FileManager
|
||||
{
|
||||
public class FileGetListOutputDto : IEntityDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
}
|
||||
}
|
||||
143
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileService.cs
Normal file
143
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileService.cs
Normal file
@@ -0,0 +1,143 @@
|
||||
using Furion.DependencyInjection;
|
||||
using Furion.DynamicApiController;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Yi.Framework.Infrastructure.AspNetCore;
|
||||
using Yi.Framework.Infrastructure.Const;
|
||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Framework.Infrastructure.Enums;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Framework.Module.ImageSharp;
|
||||
|
||||
namespace Yi.Framework.Module.FileManager
|
||||
{
|
||||
/// <summary>
|
||||
/// 文件处理
|
||||
/// </summary>
|
||||
public class FileService : ApplicationService, IFileService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly IRepository<FileEntity> _repository;
|
||||
private readonly ImageSharpManager _imageSharpManager;
|
||||
private readonly HttpContext _httpContext;
|
||||
public FileService(IRepository<FileEntity> repository, ImageSharpManager imageSharpManager, IHttpContextAccessor httpContextAccessor
|
||||
)
|
||||
{
|
||||
_repository = repository;
|
||||
_imageSharpManager = imageSharpManager;
|
||||
if (httpContextAccessor.HttpContext is null)
|
||||
{
|
||||
throw new ApplicationException("HttpContext为空");
|
||||
}
|
||||
_httpContext = httpContextAccessor.HttpContext;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下载文件,是否缩略图
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("/api/file/{code}/{isThumbnail?}")]
|
||||
public async Task<IActionResult> Get([FromRoute] long code, [FromRoute] bool? isThumbnail)
|
||||
{
|
||||
var file = await _repository.GetByIdAsync(code);
|
||||
if (file is null)
|
||||
{
|
||||
return new NotFoundResult();
|
||||
}
|
||||
|
||||
var path = file.FilePath;
|
||||
//如果为缩略图,需要修改路径
|
||||
if (isThumbnail is true)
|
||||
{
|
||||
path = $"{PathConst.wwwroot}/{FileTypeEnum.Thumbnail}/{file.Id}{Path.GetExtension(file.FileName)}";
|
||||
}
|
||||
//路径为: 文件路径/文件id+文件扩展名
|
||||
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
return new NotFoundResult();
|
||||
}
|
||||
|
||||
var steam = await File.ReadAllBytesAsync(path);
|
||||
|
||||
//设置附件下载,下载名称
|
||||
_httpContext.FileAttachmentHandle(file.FileName);
|
||||
return new FileContentResult(steam, file.FileContentType ?? @"text/plain");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传文件
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<List<FileGetListOutputDto>> Post([FromForm] IFormFileCollection file)
|
||||
{
|
||||
if (file.Count() == 0)
|
||||
{
|
||||
throw new ArgumentException("文件上传为空!");
|
||||
}
|
||||
//批量插入
|
||||
List<FileEntity> entities = new();
|
||||
|
||||
foreach (var f in file)
|
||||
{
|
||||
FileEntity data = new();
|
||||
data.Id = SnowflakeHelper.NextId;
|
||||
data.FileSize = (decimal)f.Length / 1024;
|
||||
data.FileName = f.FileName;
|
||||
|
||||
|
||||
data.FileContentType = MimeHelper.GetMimeMapping(f.FileName);
|
||||
|
||||
|
||||
var type = MimeHelper.GetFileType(f.FileName);
|
||||
|
||||
//落盘文件,文件名为雪花id+自己的扩展名
|
||||
string filename = data.Id.ToString() + Path.GetExtension(f.FileName);
|
||||
string typePath = $"{PathConst.wwwroot}/{type}";
|
||||
if (!Directory.Exists(typePath))
|
||||
{
|
||||
Directory.CreateDirectory(typePath);
|
||||
}
|
||||
|
||||
var filePath = Path.Combine(typePath, filename);
|
||||
data.FilePath = filePath;
|
||||
|
||||
|
||||
//生成文件
|
||||
using (var stream = new FileStream(filePath, FileMode.CreateNew, FileAccess.ReadWrite))
|
||||
{
|
||||
await f.CopyToAsync(stream);
|
||||
|
||||
//如果是图片类型,还需要生成缩略图,当然,如果图片很小,直接复制过去即可
|
||||
if (FileTypeEnum.Image.Equals(type))
|
||||
{
|
||||
string thumbnailPath = $"{PathConst.wwwroot}/{FileTypeEnum.Thumbnail}";
|
||||
if (!Directory.Exists(thumbnailPath))
|
||||
{
|
||||
Directory.CreateDirectory(thumbnailPath);
|
||||
}
|
||||
string thumbnailFilePath = Path.Combine(thumbnailPath, filename);
|
||||
try
|
||||
{
|
||||
_imageSharpManager.ImageCompress(f.FileName, f.OpenReadStream(), thumbnailFilePath);
|
||||
}
|
||||
catch
|
||||
{
|
||||
var result = new byte[stream.Length];
|
||||
await stream.ReadAsync(result, 0, result.Length);
|
||||
await File.WriteAllBytesAsync(thumbnailFilePath, result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
entities.Add(data);
|
||||
}
|
||||
await _repository.InsertRangeAsync(entities);
|
||||
return entities.Adapt<List<FileGetListOutputDto>>();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Yi.Framework.Module.FileManager
|
||||
{
|
||||
public interface IFileService
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -29,5 +29,9 @@
|
||||
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
|
||||
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="DictionaryManager\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||
using Yi.Framework.Infrastructure.Exceptions;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Furion.Rbac.Core.ConstClasses;
|
||||
using Yi.Furion.Rbac.Core.Dtos;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Core.Rbac.ConstClasses;
|
||||
using Yi.Furion.Core.Rbac.Dtos;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Domain
|
||||
namespace Yi.Furion.Application.Rbac.Domain
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 用户领域服务
|
||||
/// </summary>
|
||||
public class AccountManager:ITransient
|
||||
public class AccountManager : ITransient
|
||||
{
|
||||
private readonly IRepository<UserEntity> _repository;
|
||||
public AccountManager(IRepository<UserEntity> repository)
|
||||
@@ -1,10 +1,10 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Domain
|
||||
namespace Yi.Furion.Application.Rbac.Domain
|
||||
{
|
||||
public class RoleManager:ITransient
|
||||
public class RoleManager : ITransient
|
||||
{
|
||||
private IRepository<RoleEntity> _repository;
|
||||
private IRepository<RoleMenuEntity> _roleMenuRepository;
|
||||
@@ -1,10 +1,10 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Domain
|
||||
namespace Yi.Furion.Application.Rbac.Domain
|
||||
{
|
||||
public class UserManager:ITransient
|
||||
public class UserManager : ITransient
|
||||
{
|
||||
private readonly IRepository<UserEntity> _repository;
|
||||
private readonly IRepository<UserRoleEntity> _repositoryUserRole;
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class CaptchaImageDto
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class LoginInputVo
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class PhoneCaptchaImageDto
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class RegisterDto
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class RestPasswordDto
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class UpdateIconDto
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||
{
|
||||
public class UpdatePasswordDto
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||
{
|
||||
/// <summary>
|
||||
/// Dept输入创建对象
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||
{
|
||||
public class DeptGetListInputVo : PagedAllResultRequestDto
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||
{
|
||||
public class DeptGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||
{
|
||||
public class DeptGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||
{
|
||||
public class DeptUpdateInputVo
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||
{
|
||||
/// <summary>
|
||||
/// Menu输入创建对象
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||
{
|
||||
public class MenuGetListInputVo : PagedAndSortedResultRequestDto
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||
{
|
||||
public class MenuGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||
{
|
||||
public class MenuGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||
{
|
||||
public class MenuUpdateInputVo
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||
{
|
||||
/// <summary>
|
||||
/// Post输入创建对象
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||
{
|
||||
public class PostGetListInputVo : PagedAndSortedResultRequestDto
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||
{
|
||||
public class PostGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||
{
|
||||
public class PostGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||
{
|
||||
public class PostUpdateInputVo
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||
{
|
||||
/// <summary>
|
||||
/// Role输入创建对象
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||
{
|
||||
public class RoleGetListInputVo : PagedAllResultRequestDto
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||
{
|
||||
public class RoleGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||
{
|
||||
public class RoleGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||
{
|
||||
public class RoleUpdateInputVo
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||
{
|
||||
public class ProfileUpdateInputVo
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||
{
|
||||
/// <summary>
|
||||
/// User输入创建对象
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||
{
|
||||
public class UserGetListInputVo : PagedAllResultRequestDto
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||
{
|
||||
public class UserGetListOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,10 +1,10 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Dept;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Post;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Role;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Dept;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Post;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Role;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||
{
|
||||
public class UserGetOutputDto : IEntityDto<long>
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
||||
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||
{
|
||||
public class UserUpdateInputVo
|
||||
{
|
||||
@@ -4,16 +4,16 @@ using UAParser;
|
||||
using Yi.Framework.Infrastructure.AspNetCore;
|
||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Rbac.Core.Etos;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
using Yi.Furion.Core.Rbac.Etos;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Event
|
||||
namespace Yi.Furion.Application.Rbac.Event
|
||||
{
|
||||
public class LoginEventHandler : IEventSubscriber,ISingleton
|
||||
public class LoginEventHandler : IEventSubscriber, ISingleton
|
||||
{
|
||||
private readonly IRepository<LoginLogEntity> _loginLogRepository;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
private HttpContext _httpContext=> _httpContextAccessor.HttpContext;
|
||||
private HttpContext _httpContext => _httpContextAccessor.HttpContext;
|
||||
public LoginEventHandler(IRepository<LoginLogEntity> loginLogRepository, IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_loginLogRepository = loginLogRepository;
|
||||
@@ -22,7 +22,7 @@ namespace Yi.Furion.Rbac.Application.System.Event
|
||||
//[EventSubscribe(nameof(LoginEventSource))]
|
||||
public Task HandlerAsync(EventHandlerExecutingContext context)
|
||||
{
|
||||
var eventData=(LoginEventArgs)context.Source.Payload;
|
||||
var eventData = (LoginEventArgs)context.Source.Payload;
|
||||
var loginLogEntity = GetLoginLogInfo(_httpContext);
|
||||
loginLogEntity.Id = SnowflakeHelper.NextId;
|
||||
loginLogEntity.LogMsg = eventData.UserName + "登录系统";
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Dept;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Dept;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services
|
||||
namespace Yi.Furion.Application.Rbac.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Dept服务抽象
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Menu;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Menu;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services
|
||||
namespace Yi.Furion.Application.Rbac.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Menu服务抽象
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Post;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Post;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services
|
||||
namespace Yi.Furion.Application.Rbac.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Post服务抽象
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Role;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Role;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services
|
||||
namespace Yi.Furion.Application.Rbac.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Role服务抽象
|
||||
@@ -1,7 +1,7 @@
|
||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.User;
|
||||
using Yi.Furion.Application.Rbac.Dtos.User;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services
|
||||
namespace Yi.Furion.Application.Rbac.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// User服务抽象
|
||||
@@ -9,15 +9,15 @@ using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Framework.Infrastructure.Exceptions;
|
||||
using Yi.Framework.Module.ImageSharp.HeiCaptcha;
|
||||
using Yi.Framework.Module.Sms.Aliyun;
|
||||
using Yi.Furion.Rbac.Application.System.Domain;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Account;
|
||||
using Yi.Furion.Rbac.Core.ConstClasses;
|
||||
using Yi.Furion.Rbac.Core.Dtos;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Rbac.Core.Etos;
|
||||
using Yi.Furion.Rbac.Sqlsugar.Core.Repositories;
|
||||
using Yi.Furion.Application.Rbac.Domain;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Account;
|
||||
using Yi.Furion.Core.Rbac.ConstClasses;
|
||||
using Yi.Furion.Core.Rbac.Dtos;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
using Yi.Furion.Core.Rbac.Etos;
|
||||
using Yi.Furion.Sqlsugar.Core.Repositories;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||
{
|
||||
public class AccountService : ApplicationService, ITransient, IDynamicApiController
|
||||
{
|
||||
@@ -251,16 +251,16 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
throw new UserFriendlyException("用户已存在,注册失败");
|
||||
}
|
||||
|
||||
var newUser = new UserEntity(input.UserName, input.Password, input.Phone);
|
||||
var newUser = new UserEntity(input.UserName, input.Password, input.Phone);
|
||||
|
||||
var entity = await _userRepository.InsertReturnEntityAsync(newUser);
|
||||
//赋上一个初始角色
|
||||
var roleRepository = _roleRepository;
|
||||
var role = await roleRepository.GetFirstAsync(x => x.RoleCode == UserConst.GuestRoleCode);
|
||||
if (role is not null)
|
||||
{
|
||||
await _userManager.GiveUserSetRoleAsync(new List<long> { entity.Id }, new List<long> { role.Id });
|
||||
}
|
||||
var entity = await _userRepository.InsertReturnEntityAsync(newUser);
|
||||
//赋上一个初始角色
|
||||
var roleRepository = _roleRepository;
|
||||
var role = await roleRepository.GetFirstAsync(x => x.RoleCode == UserConst.GuestRoleCode);
|
||||
if (role is not null)
|
||||
{
|
||||
await _userManager.GiveUserSetRoleAsync(new List<long> { entity.Id }, new List<long> { role.Id });
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Dept;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Dept;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||
{
|
||||
/// <summary>
|
||||
/// Dept服务实现
|
||||
@@ -1,10 +1,11 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Menu;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Menu;
|
||||
using Yi.Furion.Application.Rbac.Services;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||
{
|
||||
/// <summary>
|
||||
/// Menu服务实现
|
||||
@@ -1,10 +1,10 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Post;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Post;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||
{
|
||||
/// <summary>
|
||||
/// Post服务实现
|
||||
@@ -1,11 +1,11 @@
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Furion.Rbac.Application.System.Domain;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.Role;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Application.Rbac.Domain;
|
||||
using Yi.Furion.Application.Rbac.Dtos.Role;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||
{
|
||||
/// <summary>
|
||||
/// Role服务实现
|
||||
@@ -14,8 +14,8 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
IRoleService, ITransient, IDynamicApiController
|
||||
{
|
||||
public RoleService(RoleManager roleManager) =>
|
||||
(_roleManager) =
|
||||
(roleManager);
|
||||
_roleManager =
|
||||
roleManager;
|
||||
private RoleManager _roleManager { get; set; }
|
||||
|
||||
|
||||
@@ -45,10 +45,10 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
RoleGetOutputDto outputDto;
|
||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||
//{
|
||||
var entity = await MapToEntityAsync(input);
|
||||
await _repository.InsertAsync(entity);
|
||||
outputDto = await MapToGetOutputDtoAsync(entity);
|
||||
await _roleManager.GiveRoleSetMenuAsync(new List<long> { entity.Id }, input.MenuIds);
|
||||
var entity = await MapToEntityAsync(input);
|
||||
await _repository.InsertAsync(entity);
|
||||
outputDto = await MapToGetOutputDtoAsync(entity);
|
||||
await _roleManager.GiveRoleSetMenuAsync(new List<long> { entity.Id }, input.MenuIds);
|
||||
// uow.Commit();
|
||||
//}
|
||||
|
||||
@@ -67,13 +67,13 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
var dto = new RoleGetOutputDto();
|
||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||
//{
|
||||
var entity = await _repository.GetByIdAsync(id);
|
||||
await MapToEntityAsync(input, entity);
|
||||
await _repository.UpdateAsync(entity);
|
||||
var entity = await _repository.GetByIdAsync(id);
|
||||
await MapToEntityAsync(input, entity);
|
||||
await _repository.UpdateAsync(entity);
|
||||
|
||||
await _roleManager.GiveRoleSetMenuAsync(new List<long> { id }, input.MenuIds);
|
||||
await _roleManager.GiveRoleSetMenuAsync(new List<long> { id }, input.MenuIds);
|
||||
|
||||
dto = await MapToGetOutputDtoAsync(entity);
|
||||
dto = await MapToGetOutputDtoAsync(entity);
|
||||
// uow.Commit();
|
||||
//}
|
||||
return dto;
|
||||
@@ -4,13 +4,13 @@ using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||
using Yi.Framework.Infrastructure.Exceptions;
|
||||
using Yi.Framework.Module.OperLogManager;
|
||||
using Yi.Furion.Rbac.Application.System.Domain;
|
||||
using Yi.Furion.Rbac.Application.System.Dtos.User;
|
||||
using Yi.Furion.Rbac.Core.ConstClasses;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Rbac.Sqlsugar.Core.Repositories;
|
||||
using Yi.Furion.Application.Rbac.Domain;
|
||||
using Yi.Furion.Application.Rbac.Dtos.User;
|
||||
using Yi.Furion.Core.Rbac.ConstClasses;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
using Yi.Furion.Sqlsugar.Core.Repositories;
|
||||
|
||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||
{
|
||||
/// <summary>
|
||||
/// User服务实现
|
||||
@@ -21,13 +21,13 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
|
||||
|
||||
public UserService(UserManager userManager, IUserRepository userRepository, ICurrentUser currentUser) =>
|
||||
(_userManager, _userRepository, _currentUser) =
|
||||
(_userManager, _userRepository, _currentUser) =
|
||||
(userManager, userRepository, currentUser);
|
||||
private UserManager _userManager { get; set; }
|
||||
|
||||
private IUserRepository _userRepository { get; set; }
|
||||
|
||||
|
||||
|
||||
private ICurrentUser _currentUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -89,13 +89,13 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
|
||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||
//{
|
||||
var returnEntity = await _repository.InsertReturnEntityAsync(entities);
|
||||
await _userManager.GiveUserSetRoleAsync(new List<long> { returnEntity.Id }, input.RoleIds);
|
||||
await _userManager.GiveUserSetPostAsync(new List<long> { returnEntity.Id }, input.PostIds);
|
||||
//uow.Commit();
|
||||
var returnEntity = await _repository.InsertReturnEntityAsync(entities);
|
||||
await _userManager.GiveUserSetRoleAsync(new List<long> { returnEntity.Id }, input.RoleIds);
|
||||
await _userManager.GiveUserSetPostAsync(new List<long> { returnEntity.Id }, input.PostIds);
|
||||
//uow.Commit();
|
||||
|
||||
var result = await MapToGetOutputDtoAsync(returnEntity);
|
||||
return result;
|
||||
var result = await MapToGetOutputDtoAsync(returnEntity);
|
||||
return result;
|
||||
//}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -135,9 +135,9 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
||||
await MapToEntityAsync(input, entity);
|
||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||
//{
|
||||
var res1 = await _repository.UpdateAsync(entity);
|
||||
await _userManager.GiveUserSetRoleAsync(new List<long> { id }, input.RoleIds);
|
||||
await _userManager.GiveUserSetPostAsync(new List<long> { id }, input.PostIds);
|
||||
var res1 = await _repository.UpdateAsync(entity);
|
||||
await _userManager.GiveUserSetRoleAsync(new List<long> { id }, input.RoleIds);
|
||||
await _userManager.GiveUserSetPostAsync(new List<long> { id }, input.PostIds);
|
||||
// uow.Commit();
|
||||
//}
|
||||
return await MapToGetOutputDtoAsync(entity);
|
||||
@@ -4,7 +4,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
<DocumentationFile>Yi.Furion.Rbac.Application.xml</DocumentationFile>
|
||||
<DocumentationFile>Yi.Furion.Application.xml</DocumentationFile>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="applicationsettings.json" />
|
||||
<None Remove="Yi.Furion.Rbac.Application.xml" />
|
||||
<None Remove="Yi.Furion.Application.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -24,11 +24,11 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Infrastructure\Yi.Framework.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.Module\Yi.Framework.Module.csproj" />
|
||||
<ProjectReference Include="..\Yi.Furion.Rbac.EntityFramework.Core\Yi.Furion.Rbac.Sqlsugar.Core.csproj" />
|
||||
<ProjectReference Include="..\Yi.Furion.Sqlsugar.Core\Yi.Furion.Sqlsugar.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="System\Dtos\" />
|
||||
<Folder Include="Bbs\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
364
Yi.Furion.Rbac/Yi.Furion.Application/Yi.Furion.Application.xml
Normal file
364
Yi.Furion.Rbac/Yi.Furion.Application/Yi.Furion.Application.xml
Normal file
@@ -0,0 +1,364 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Yi.Furion.Application</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Domain.AccountManager">
|
||||
<summary>
|
||||
用户领域服务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.LoginValidationAsync(System.String,System.String,System.Action{Yi.Furion.Core.Rbac.Entities.UserEntity})">
|
||||
<summary>
|
||||
登录效验
|
||||
</summary>
|
||||
<param name="userName"></param>
|
||||
<param name="password"></param>
|
||||
<param name="userAction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.ExistAsync(System.String,System.Action{Yi.Furion.Core.Rbac.Entities.UserEntity})">
|
||||
<summary>
|
||||
判断账户合法存在
|
||||
</summary>
|
||||
<param name="userName"></param>
|
||||
<param name="userAction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.UserInfoToClaim(Yi.Furion.Core.Rbac.Dtos.UserRoleMenuDto)">
|
||||
<summary>
|
||||
令牌转换
|
||||
</summary>
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.UpdatePasswordAsync(System.Int64,System.String,System.String)">
|
||||
<summary>
|
||||
更新密码
|
||||
</summary>
|
||||
<param name="userId"></param>
|
||||
<param name="newPassword"></param>
|
||||
<param name="oldPassword"></param>
|
||||
<returns></returns>
|
||||
<exception cref="T:Yi.Framework.Infrastructure.Exceptions.UserFriendlyException"></exception>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.RestPasswordAsync(System.Int64,System.String)">
|
||||
<summary>
|
||||
重置密码
|
||||
</summary>
|
||||
<param name="userId"></param>
|
||||
<param name="password"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.RoleManager.GiveRoleSetMenuAsync(System.Collections.Generic.List{System.Int64},System.Collections.Generic.List{System.Int64})">
|
||||
<summary>
|
||||
给角色设置菜单
|
||||
</summary>
|
||||
<param name="roleIds"></param>
|
||||
<param name="menuIds"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.UserManager.GiveUserSetRoleAsync(System.Collections.Generic.List{System.Int64},System.Collections.Generic.List{System.Int64})">
|
||||
<summary>
|
||||
给用户设置角色
|
||||
</summary>
|
||||
<param name="userIds"></param>
|
||||
<param name="roleIds"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Domain.UserManager.GiveUserSetPostAsync(System.Collections.Generic.List{System.Int64},System.Collections.Generic.List{System.Int64})">
|
||||
<summary>
|
||||
给用户设置岗位
|
||||
</summary>
|
||||
<param name="userIds"></param>
|
||||
<param name="postIds"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.UserName">
|
||||
<summary>
|
||||
账号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Password">
|
||||
<summary>
|
||||
密码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Uuid">
|
||||
<summary>
|
||||
唯一标识码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Phone">
|
||||
<summary>
|
||||
电话
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Code">
|
||||
<summary>
|
||||
验证码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Dtos.Dept.DeptCreateInputVo">
|
||||
<summary>
|
||||
Dept输入创建对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Dtos.Menu.MenuCreateInputVo">
|
||||
<summary>
|
||||
Menu输入创建对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Dtos.Post.PostCreateInputVo">
|
||||
<summary>
|
||||
Post输入创建对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Dtos.Role.RoleCreateInputVo">
|
||||
<summary>
|
||||
Role输入创建对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Dtos.User.UserCreateInputVo">
|
||||
<summary>
|
||||
User输入创建对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Event.LoginEventHandler.GetClientInfo(Microsoft.AspNetCore.Http.HttpContext)">
|
||||
<summary>
|
||||
获取客户端信息
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Event.LoginEventHandler.GetLoginLogInfo(Microsoft.AspNetCore.Http.HttpContext)">
|
||||
<summary>
|
||||
记录用户登陆信息
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.IDeptService">
|
||||
<summary>
|
||||
Dept服务抽象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.IMenuService">
|
||||
<summary>
|
||||
Menu服务抽象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.ValidationImageCaptcha(Yi.Furion.Application.Rbac.Dtos.Account.LoginInputVo)">
|
||||
<summary>
|
||||
效验图片登录验证码,无需和账号绑定
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.ValidationPhoneCaptcha(Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto)">
|
||||
<summary>
|
||||
效验电话验证码,需要与电话号码绑定
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostLoginAsync(Yi.Furion.Application.Rbac.Dtos.Account.LoginInputVo)">
|
||||
<summary>
|
||||
登录
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.GetCaptchaImage">
|
||||
<summary>
|
||||
生成验证码
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.ValidationPhone(System.String)">
|
||||
<summary>
|
||||
验证电话号码
|
||||
</summary>
|
||||
<param name="str_handset"></param>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostCaptchaPhone(Yi.Furion.Application.Rbac.Dtos.Account.PhoneCaptchaImageDto)">
|
||||
<summary>
|
||||
注册 手机验证码
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostRegisterAsync(Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto)">
|
||||
<summary>
|
||||
注册,需要验证码通过
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.Get">
|
||||
<summary>
|
||||
查询已登录的账户信息
|
||||
</summary>
|
||||
<returns></returns>
|
||||
<exception cref="T:Yi.Framework.Infrastructure.Exceptions.AuthException"></exception>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.GetVue3Router">
|
||||
<summary>
|
||||
获取当前登录用户的前端路由
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostLogout">
|
||||
<summary>
|
||||
退出登录
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.UpdatePasswordAsync(Yi.Furion.Application.Rbac.Dtos.Account.UpdatePasswordDto)">
|
||||
<summary>
|
||||
更新密码
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.RestPasswordAsync(System.Int64,Yi.Furion.Application.Rbac.Dtos.Account.RestPasswordDto)">
|
||||
<summary>
|
||||
重置密码
|
||||
</summary>
|
||||
<param name="userId"></param>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.UpdateIconAsync(Yi.Furion.Application.Rbac.Dtos.Account.UpdateIconDto)">
|
||||
<summary>
|
||||
更新头像
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.DeptService">
|
||||
<summary>
|
||||
Dept服务实现
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.DeptService.GetListRoleIdAsync(System.Int64)">
|
||||
<summary>
|
||||
通过角色id查询该角色全部部门
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.DeptService.GetListAsync(Yi.Furion.Application.Rbac.Dtos.Dept.DeptGetListInputVo)">
|
||||
<summary>
|
||||
多查
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.MenuService">
|
||||
<summary>
|
||||
Menu服务实现
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.MenuService.GetListRoleIdAsync(System.Int64)">
|
||||
<summary>
|
||||
查询当前角色的菜单
|
||||
</summary>
|
||||
<param name="roleId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.PostService">
|
||||
<summary>
|
||||
Post服务实现
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.RoleService">
|
||||
<summary>
|
||||
Role服务实现
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.RoleService.CreateAsync(Yi.Furion.Application.Rbac.Dtos.Role.RoleCreateInputVo)">
|
||||
<summary>
|
||||
添加角色
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.RoleService.UpdateAsync(System.Int64,Yi.Furion.Application.Rbac.Dtos.Role.RoleUpdateInputVo)">
|
||||
<summary>
|
||||
修改角色
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.RoleService.UpdateStateAsync(System.Int64,System.Boolean)">
|
||||
<summary>
|
||||
更新状态
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="state"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.UserService">
|
||||
<summary>
|
||||
User服务实现
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.GetListAsync(Yi.Furion.Application.Rbac.Dtos.User.UserGetListInputVo)">
|
||||
<summary>
|
||||
查询用户
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.CreateAsync(Yi.Furion.Application.Rbac.Dtos.User.UserCreateInputVo)">
|
||||
<summary>
|
||||
添加用户
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
<exception cref="T:Yi.Framework.Infrastructure.Exceptions.UserFriendlyException"></exception>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.GetAsync(System.Int64)">
|
||||
<summary>
|
||||
单查
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.UpdateAsync(System.Int64,Yi.Furion.Application.Rbac.Dtos.User.UserUpdateInputVo)">
|
||||
<summary>
|
||||
更新用户
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.UpdateProfileAsync(Yi.Furion.Application.Rbac.Dtos.User.ProfileUpdateInputVo)">
|
||||
<summary>
|
||||
更新个人中心
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.UpdateStateAsync(System.Int64,System.Boolean)">
|
||||
<summary>
|
||||
更新状态
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="state"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.IPostService">
|
||||
<summary>
|
||||
Post服务抽象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.IRoleService">
|
||||
<summary>
|
||||
Role服务抽象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Application.Rbac.Services.IUserService">
|
||||
<summary>
|
||||
User服务抽象
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
||||
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
||||
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
||||
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
||||
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
||||
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||
{
|
||||
/// <summary>
|
||||
/// 常量定义
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Yi.Furion.Rbac.Core.Entities;
|
||||
using Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Dtos
|
||||
namespace Yi.Furion.Core.Rbac.Dtos
|
||||
{
|
||||
public class UserRoleMenuDto
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using static Yi.Framework.Infrastructure.Helper.TreeHelper;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Dtos
|
||||
namespace Yi.Furion.Core.Rbac.Dtos
|
||||
{
|
||||
public class Vue3RouterDto : ITreeModel<Vue3RouterDto>
|
||||
{
|
||||
@@ -7,7 +7,7 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 部门表
|
||||
@@ -3,7 +3,7 @@ using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
[SugarTable("LoginLog")]
|
||||
public class LoginLogEntity : IEntity<long>, ICreationAuditedObject
|
||||
@@ -6,10 +6,10 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Furion.Rbac.Core.Dtos;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.Dtos;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 菜单表
|
||||
@@ -4,7 +4,7 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 岗位表
|
||||
@@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities;
|
||||
namespace Yi.Furion.Core.Rbac.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 角色部门关系表
|
||||
@@ -4,9 +4,9 @@ using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色表
|
||||
@@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities;
|
||||
namespace Yi.Furion.Core.Rbac.Entities;
|
||||
/// <summary>
|
||||
/// 角色菜单关系表
|
||||
///</summary>
|
||||
@@ -5,9 +5,9 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
||||
using Yi.Framework.Infrastructure.Data.Entities;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
using Yi.Framework.Infrastructure.Helper;
|
||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
||||
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户表
|
||||
@@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities;
|
||||
namespace Yi.Furion.Core.Rbac.Entities;
|
||||
/// <summary>
|
||||
/// 用户岗位表
|
||||
///</summary>
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using SqlSugar;
|
||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Entities
|
||||
namespace Yi.Furion.Core.Rbac.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户角色关系表
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.EnumClasses
|
||||
namespace Yi.Furion.Core.Rbac.EnumClasses
|
||||
{
|
||||
public enum DataScopeEnum
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.EnumClasses
|
||||
namespace Yi.Furion.Core.Rbac.EnumClasses
|
||||
{
|
||||
public enum MenuTypeEnum
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.EnumClasses
|
||||
namespace Yi.Furion.Core.Rbac.EnumClasses
|
||||
{
|
||||
/// <summary>
|
||||
/// 性别
|
||||
@@ -6,7 +6,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Furion.EventBus;
|
||||
|
||||
namespace Yi.Furion.Rbac.Core.Etos
|
||||
namespace Yi.Furion.Core.Rbac.Etos
|
||||
{
|
||||
public class LoginEventSource : IEventSource
|
||||
{
|
||||
@@ -4,13 +4,13 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
<DocumentationFile>Yi.Furion.Rbac.Core.xml</DocumentationFile>
|
||||
<DocumentationFile>Yi.Furion.Core.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Yi.Furion.Rbac.Core.xml" />
|
||||
<None Remove="Yi.Furion.Core.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -27,4 +27,10 @@
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Bbs\" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
||||
622
Yi.Furion.Rbac/Yi.Furion.Core/Yi.Furion.Core.xml
Normal file
622
Yi.Furion.Rbac/Yi.Furion.Core/Yi.Furion.Core.xml
Normal file
@@ -0,0 +1,622 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Yi.Furion.Core</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.DeptConst">
|
||||
<summary>
|
||||
常量定义
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.MenuConst">
|
||||
<summary>
|
||||
常量定义
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.PostConst">
|
||||
<summary>
|
||||
常量定义
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.RoleConst">
|
||||
<summary>
|
||||
常量定义
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.UserConst">
|
||||
<summary>
|
||||
常量定义
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.DeptEntity">
|
||||
<summary>
|
||||
部门表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.IsDeleted">
|
||||
<summary>
|
||||
逻辑删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.CreationTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.CreatorId">
|
||||
<summary>
|
||||
创建者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.LastModifierId">
|
||||
<summary>
|
||||
最后修改者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.LastModificationTime">
|
||||
<summary>
|
||||
最后修改时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.OrderNum">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.State">
|
||||
<summary>
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.DeptName">
|
||||
<summary>
|
||||
部门名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.DeptCode">
|
||||
<summary>
|
||||
部门编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.Leader">
|
||||
<summary>
|
||||
负责人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.ParentId">
|
||||
<summary>
|
||||
父级id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.Remark">
|
||||
<summary>
|
||||
描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LoginUser">
|
||||
<summary>
|
||||
登录用户
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LoginLocation">
|
||||
<summary>
|
||||
登录地点
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LoginIp">
|
||||
<summary>
|
||||
登录Ip
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.Browser">
|
||||
<summary>
|
||||
浏览器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.Os">
|
||||
<summary>
|
||||
操作系统
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LogMsg">
|
||||
<summary>
|
||||
登录信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.MenuEntity">
|
||||
<summary>
|
||||
菜单表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsDeleted">
|
||||
<summary>
|
||||
逻辑删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.CreationTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.CreatorId">
|
||||
<summary>
|
||||
创建者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.LastModifierId">
|
||||
<summary>
|
||||
最后修改者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.LastModificationTime">
|
||||
<summary>
|
||||
最后修改时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.OrderNum">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.State">
|
||||
<summary>
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.MenuName">
|
||||
<summary>
|
||||
菜单名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.MenuType">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.PermissionCode">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.ParentId">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.MenuIcon">
|
||||
<summary>
|
||||
菜单图标
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Router">
|
||||
<summary>
|
||||
菜单组件路由
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsLink">
|
||||
<summary>
|
||||
是否为外部链接
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsCache">
|
||||
<summary>
|
||||
是否缓存
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsShow">
|
||||
<summary>
|
||||
是否显示
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Remark">
|
||||
<summary>
|
||||
描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Component">
|
||||
<summary>
|
||||
组件路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Query">
|
||||
<summary>
|
||||
路由参数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.MenuEntityExtensions">
|
||||
<summary>
|
||||
实体扩展
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Core.Rbac.Entities.MenuEntityExtensions.Vue3RouterBuild(System.Collections.Generic.List{Yi.Furion.Core.Rbac.Entities.MenuEntity})">
|
||||
<summary>
|
||||
构建vue3路由
|
||||
</summary>
|
||||
<param name="menus"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.PostEntity">
|
||||
<summary>
|
||||
岗位表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.IsDeleted">
|
||||
<summary>
|
||||
逻辑删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.CreationTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.CreatorId">
|
||||
<summary>
|
||||
创建者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.LastModifierId">
|
||||
<summary>
|
||||
最后修改者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.LastModificationTime">
|
||||
<summary>
|
||||
最后修改时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.OrderNum">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.State">
|
||||
<summary>
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.PostCode">
|
||||
<summary>
|
||||
岗位编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.PostName">
|
||||
<summary>
|
||||
岗位名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.Remark">
|
||||
<summary>
|
||||
描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity">
|
||||
<summary>
|
||||
角色部门关系表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity.RoleId">
|
||||
<summary>
|
||||
角色id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity.DeptId">
|
||||
<summary>
|
||||
部门id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.RoleEntity">
|
||||
<summary>
|
||||
角色表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.IsDeleted">
|
||||
<summary>
|
||||
逻辑删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.CreationTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.CreatorId">
|
||||
<summary>
|
||||
创建者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.LastModifierId">
|
||||
<summary>
|
||||
最后修改者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.LastModificationTime">
|
||||
<summary>
|
||||
最后修改时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.OrderNum">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.RoleName">
|
||||
<summary>
|
||||
角色名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.RoleCode">
|
||||
<summary>
|
||||
角色编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.Remark">
|
||||
<summary>
|
||||
描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.DataScope">
|
||||
<summary>
|
||||
角色数据范围
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.State">
|
||||
<summary>
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity">
|
||||
<summary>
|
||||
角色菜单关系表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity.RoleId">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity.MenuId">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.UserEntity">
|
||||
<summary>
|
||||
用户表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.IsDeleted">
|
||||
<summary>
|
||||
逻辑删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Name">
|
||||
<summary>
|
||||
姓名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Age">
|
||||
<summary>
|
||||
年龄
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.UserName">
|
||||
<summary>
|
||||
用户名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Password">
|
||||
<summary>
|
||||
密码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Salt">
|
||||
<summary>
|
||||
加密盐值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Icon">
|
||||
<summary>
|
||||
头像
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Nick">
|
||||
<summary>
|
||||
昵称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Email">
|
||||
<summary>
|
||||
邮箱
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Ip">
|
||||
<summary>
|
||||
Ip
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Address">
|
||||
<summary>
|
||||
地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Phone">
|
||||
<summary>
|
||||
电话
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Introduction">
|
||||
<summary>
|
||||
简介
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Remark">
|
||||
<summary>
|
||||
备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Sex">
|
||||
<summary>
|
||||
性别
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.DeptId">
|
||||
<summary>
|
||||
部门id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.CreationTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.CreatorId">
|
||||
<summary>
|
||||
创建者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.LastModifierId">
|
||||
<summary>
|
||||
最后修改者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.LastModificationTime">
|
||||
<summary>
|
||||
最后修改时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.OrderNum">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.State">
|
||||
<summary>
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Roles">
|
||||
<summary>
|
||||
角色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Posts">
|
||||
<summary>
|
||||
岗位
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Dept">
|
||||
<summary>
|
||||
部门
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Core.Rbac.Entities.UserEntity.BuildPassword(System.String)">
|
||||
<summary>
|
||||
构建密码,MD5盐值加密
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Furion.Core.Rbac.Entities.UserEntity.JudgePassword(System.String)">
|
||||
<summary>
|
||||
判断密码和加密后的密码是否相同
|
||||
</summary>
|
||||
<param name="password"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.UserPostEntity">
|
||||
<summary>
|
||||
用户岗位表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserPostEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserPostEntity.UserId">
|
||||
<summary>
|
||||
用户id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserPostEntity.PostId">
|
||||
<summary>
|
||||
岗位id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.Entities.UserRoleEntity">
|
||||
<summary>
|
||||
用户角色关系表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserRoleEntity.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserRoleEntity.RoleId">
|
||||
<summary>
|
||||
角色id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Furion.Core.Rbac.Entities.UserRoleEntity.UserId">
|
||||
<summary>
|
||||
用户id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Yi.Furion.Core.Rbac.EnumClasses.SexEnum">
|
||||
<summary>
|
||||
性别
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Yi.Furion.Core.Rbac.EnumClasses.SexEnum.Male">
|
||||
<summary>
|
||||
男性
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Yi.Furion.Core.Rbac.EnumClasses.SexEnum.Woman">
|
||||
<summary>
|
||||
女性
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Yi.Furion.Core.Rbac.EnumClasses.SexEnum.Unknown">
|
||||
<summary>
|
||||
未知
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user