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