重大更新
This commit is contained in:
parent
3b4abc97fb
commit
9615c8297a
@ -34,7 +34,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(Permission = "deviceManagement:deviceinspect:list")]
|
||||
|
||||
public IActionResult QueryDeviceInspect([FromQuery] DeviceInspectQueryDto parm)
|
||||
{
|
||||
var response = _DeviceInspectService.GetList(parm);
|
||||
|
||||
@ -31,7 +31,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(Permission = "business:devicemaintenancerecord:list")]
|
||||
// [ActionPermissionFilter(Permission = "business:devicemaintenancerecord:list")]
|
||||
public IActionResult QueryDeviceMaintenanceRecord([FromQuery] DeviceMaintenanceRecordQueryDto parm)
|
||||
{
|
||||
var response = _DeviceMaintenanceRecordService.GetList(parm);
|
||||
|
||||
@ -31,7 +31,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(Permission = "deviceManagement:devicepointinspectionplan:list")]
|
||||
|
||||
public IActionResult QueryDevicePointInspectionPlan([FromQuery] DevicePointInspectionPlanQueryDto parm)
|
||||
{
|
||||
var response = _DevicePointInspectionPlanService.GetList(parm);
|
||||
|
||||
@ -31,7 +31,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("list")]
|
||||
[ActionPermissionFilter(Permission = "business:devicerepair:list")]
|
||||
|
||||
public IActionResult QueryDeviceRepair([FromBody] DeviceRepairQueryDto parm)
|
||||
{
|
||||
var response = _DeviceRepairService.GetList(parm);
|
||||
|
||||
@ -31,7 +31,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(Permission = "deviceManagement:devicerouteinspectionplan:list")]
|
||||
|
||||
public IActionResult QueryDeviceRouteInspectionPlan([FromQuery] DeviceRouteInspectionPlanQueryDto parm)
|
||||
{
|
||||
var response = _DeviceRouteInspectionPlanService.GetList(parm);
|
||||
|
||||
@ -35,7 +35,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("list")]
|
||||
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:list")]
|
||||
|
||||
public IActionResult QueryDeviceTaskExecute([FromBody] DeviceTaskExecuteQueryDto parm)
|
||||
{
|
||||
var response = _DeviceTaskExecuteService.GetList(parm);
|
||||
@ -83,6 +83,8 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
[Log(Title = "任务执行", BusinessType = BusinessType.UPDATE)]
|
||||
public IActionResult UpdateDeviceTaskExecute([FromBody] DeviceTaskExecuteDto parm)
|
||||
{
|
||||
|
||||
Console.WriteLine(HttpContext.User?.Identity?.Name);
|
||||
var modal = parm.Adapt<DeviceTaskExecute>().ToUpdate(HttpContext);
|
||||
var response = _DeviceTaskExecuteService.UpdateDeviceTaskExecute(modal);
|
||||
|
||||
@ -308,7 +310,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
{
|
||||
return SUCCESS(null);
|
||||
}
|
||||
result.ToUpdate(HttpContext);
|
||||
result.ToUpdate_nickName(HttpContext);
|
||||
int res=_DeviceTaskExecuteService.UpdateFormResult(result);
|
||||
return SUCCESS(res);
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecuteresult1:list")]
|
||||
|
||||
public IActionResult QueryDeviceTaskExecuteResult1([FromQuery] DeviceTaskExecuteResultQueryDto parm)
|
||||
{
|
||||
var response = _DeviceTaskExecuteResultService.GetList(parm);
|
||||
|
||||
@ -76,7 +76,9 @@ namespace DOAN.Admin.WebApi.Controllers.System
|
||||
List<string> permissions = permissionService.GetMenuPermission(user);
|
||||
|
||||
TokenModel loginUser = new(user.Adapt<TokenModel>(), roles.Adapt<List<Roles>>());
|
||||
loginUser.NickName = user.NickName;
|
||||
CacheService.SetUserPerms(GlobalConstant.UserPermKEY + user.UserId, permissions);
|
||||
//TODO 生成token (HttpContext.User的赋值)
|
||||
return SUCCESS(JwtUtil.GenerateJwtToken(JwtUtil.AddClaims(loginUser)));
|
||||
}
|
||||
|
||||
|
||||
@ -21,8 +21,24 @@ builder.Services.AddControllers();
|
||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen();
|
||||
//注入HttpContextAccessor
|
||||
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
|
||||
//注入HttpContextAccessor TODO 这地方就是配置httpcontext https://blog.csdn.net/iqifenxia/article/details/121740805
|
||||
//builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
|
||||
builder.Services.AddHttpContextAccessor();
|
||||
/*
|
||||
在ASP.NET Core中,`IHttpContextAccessor`是用于访问HTTP请求上下文的接口,而`HttpContextAccessor`是`IHttpContextAccessor`接口的一个默认实现。
|
||||
|
||||
区别在于:
|
||||
1. `Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>()`会将`HttpContextAccessor`注册为`IHttpContextAccessor`接口的实现,并使用单例模式(singleton)将实例注册到应用程序中。这意味着在整个应用程序生命周期中,只会有一个`HttpContextAccessor`实例被创建并共享。
|
||||
|
||||
2. `Services.AddHttpContextAccessor()`是ASP.NET Core提供的一种快捷方法,会将`HttpContextAccessor`注册为`IHttpContextAccessor`接口的默认实现,并采用Scoped生命周期。Scoped生命周期意味着在同一个请求范围内,每次请求都会创建一个新的`HttpContextAccessor`实例,并在请求结束时销毁。
|
||||
|
||||
通常建议使用`Services.AddHttpContextAccessor()`来注册`HttpContextAccessor`,因为它是ASP.NET Core的标准做法,而且会自动处理实例的生命周期管理。
|
||||
|
||||
希望这个解释对您有帮助!如果您有任何其他问题,请随时告诉我。
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// 跨域配置
|
||||
builder.Services.AddCors(builder.Configuration);
|
||||
// 显示logo
|
||||
@ -35,8 +51,8 @@ builder.Services.AddCaptcha(builder.Configuration);
|
||||
//IPRatelimit
|
||||
builder.Services.AddIPRate(builder.Configuration);
|
||||
|
||||
//builder.Services.AddSession();
|
||||
builder.Services.AddHttpContextAccessor();
|
||||
//builder.Services.AddSession();
|
||||
|
||||
//绑定整个对象到Model上
|
||||
builder.Services.Configure<OptionsSetting>(builder.Configuration);
|
||||
|
||||
|
||||
@ -130,7 +130,7 @@ namespace Infrastructure
|
||||
if (jwtSecurityToken == null) return null;
|
||||
IEnumerable<Claim> claims = jwtSecurityToken?.Claims;
|
||||
TokenModel loginUser = null;
|
||||
|
||||
//TODO 取出ClaimTypes.UserData 用户数据信息
|
||||
var userData = claims.FirstOrDefault(x => x.Type == ClaimTypes.UserData)?.Value;
|
||||
if (userData != null)
|
||||
{
|
||||
@ -157,6 +157,7 @@ namespace Infrastructure
|
||||
{
|
||||
new Claim(ClaimTypes.PrimarySid, user.UserId.ToString()),
|
||||
new Claim(ClaimTypes.Name, user.UserName),
|
||||
|
||||
new Claim(ClaimTypes.UserData, JsonConvert.SerializeObject(user))
|
||||
};
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ namespace Infrastructure.Model
|
||||
public long UserId { get; set; }
|
||||
public long DeptId { get; set; }
|
||||
public string UserName { get; set; }
|
||||
public string NickName { get; set; }
|
||||
/// <summary>
|
||||
/// 角色集合
|
||||
/// </summary>
|
||||
|
||||
@ -25,6 +25,29 @@ namespace Infrastructure
|
||||
|
||||
return source;
|
||||
}
|
||||
/// <summary>
|
||||
/// 用昵称创造
|
||||
/// </summary>
|
||||
/// <typeparam name="TSource"></typeparam>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="context"></param>
|
||||
/// <returns></returns>
|
||||
public static TSource ToCreate_nickName<TSource>(this TSource source, HttpContext? context = null)
|
||||
{
|
||||
var types = source?.GetType();
|
||||
if (types == null || context == null) return source;
|
||||
BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
|
||||
|
||||
types.GetProperty("CreateTime", flag)?.SetValue(source, DateTime.Now, null);
|
||||
types.GetProperty("CreatedTime", flag)?.SetValue(source, DateTime.Now, null);
|
||||
types.GetProperty("AddTime", flag)?.SetValue(source, DateTime.Now, null);
|
||||
types.GetProperty("CreateBy", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
types.GetProperty("CreatedBy", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
types.GetProperty("Create_by", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
types.GetProperty("UserId", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
|
||||
return source;
|
||||
}
|
||||
|
||||
public static TSource ToUpdate<TSource>(this TSource source, HttpContext? context = null)
|
||||
{
|
||||
@ -41,6 +64,28 @@ namespace Infrastructure
|
||||
|
||||
return source;
|
||||
}
|
||||
/// <summary>
|
||||
/// 用昵称更新
|
||||
/// </summary>
|
||||
/// <typeparam name="TSource"></typeparam>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="context"></param>
|
||||
/// <returns></returns>
|
||||
public static TSource ToUpdate_nickName<TSource>(this TSource source, HttpContext? context = null)
|
||||
{
|
||||
var types = source?.GetType();
|
||||
if (types == null || context == null) return source;
|
||||
BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
|
||||
|
||||
types.GetProperty("UpdateTime", flag)?.SetValue(source, DateTime.Now, null);
|
||||
types.GetProperty("UpdatedTime", flag)?.SetValue(source, DateTime.Now, null);
|
||||
types.GetProperty("Update_time", flag)?.SetValue(source, DateTime.Now, null);
|
||||
types.GetProperty("UpdateBy", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
types.GetProperty("UpdatedBy", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
types.GetProperty("Update_by", flag)?.SetValue(source, context.GetNickName(), null);
|
||||
|
||||
return source;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,8 @@ using System.Security.Claims;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using UAParser;
|
||||
using Infrastructure;
|
||||
using Infrastructure.Model;
|
||||
|
||||
namespace Infrastructure.Extensions
|
||||
{
|
||||
@ -89,9 +91,20 @@ namespace Infrastructure.Extensions
|
||||
{
|
||||
var uid = context.User?.Identity?.Name;
|
||||
|
||||
|
||||
|
||||
return uid;
|
||||
}
|
||||
|
||||
// 把获取 username 改成昵称
|
||||
public static string GetNickName(this HttpContext context)
|
||||
{
|
||||
|
||||
TokenModel tokenModel= JwtUtil.GetLoginUser(context);
|
||||
|
||||
|
||||
return tokenModel?.NickName;
|
||||
}
|
||||
/// <summary>
|
||||
/// 判断是否是管理员
|
||||
/// </summary>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user