From 71f4127c3910ecc7f423e380a101f87a71eec3a9 Mon Sep 17 00:00:00 2001 From: wenjy Date: Thu, 19 Mar 2026 09:52:29 +0800 Subject: [PATCH] change - dev --- .../Service/Impl/HikRoBotService.cs | 6 +- Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs | 44 ++++++------ Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs | 4 +- Sln.Wcs.HikRoBotSdk/IHIKRoBotSdk.cs | 19 +++++ Sln.Wcs.sln | 5 +- Sln.Wcs/Program.cs | 70 +++++++++++++++++-- Sln.Wcs/Sln.Wcs.csproj | 24 +++++++ Sln.Wcs/appsettings.json | 18 +++++ 8 files changed, 155 insertions(+), 35 deletions(-) create mode 100644 Sln.Wcs.HikRoBotSdk/IHIKRoBotSdk.cs create mode 100644 Sln.Wcs/appsettings.json diff --git a/Sln.Wcs.HikRoBotApi/Service/Impl/HikRoBotService.cs b/Sln.Wcs.HikRoBotApi/Service/Impl/HikRoBotService.cs index 0918241..ecdd3d2 100644 --- a/Sln.Wcs.HikRoBotApi/Service/Impl/HikRoBotService.cs +++ b/Sln.Wcs.HikRoBotApi/Service/Impl/HikRoBotService.cs @@ -1,4 +1,4 @@ -using Sln.Wcs.HikRoBotApi.Domain.Dto.CancelTask; +using Sln.Wcs.HikRoBotApi.Domain.Dto.CancelTask; using Sln.Wcs.HikRoBotApi.Domain.Dto.ContinueTask; using Sln.Wcs.HikRoBotApi.Domain.Dto.GenAgvSchedulingTask; using Sln.Wcs.HikRoBotApi.Enum; @@ -37,10 +37,10 @@ namespace Sln.Wcs.HikRoBotApi.Service.Impl { public class HikRoBotService : IHikRoBotService { - private readonly HIKRoBotSdk hikRoBotSdk; + private readonly IHIKRoBotSdk hikRoBotSdk; private readonly ApiResultCodeUtil codeUtil; - public HikRoBotService(HIKRoBotSdk hikRoBotSdk,ApiResultCodeUtil codeUtil) + public HikRoBotService(IHIKRoBotSdk hikRoBotSdk,ApiResultCodeUtil codeUtil) { this.hikRoBotSdk = hikRoBotSdk; this.codeUtil = codeUtil; diff --git a/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs b/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs index f1c75dd..02fa030 100644 --- a/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs +++ b/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs @@ -49,32 +49,32 @@ namespace Sln.Wcs.HikRoBotSdk.Config { throw new Exception("sdk_api 配置不正确,请检查Apollo配置."); } - if (string.IsNullOrEmpty(configuration["sdk_partner_id"])) + if (string.IsNullOrEmpty(configuration["sdk_json_str"])) { throw new Exception("sdk_partner_id 配置不正确,请检查Apollo配置."); } - if (string.IsNullOrEmpty(configuration["sdk_accesskey"])) - { - throw new Exception("sdk_accesskey 配置不正确,请检查Apollo配置."); - } - if (string.IsNullOrEmpty(configuration["sdk_secretkey"])) - { - throw new Exception("sdk_secretkey 配置不正确,请检查Apollo配置."); - } - if (string.IsNullOrEmpty(configuration["sdk_partner_id"])) - { - throw new Exception("sdk_partner_id 配置不正确,请检查Apollo配置."); - } - if (string.IsNullOrEmpty(configuration["sdk_version"])) - { - throw new Exception("sdk_version 配置不正确,请检查Apollo配置."); - } + //if (string.IsNullOrEmpty(configuration["sdk_accesskey"])) + //{ + // throw new Exception("sdk_accesskey 配置不正确,请检查Apollo配置."); + //} + //if (string.IsNullOrEmpty(configuration["sdk_secretkey"])) + //{ + // throw new Exception("sdk_secretkey 配置不正确,请检查Apollo配置."); + //} + //if (string.IsNullOrEmpty(configuration["sdk_partner_id"])) + //{ + // throw new Exception("sdk_partner_id 配置不正确,请检查Apollo配置."); + //} + //if (string.IsNullOrEmpty(configuration["sdk_version"])) + //{ + // throw new Exception("sdk_version 配置不正确,请检查Apollo配置."); + //} - api = configuration["sdk_api"]; - accesskey = configuration["sdk_accesskey"]; - secretkey = configuration["sdk_secretkey"]; - version = configuration["sdk_version"]; - test = configuration["sdk_test"]; + api = configuration["sdk_json_str"]; + //accesskey = configuration["sdk_accesskey"]; + //secretkey = configuration["sdk_secretkey"]; + //version = configuration["sdk_version"]; + //test = configuration["sdk_test"]; // api = "http://www.fangcang.com/tmc-hub/queryProductDetail"; // partnerId = "P10000408"; diff --git a/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs b/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs index a6e5736..31ceae6 100644 --- a/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs +++ b/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs @@ -1,4 +1,4 @@ -using Flurl.Http; +using Flurl.Http; using Newtonsoft.Json; using Sln.Wcs.HikRoBotSdk.Config; using Sln.Wcs.HikRoBotSdk.Dto.CancelTask; @@ -34,7 +34,7 @@ using System.Threading.Tasks; #endregion << 版 本 注 释 >> namespace Sln.Wcs.HikRoBotSdk { - public class HIKRoBotSdk + public class HIKRoBotSdk : IHIKRoBotSdk { private readonly HikRoBotConfig hikRoBotConfig; diff --git a/Sln.Wcs.HikRoBotSdk/IHIKRoBotSdk.cs b/Sln.Wcs.HikRoBotSdk/IHIKRoBotSdk.cs new file mode 100644 index 0000000..e8d30d0 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/IHIKRoBotSdk.cs @@ -0,0 +1,19 @@ +using Sln.Wcs.HikRoBotSdk.Dto.CancelTask; +using Sln.Wcs.HikRoBotSdk.Dto.ContinueTask; +using Sln.Wcs.HikRoBotSdk.Dto.GenAgvSchedulingTask; + +namespace Sln.Wcs.HikRoBotSdk +{ + /// + /// 海康机器人 SDK 抽象接口,方便单元测试和替换实现。 + /// + public interface IHIKRoBotSdk + { + GenAgvSchedulingTaskResultDto GenAgvSchedulingTask(GenAgvSchedulingTaskDto genAgvSchedulingTask); + + ContinueTaskResultDto ContinueTask(ContinueTaskDto continueTask); + + CancelTaskResultDto CancelTask(CancelTaskDto cancelTask); + } +} + diff --git a/Sln.Wcs.sln b/Sln.Wcs.sln index 8889808..d6ca476 100644 --- a/Sln.Wcs.sln +++ b/Sln.Wcs.sln @@ -1,4 +1,3 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.10.35122.118 @@ -7,9 +6,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs", "Sln.Wcs\Sln.Wcs. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Common", "Sln.Wcs.Common\Sln.Wcs.Common.csproj", "{D94D5F31-AA0D-4F60-A3B4-667A1FFCD6ED}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.HikRoBotSdk", "Sln.Wcs.HikRoBotSdk\Sln.Wcs.HikRoBotSdk.csproj", "{F2956A97-69F4-4073-B4C6-72CB7B945565}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.HikRoBotSdk", "Sln.Wcs.HikRoBotSdk\Sln.Wcs.HikRoBotSdk.csproj", "{F2956A97-69F4-4073-B4C6-72CB7B945565}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.HikRoBotApi", "Sln.Wcs.HikRoBotApi\Sln.Wcs.HikRoBotApi.csproj", "{9E3193CA-590C-4965-B2EF-02C2AE252095}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.HikRoBotApi", "Sln.Wcs.HikRoBotApi\Sln.Wcs.HikRoBotApi.csproj", "{9E3193CA-590C-4965-B2EF-02C2AE252095}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Sln.Wcs/Program.cs b/Sln.Wcs/Program.cs index 6cd7ab0..e64d2a7 100644 --- a/Sln.Wcs/Program.cs +++ b/Sln.Wcs/Program.cs @@ -1,10 +1,70 @@ -namespace Sln.Wcs +using System.Reflection; +using Com.Ctrip.Framework.Apollo; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Sln.Wcs.HikRoBotSdk; + +namespace Sln.Wcs { - internal class Program + public class Program { - static void Main(string[] args) + + static async Task Main(string[] args) { - Console.WriteLine("Hello, World!"); + var services = new ServiceCollection(); + + ConfigureServices(services); + + var serviceProvider = services.BuildServiceProvider(); + + var sdk = serviceProvider.GetService(); + + //var info = sdk.GenAgvSchedulingTask(null); + + Console.WriteLine("\n程序执行完成!"); + + } + + private static void ConfigureServices(IServiceCollection services) + { + #region Apollo配置 + var basePath = AppContext.BaseDirectory; + + var localConfiguration = new ConfigurationBuilder() + .SetBasePath(basePath) + .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) + .Build(); + + var apolloConfigSection = localConfiguration.GetSection("apollo"); + + services.AddSingleton(localConfiguration); + + var configurationBuilder = new ConfigurationBuilder() + .SetBasePath(basePath) + .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) + .AddApollo(apolloConfigSection) + .AddDefault(); + + var apolloConfiguration = configurationBuilder.Build(); + + services.Remove(new ServiceDescriptor(typeof(IConfiguration), localConfiguration)); + services.AddSingleton(apolloConfiguration); + #endregion + + Assembly[] assemblies = { + Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.Common.dll")), + Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.HikRoBotApi.dll")), + Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.HikRoBotSdk.dll")), + }; + + services.Scan(scan => scan.FromAssemblies(assemblies) + .AddClasses() + .AsImplementedInterfaces() + .AsSelf() + .WithTransientLifetime()); + + } + } -} +} \ No newline at end of file diff --git a/Sln.Wcs/Sln.Wcs.csproj b/Sln.Wcs/Sln.Wcs.csproj index 2150e37..f223505 100644 --- a/Sln.Wcs/Sln.Wcs.csproj +++ b/Sln.Wcs/Sln.Wcs.csproj @@ -5,6 +5,30 @@ net8.0 enable enable + zh-Hans + + + + + + + PreserveNewest + + + + + + + + + + + + + + + + diff --git a/Sln.Wcs/appsettings.json b/Sln.Wcs/appsettings.json new file mode 100644 index 0000000..9827cf3 --- /dev/null +++ b/Sln.Wcs/appsettings.json @@ -0,0 +1,18 @@ +{ + "exclude": [ + "**/bin", + "**/bower_components", + "**/jspm_packages", + "**/node_modules", + "**/obj", + "**/platforms" + ], + "apollo": { + "AppId": "SampleApp", + "Env": "DEV", + "MetaServer": "http://119.45.202.115:4320", + "ConfigServer": [ + "http://119.45.202.115:4320" + ] + } +} \ No newline at end of file