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