From 0b81608b03c5e1e8a20db987dd04cb45bd94c1ad Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期四, 12 六月 2025 19:45:48 +0800 Subject: [PATCH] 1 --- 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomAuthorizeFilter.cs | 20 ++++++ 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketSetup.cs | 29 +++++++++ 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs | 27 +++++++++ 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperConfig.cs | 18 ++++++ 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutofacPropertityModuleReg.cs | 17 +++++ 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketHostService.cs | 25 ++++++++ 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip | 0 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperSetup.cs | 16 +++++ 8 files changed, 152 insertions(+), 0 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip" new file mode 100644 index 0000000..ab3f21e --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperConfig.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperConfig.cs" new file mode 100644 index 0000000..5b2cc51 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperConfig.cs" @@ -0,0 +1,18 @@ +锘縰sing AutoMapper; + +namespace WIDESEAWCS_WCSServer.Filter +{ + /// <summary> + /// 闈欐�佸叏灞� AutoMapper 閰嶇疆鏂囦欢 + /// </summary> + public class AutoMapperConfig + { + public static MapperConfiguration RegisterMappings() + { + return new MapperConfiguration(cfg => + { + cfg.AddProfile(new CustomProfile()); + }); + } + } +} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperSetup.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperSetup.cs" new file mode 100644 index 0000000..d1ac9d1 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutoMapperSetup.cs" @@ -0,0 +1,16 @@ +锘縩amespace WIDESEAWCS_WCSServer.Filter +{ + /// <summary> + /// Automapper 鍚姩鏈嶅姟 + /// </summary> + public static class AutoMapperSetup + { + public static void AddAutoMapperSetup(this IServiceCollection services) + { + if (services == null) throw new ArgumentNullException(nameof(services)); + + services.AddAutoMapper(typeof(AutoMapperConfig)); + AutoMapperConfig.RegisterMappings(); + } + } +} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutofacPropertityModuleReg.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutofacPropertityModuleReg.cs" new file mode 100644 index 0000000..6191ee7 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/AutofacPropertityModuleReg.cs" @@ -0,0 +1,17 @@ +锘縰sing Autofac; +using Microsoft.AspNetCore.Mvc; + +namespace WIDESEAWCS_WCSServer.Filter +{ + public class AutofacPropertityModuleReg : Autofac.Module + { + protected override void Load(ContainerBuilder builder) + { + var controllerBaseType = typeof(ControllerBase); + builder.RegisterAssemblyTypes(typeof(Program).Assembly) + .Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType) + .PropertiesAutowired(); + + } + } +} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomAuthorizeFilter.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomAuthorizeFilter.cs" new file mode 100644 index 0000000..854f249 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomAuthorizeFilter.cs" @@ -0,0 +1,20 @@ +锘縰sing Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.AspNetCore.Mvc; + +namespace WIDESEAWCS_Server.Filter +{ + public class CustomAuthorizeFilter : IAuthorizationFilter + { + public void OnAuthorization(AuthorizationFilterContext context) + { + + // 浣犵殑鑷畾涔夋巿鏉冮�昏緫 + // 渚嬪锛屸�屾鏌ョ敤鎴锋槸鍚﹀凡鐧诲綍锛屸�屾垨鑰呬粬浠槸鍚︽湁鐗瑰畾鐨勮鑹叉垨鏉冮檺 + if (!context.HttpContext.User.Identity.IsAuthenticated) + { + // 鐢ㄦ埛鏈櫥褰曪紝鈥岄噸瀹氬悜鍒扮櫥褰曢〉闈㈡垨杩斿洖401鐘舵�佺爜 + context.Result = new ChallengeResult(); + } + } + } +} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" new file mode 100644 index 0000000..4956725 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" @@ -0,0 +1,27 @@ +锘縰sing AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_DTO.System; +using WIDESEAWCS_DTO.TaskInfo; +using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob.DTO; +using WIDESEAWCS_QuartzJob.Models; + +namespace WIDESEAWCS_WCSServer.Filter +{ + public class CustomProfile : Profile + { + /// <summary> + /// 閰嶇疆鏋勯�犲嚱鏁帮紝鐢ㄦ潵鍒涘缓鍏崇郴鏄犲皠 + /// </summary> + public CustomProfile() + { + CreateMap<Sys_Menu, MenuDTO>(); + CreateMap<Dt_DeviceInfo,DeviceInfoDTO>(); + CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id)); + } + } +} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketHostService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketHostService.cs" new file mode 100644 index 0000000..2710b1c --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketHostService.cs" @@ -0,0 +1,25 @@ +锘� +using HslCommunication.WebSocket; + +namespace WIDESEAWCS_Server.Filter +{ + public class WebSocketHostService : IHostedService + { + WebSocketServer _webSocketServer; + public WebSocketHostService(WebSocketServer webSocketServer) + { + _webSocketServer = webSocketServer; + } + + public Task StartAsync(CancellationToken cancellationToken) + { + _webSocketServer.PublishAllClientPayload("绋嬪簭鍚姩"); + return Task.CompletedTask; + } + + public Task StopAsync(CancellationToken cancellationToken) + { + return Task.CompletedTask; + } + } +} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketSetup.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketSetup.cs" new file mode 100644 index 0000000..26232e4 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/WebSocketSetup.cs" @@ -0,0 +1,29 @@ +锘縰sing HslCommunication.WebSocket; +using WIDESEAWCS_Core.Helper; + +namespace WIDESEAWCS_Server.HostedService +{ + public static class WebSocketSetup + { + public static void AddWebSocketSetup(this IServiceCollection services) + { + if (services == null) throw new ArgumentNullException(nameof(services)); + + if(AppSettings.Get("WebSocketEnable").ObjToBool()) + { + int port = AppSettings.Get("WebSocketPort").ObjToInt(); + if (port == 0) + { + port = 9296; + } + + services.AddSingleton(x => + { + WebSocketServer socketServer = new WebSocketServer(); + socketServer.ServerStart(port); + return socketServer; + }); + } + } + } +} -- Gitblit v1.9.3