|
|
@@ -0,0 +1,140 @@
|
|
|
+using Microsoft.AspNetCore.Mvc;
|
|
|
+using System.ComponentModel;
|
|
|
+using System.Reflection.Metadata.Ecma335;
|
|
|
+using YSAI.Core.data;
|
|
|
+using YSAI.Core.@enum;
|
|
|
+using YSAI.Core.@interface.unify;
|
|
|
+using YSAI.DB;
|
|
|
+using YSAI.Kafka;
|
|
|
+using YSAI.Log;
|
|
|
+using YSAI.Modbus.client;
|
|
|
+using YSAI.Mqtt.client;
|
|
|
+using YSAI.Mqtt.service;
|
|
|
+using YSAI.Mqtt.service.websocket;
|
|
|
+using YSAI.Opc.da.client;
|
|
|
+using YSAI.Opc.da.http;
|
|
|
+using YSAI.Opc.ua.client;
|
|
|
+using YSAI.Opc.ua.service;
|
|
|
+using YSAI.RabbitMQ;
|
|
|
+using YSAI.S7.client;
|
|
|
+using YSAI.Unility;
|
|
|
+
|
|
|
+namespace YSAI.Manage.Controllers
|
|
|
+{
|
|
|
+ /// <summary>
|
|
|
+ /// 库文件信息
|
|
|
+ /// </summary>
|
|
|
+ [ApiController]
|
|
|
+ [Route("api/[controller]/[action]")]
|
|
|
+ public class libController : Controller,IOr
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// 获取库文件集合
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet]
|
|
|
+ [Description("获取库文件集合")]
|
|
|
+ public IActionResult array()
|
|
|
+ {
|
|
|
+ //开始记录运行时间
|
|
|
+ RunTimeTool.Instance($"{ClassName}.array").StartRecord();
|
|
|
+ return Ok(Break("array",true,RData: libArray,RType:ResultType.Json));
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 获取库文件实例参数
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="name"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet]
|
|
|
+ [Description("获取库文件实例参数")]
|
|
|
+ public IActionResult param(string name)
|
|
|
+ {
|
|
|
+ //开始记录运行时间
|
|
|
+ RunTimeTool.Instance($"{ClassName}.param").StartRecord();
|
|
|
+ switch (name)
|
|
|
+ {
|
|
|
+ case "DB":
|
|
|
+ return Ok(Break("param",true,RData: ReflexTool.GetClassAllPropertyData<DBData.Basics>(),RType:ResultType.Json));
|
|
|
+ case "KafkaAdmin":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<KafkaAdminData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "KafkaConsumer":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<KafkaConsumerData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "KafkaProducer":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<KafkaProducerData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "ModbusClient":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<ModbusClientData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "MqttService":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<MqttServiceData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "MqttWebSocketService":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<MqttWebSocketServiceData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "MqttClient":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<MqttClientData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "OpcDaClient":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<OpcDaClientData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "OpcDaHttp":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<OpcDaHttpData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "OpcUaClient":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<OpcUaClientData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "OpcUaService":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<OpcUaServiceData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "RabbitMQConsumer":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<RabbitMQData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "RabbitMQPublisher":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<RabbitMQData.Basics>(), RType: ResultType.Json));
|
|
|
+ case "S7Client":
|
|
|
+ return Ok(Break("param", true, RData: ReflexTool.GetClassAllPropertyData<S7ClientData.Basics>(), RType: ResultType.Json));
|
|
|
+ }
|
|
|
+ return Ok(Break("param", false, "输入有误"));
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 库文件集合
|
|
|
+ /// </summary>
|
|
|
+ private string[] libArray = new string[]
|
|
|
+ {
|
|
|
+ "DB",
|
|
|
+ "KafkaAdmin",
|
|
|
+ "KafkaConsumer",
|
|
|
+ "KafkaProducer",
|
|
|
+ "ModbusClient",
|
|
|
+ "MqttClient",
|
|
|
+ "MqttService",
|
|
|
+ "MqttWebSocketService",
|
|
|
+ "OpcDaClient",
|
|
|
+ "OpcDaHttp",
|
|
|
+ "OpcUaClient",
|
|
|
+ "OpcUaService",
|
|
|
+ "RabbitMQConsumer",
|
|
|
+ "RabbitMQPublisher",
|
|
|
+ "S7Client"
|
|
|
+ };
|
|
|
+
|
|
|
+ public string LogHead => "[ lib 操作 ]";
|
|
|
+
|
|
|
+ public string ClassName => "lib";
|
|
|
+
|
|
|
+ [NonAction]
|
|
|
+ public Task<OperateResult> BreakAsync(string MethodName, bool State, string? Message = null, object? RData = null, ResultType RType = ResultType.NULL)
|
|
|
+ {
|
|
|
+ return Task.Run(() =>
|
|
|
+ {
|
|
|
+ return Break(MethodName, State, Message, RData, RType);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ [NonAction]
|
|
|
+ public OperateResult Break(string MethodName, bool State, string? Message = null, object? RData = null, ResultType RType = ResultType.NULL)
|
|
|
+ {
|
|
|
+ //返回运行时间(毫秒)
|
|
|
+ double runTime = RunTimeTool.Instance($"{ClassName}.{MethodName}").StopRecord().milliseconds;
|
|
|
+ //消息数据组织
|
|
|
+ string message = $"{LogHead} ( {MethodName} {(State ? "成功" : "异常")} ){(string.IsNullOrEmpty(Message) ? "" : $" : {Message}")}";
|
|
|
+ //异常则输出日志
|
|
|
+ if (!State) { LogHelper.Error(message, $"{ClassName}.log"); }
|
|
|
+ //返回状态
|
|
|
+ return new OperateResult(State, message, runTime, RData, RType);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|