From 2d38ebe3c1241dcb7c3197d580cfad3d71411528 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Sun, 21 Jul 2019 18:57:00 +0800 Subject: [PATCH] update Former-commit-id: 91292ebb04037f9d30cfceb6479924b1c12c4555 --- .../Application/Models/EditDataModel.cs | 1 - .../Application/Models/EditDeviceModel.cs | 10 +++- .../Areas/Admin/Controllers/DataController.cs | 33 +++++++++++ .../Admin/Controllers/DeviceController.cs | 18 ++++++ .../Areas/Admin/Controllers/HomeController.cs | 19 +++++++ .../Areas/Admin/Views/Home/Index.cshtml | 4 ++ .../{ => Admin}/Views/Shared/_Menu.cshtml | 21 ++++++- .../Areas/Admin/Views/Shared/_Script.cshtml | 24 ++++++++ .../Areas/Admin/Views/_ViewImports.cshtml | 7 +++ .../Areas/Admin/Views/_ViewStart.cshtml | 3 + .../Areas/Controllers/HomeController.cs | 43 --------------- .../IoT/IoTServices/FBeeService/Program.cs | 2 +- .../Areas/Admin/Controllers/DataController.cs | 33 +++++++++++ .../Admin/Controllers/DeviceController.cs | 18 ++++++ .../Areas/Admin/Controllers/HomeController.cs | 19 +++++++ .../Areas/Admin/Views/Home/Index.cshtml | 4 ++ .../Areas/Admin/Views/Shared/_Menu.cshtml | 52 ++++++++++++++++++ .../Areas/Admin/Views/Shared/_Script.cshtml | 24 ++++++++ .../Areas/Admin/Views/_ViewImports.cshtml | 7 +++ .../Areas/Admin/Views/_ViewStart.cshtml | 3 + .../Controllers/AccountController.cs | 22 ++++++++ .../Controllers/HomeController.cs | 8 +-- .../Infrastructure/DeviceService.cs | 11 ++-- .../ONVIFService/Infrastructure/IPCamera.cs | 2 +- .../ONVIFService/ONVIFService.csproj | 20 +++++++ projects/IoTClient/Assembly-CSharp.csproj | 2 + .../Assets/StreamingAssets/wwwroot/index.html | 30 +++++----- .../Assets/StreamingAssets/wwwroot/js/app.js | Bin 57294 -> 58236 bytes .../Services/FaceRecognitionService.cs | 46 ++++++++-------- projects/UserCenter/UserCenter.csproj | 2 +- publish/build.cmd | 18 +++--- 31 files changed, 400 insertions(+), 106 deletions(-) create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DataController.cs create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DeviceController.cs create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/HomeController.cs create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Home/Index.cshtml rename projects/IoT/IoTServices/FBeeService/Areas/{ => Admin}/Views/Shared/_Menu.cshtml (51%) create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Script.cshtml create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewImports.cshtml create mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewStart.cshtml delete mode 100644 projects/IoT/IoTServices/FBeeService/Areas/Controllers/HomeController.cs create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DataController.cs create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DeviceController.cs create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/HomeController.cs create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Home/Index.cshtml create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Menu.cshtml create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Script.cshtml create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewImports.cshtml create mode 100644 projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewStart.cshtml create mode 100644 projects/IoT/IoTServices/ONVIFService/Controllers/AccountController.cs diff --git a/projects/IoT/IoT.Shared/Application/Models/EditDataModel.cs b/projects/IoT/IoT.Shared/Application/Models/EditDataModel.cs index cb76432d..3fc9c0f7 100644 --- a/projects/IoT/IoT.Shared/Application/Models/EditDataModel.cs +++ b/projects/IoT/IoT.Shared/Application/Models/EditDataModel.cs @@ -20,7 +20,6 @@ namespace Application.Models public string Name { get; set; } [Display(Name = "值")] - [Required(ErrorMessage = nameof(RequiredAttribute))] public string Value { get; set; } [Display(Name = "单位")] diff --git a/projects/IoT/IoT.Shared/Application/Models/EditDeviceModel.cs b/projects/IoT/IoT.Shared/Application/Models/EditDeviceModel.cs index 9810e2d5..d506a05a 100644 --- a/projects/IoT/IoT.Shared/Application/Models/EditDeviceModel.cs +++ b/projects/IoT/IoT.Shared/Application/Models/EditDeviceModel.cs @@ -13,9 +13,17 @@ namespace Application.Models public string Name { get; set; } [Display(Name = "显示名称")] - [Required(ErrorMessage = nameof(RequiredAttribute))] public string DisplayName { get; set; } + [Display(Name = "用户名")] + public string UserName { get; set; } + + [Display(Name = "密码")] + public string Password { get; set; } + + [Display(Name = "启用")] + public bool Enable { get; set; } + [ReadOnly(true)] [Display(Name = "编号")] [Required(ErrorMessage = nameof(RequiredAttribute))] diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DataController.cs b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DataController.cs new file mode 100644 index 00000000..2eb0834f --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DataController.cs @@ -0,0 +1,33 @@ +using System.Linq; +using Application.Domain.Entities; +using Application.Models; +using Infrastructure.Data; +using Infrastructure.Extensions; +using Infrastructure.Web.Mvc; +using IoTShared.Controllers; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace IoTCenter.Areas.Admin.Controllers +{ + [Authorize] + [Area(nameof(Admin))] + public class DataController : CrudController + { + private readonly AjaxController _ajax; + + public DataController(IRepository repo, AjaxController ajax) : base(repo) + { + this._ajax = ajax; + } + + public override IQueryable Query(DataSearchModel model, IQueryable query) + { + ViewData.SelectList(o => model.NodeId, () => this._ajax.GetNodeSelectList(model.NodeId)); + ViewData.SelectList(o => model.DeviceId, () => this._ajax.GetDeviceSelectList(model.NodeId.Value, model.DeviceId), model.NodeId.HasValue); + return query.WhereIf(model.NodeId.HasValue, o => o.Device.NodeId == model.NodeId.Value) + .WhereIf(model.DeviceId.HasValue, o => o.DeviceId == model.DeviceId.Value) + .WhereIf(!string.IsNullOrEmpty(model.Keyword), o => o.Name.Contains(model.Keyword)); + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DeviceController.cs b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DeviceController.cs new file mode 100644 index 00000000..2ec51328 --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/DeviceController.cs @@ -0,0 +1,18 @@ +using Application.Domain.Entities; +using Application.Models; +using Infrastructure.Data; +using Infrastructure.Web.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace IoTCenter.Areas.Admin.Controllers +{ + [Authorize] + [Area(nameof(Admin))] + public class DeviceController : CrudController + { + public DeviceController(IRepository repo) : base(repo) + { + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/HomeController.cs b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/HomeController.cs new file mode 100644 index 00000000..acba2d08 --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Controllers/HomeController.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace UserCenter.Areas.Admin.Controllers +{ + [Authorize] + [Area(nameof(Admin))] + public class HomeController : Controller + { + public HomeController() + { + } + + public IActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Home/Index.cshtml b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Home/Index.cshtml new file mode 100644 index 00000000..f551b40e --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Home/Index.cshtml @@ -0,0 +1,4 @@ +@{ + ViewData["IsHomePage"] = true; +} +

首页

\ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Views/Shared/_Menu.cshtml b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Menu.cshtml similarity index 51% rename from projects/IoT/IoTServices/FBeeService/Areas/Views/Shared/_Menu.cshtml rename to projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Menu.cshtml index b4fbdf67..ff034510 100644 --- a/projects/IoT/IoTServices/FBeeService/Areas/Views/Shared/_Menu.cshtml +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Menu.cshtml @@ -1,7 +1,7 @@ @functions{ diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Script.cshtml b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Script.cshtml new file mode 100644 index 00000000..33c931f6 --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/Shared/_Script.cshtml @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewImports.cshtml b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewImports.cshtml new file mode 100644 index 00000000..f99ab108 --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewImports.cshtml @@ -0,0 +1,7 @@ +@inherits Infrastructure.Web.Mvc.Razor.MyRazorPage +@using Infrastructure.Application +@using Infrastructure.Extensions +@using Infrastructure.Data +@using Application.Domain.Entities +@using Application.Models +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewStart.cshtml b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewStart.cshtml new file mode 100644 index 00000000..d641c67f --- /dev/null +++ b/projects/IoT/IoTServices/FBeeService/Areas/Admin/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Areas/Controllers/HomeController.cs b/projects/IoT/IoTServices/FBeeService/Areas/Controllers/HomeController.cs deleted file mode 100644 index 14de6b5f..00000000 --- a/projects/IoT/IoTServices/FBeeService/Areas/Controllers/HomeController.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using Application.Domain.Entities; -using Infrastructure.Application; -using Infrastructure.Data; -using Infrastructure.Web.Mvc; -using Microsoft.AspNetCore.Mvc; -using SPService.Applicaiton.Models; - -namespace FBeeService.Areas.Controllers -{ - [Area("Admin")] - public class HomeController : CrudController, EditGatewayModel, EditGatewayModel> - { - private readonly DeviceService _deviceService; - - public HomeController(IRepository repo, DeviceService deviceService) : base(repo) - { - this._deviceService = deviceService; - } - - public override IActionResult Add(EditGatewayModel model) - { - var result = base.Add(model); - this._deviceService.Execute(); - return result; - } - - public override IActionResult Edit(EditGatewayModel model) - { - var result = base.Edit(model); - this._deviceService.Execute(); - return result; - } - - public override IActionResult Delete(List list) - { - var result = base.Delete(list); - this._deviceService.Execute(); - return result; - } - } -} \ No newline at end of file diff --git a/projects/IoT/IoTServices/FBeeService/Program.cs b/projects/IoT/IoTServices/FBeeService/Program.cs index 05d6a8b1..6d36ec9e 100644 --- a/projects/IoT/IoTServices/FBeeService/Program.cs +++ b/projects/IoT/IoTServices/FBeeService/Program.cs @@ -25,7 +25,7 @@ namespace FBeeService new EFConfigurationValue { Id = "email:user", Value= "admin@nbaxp.com"}, new EFConfigurationValue { Id = "email:password", Value= "aA123456"}, new EFConfigurationValue { Id = "server.ip", Value= "" }, - new EFConfigurationValue { Id = "server.urls", Value= "http://*:8008" }, + new EFConfigurationValue { Id = "server.urls", Value= "http://*:8009" }, new EFConfigurationValue { Id = "notify:enabled", Value= "false"}, new EFConfigurationValue { Id = "notify:host", Value= $"{host}:8001"}, new EFConfigurationValue { Id = "timer.seconds", Value="600"}, diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DataController.cs b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DataController.cs new file mode 100644 index 00000000..2eb0834f --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DataController.cs @@ -0,0 +1,33 @@ +using System.Linq; +using Application.Domain.Entities; +using Application.Models; +using Infrastructure.Data; +using Infrastructure.Extensions; +using Infrastructure.Web.Mvc; +using IoTShared.Controllers; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace IoTCenter.Areas.Admin.Controllers +{ + [Authorize] + [Area(nameof(Admin))] + public class DataController : CrudController + { + private readonly AjaxController _ajax; + + public DataController(IRepository repo, AjaxController ajax) : base(repo) + { + this._ajax = ajax; + } + + public override IQueryable Query(DataSearchModel model, IQueryable query) + { + ViewData.SelectList(o => model.NodeId, () => this._ajax.GetNodeSelectList(model.NodeId)); + ViewData.SelectList(o => model.DeviceId, () => this._ajax.GetDeviceSelectList(model.NodeId.Value, model.DeviceId), model.NodeId.HasValue); + return query.WhereIf(model.NodeId.HasValue, o => o.Device.NodeId == model.NodeId.Value) + .WhereIf(model.DeviceId.HasValue, o => o.DeviceId == model.DeviceId.Value) + .WhereIf(!string.IsNullOrEmpty(model.Keyword), o => o.Name.Contains(model.Keyword)); + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DeviceController.cs b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DeviceController.cs new file mode 100644 index 00000000..2ec51328 --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/DeviceController.cs @@ -0,0 +1,18 @@ +using Application.Domain.Entities; +using Application.Models; +using Infrastructure.Data; +using Infrastructure.Web.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace IoTCenter.Areas.Admin.Controllers +{ + [Authorize] + [Area(nameof(Admin))] + public class DeviceController : CrudController + { + public DeviceController(IRepository repo) : base(repo) + { + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/HomeController.cs b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/HomeController.cs new file mode 100644 index 00000000..acba2d08 --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Controllers/HomeController.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace UserCenter.Areas.Admin.Controllers +{ + [Authorize] + [Area(nameof(Admin))] + public class HomeController : Controller + { + public HomeController() + { + } + + public IActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Home/Index.cshtml b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Home/Index.cshtml new file mode 100644 index 00000000..f551b40e --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Home/Index.cshtml @@ -0,0 +1,4 @@ +@{ + ViewData["IsHomePage"] = true; +} +

首页

\ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Menu.cshtml b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Menu.cshtml new file mode 100644 index 00000000..ff034510 --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Menu.cshtml @@ -0,0 +1,52 @@ + +@functions{ + public string GetClass(params string[] controllers) + { + if (controllers.Select(o => o.ToLower()).Contains(this.ViewContext.RouteData.Values["controller"].ToString().ToLower())) + { + if (controllers.Length > 1) + { + return "active open"; + } + return "active"; + } + return ""; + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Script.cshtml b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Script.cshtml new file mode 100644 index 00000000..33c931f6 --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/Shared/_Script.cshtml @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewImports.cshtml b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewImports.cshtml new file mode 100644 index 00000000..f99ab108 --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewImports.cshtml @@ -0,0 +1,7 @@ +@inherits Infrastructure.Web.Mvc.Razor.MyRazorPage +@using Infrastructure.Application +@using Infrastructure.Extensions +@using Infrastructure.Data +@using Application.Domain.Entities +@using Application.Models +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewStart.cshtml b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewStart.cshtml new file mode 100644 index 00000000..d641c67f --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Areas/Admin/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Controllers/AccountController.cs b/projects/IoT/IoTServices/ONVIFService/Controllers/AccountController.cs new file mode 100644 index 00000000..6a255af5 --- /dev/null +++ b/projects/IoT/IoTServices/ONVIFService/Controllers/AccountController.cs @@ -0,0 +1,22 @@ +using Application.Domain.Entities; +using Infrastructure.Data; +using Infrastructure.Email; +using Infrastructure.Resources; +using Infrastructure.Security; +using IoT.UI.Shard.Controllers; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Localization; + +namespace ONVIFService.Controllers +{ + public class AccountController : BaseAccountController + { + public AccountController(IConfiguration configuration, + IRepository userRepo, + IEncryptionService encryptionService, + IStringLocalizer localizer, + IEmailSender emaliSender) : base(configuration, userRepo, encryptionService, localizer, emaliSender) + { + } + } +} \ No newline at end of file diff --git a/projects/IoT/IoTServices/ONVIFService/Controllers/HomeController.cs b/projects/IoT/IoTServices/ONVIFService/Controllers/HomeController.cs index e7167e70..536a1428 100644 --- a/projects/IoT/IoTServices/ONVIFService/Controllers/HomeController.cs +++ b/projects/IoT/IoTServices/ONVIFService/Controllers/HomeController.cs @@ -1,27 +1,25 @@ using Application.Domain.Entities; using Infrastructure.Data; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; using System.Linq; -using System.Net.Http; namespace ONVIFService.Controllers { public class HomeController : Controller { private readonly IRepository _cameraRepo; - private readonly IHttpClientFactory _httpClientFactory; private readonly DeviceService _onvifService; - public HomeController(IHttpClientFactory httpClientFactory, DeviceService onvifService, IRepository cameraRepo) + public HomeController(DeviceService onvifService, IRepository cameraRepo) { this._cameraRepo = cameraRepo; - this._httpClientFactory = httpClientFactory; this._onvifService = onvifService; } public IActionResult Index() { - var model = this._cameraRepo.ReadOnlyTable().ToList(); + var model = this._cameraRepo.ReadOnlyTable().Include(o => o.Data).ToList(); return View(model); } } diff --git a/projects/IoT/IoTServices/ONVIFService/Infrastructure/DeviceService.cs b/projects/IoT/IoTServices/ONVIFService/Infrastructure/DeviceService.cs index 9ac83c9b..5aa024a2 100644 --- a/projects/IoT/IoTServices/ONVIFService/Infrastructure/DeviceService.cs +++ b/projects/IoT/IoTServices/ONVIFService/Infrastructure/DeviceService.cs @@ -130,6 +130,7 @@ namespace ONVIFService device.AddorUpdateData("subhls", $"http://{this._configuration["stream.hls"]}/live/sub{ipCamera.Id}.m3u8", DeviceDataType.String, "子码流hls"); device.AddorUpdateData("ffmpeg.file", this._configuration["ffmpeg.file"], DeviceDataType.String, "ffmpeg.file", hidden: true); device.AddorUpdateData("ffmpeg.args", this._configuration["ffmpeg.args"], DeviceDataType.String, "ffmpeg.args", hidden: true); + device.AddorUpdateData("CustomFile", "", DeviceDataType.String, "自定义ffmpeg路径", hidden: true); device.ConnectId = this._configuration["connectId"]; device.NodeNumber = this._configuration["node.number"]; deviceRepo.Add(device); @@ -289,11 +290,11 @@ namespace ONVIFService var file = Path.Combine(this._env.WebRootPath, fileName); var mainRtmp = camera.Data.FirstOrDefault(o => o.Key == "mainrtmp").Value; var subRtmp = camera.Data.FirstOrDefault(o => o.Key == "subrtmp").Value; - - //if (camera.UseCustomFile) - //{ - // file = camera.File; - //} + var customFile = camera.GetData("CustomFile")?.Value; + if (!string.IsNullOrEmpty(customFile)) + { + file = customFile; + } Console.WriteLine(file); var arguments = camera.Data.FirstOrDefault(o => o.Key == "ffmpeg.args").Value; Process main = null, sub = null; diff --git a/projects/IoT/IoTServices/ONVIFService/Infrastructure/IPCamera.cs b/projects/IoT/IoTServices/ONVIFService/Infrastructure/IPCamera.cs index 61c91e2c..7181d494 100644 --- a/projects/IoT/IoTServices/ONVIFService/Infrastructure/IPCamera.cs +++ b/projects/IoT/IoTServices/ONVIFService/Infrastructure/IPCamera.cs @@ -42,7 +42,7 @@ namespace ONVIFService { var doc = XDocument.Parse(this.GetCapabilitiesXml); this.MediaUrl = doc.Descendants().FirstOrDefault(o => o.Name.LocalName == "Media").Elements().FirstOrDefault(o => o.Name.LocalName == "XAddr").Value; - this.PTZAddress = doc.Descendants().FirstOrDefault(o => o.Name.LocalName == "PTZ").Elements().FirstOrDefault(o => o.Name.LocalName == "XAddr").Value; + this.PTZAddress = doc.Descendants().FirstOrDefault(o => o.Name.LocalName == "PTZ")?.Elements().FirstOrDefault(o => o.Name.LocalName == "XAddr")?.Value; this.Ptz3DZoomSupport = string.IsNullOrWhiteSpace(this.PTZAddress) ? false : true; } diff --git a/projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj b/projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj index 11aeb33c..b4241f4f 100644 --- a/projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj +++ b/projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj @@ -19,4 +19,24 @@ + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + + + + <_ContentIncludedByDefault Remove="Areas\Admin\Views\Shared\_Script.cshtml" /> + \ No newline at end of file diff --git a/projects/IoTClient/Assembly-CSharp.csproj b/projects/IoTClient/Assembly-CSharp.csproj index f2b84e04..f995bb5f 100644 --- a/projects/IoTClient/Assembly-CSharp.csproj +++ b/projects/IoTClient/Assembly-CSharp.csproj @@ -342,9 +342,11 @@ + + diff --git a/projects/IoTClient/Assets/StreamingAssets/wwwroot/index.html b/projects/IoTClient/Assets/StreamingAssets/wwwroot/index.html index 683f8d29..fc1be19a 100644 --- a/projects/IoTClient/Assets/StreamingAssets/wwwroot/index.html +++ b/projects/IoTClient/Assets/StreamingAssets/wwwroot/index.html @@ -640,20 +640,22 @@
- -
- -
-
- - - - - -
-
- -
+ +
diff --git a/projects/IoTClient/Assets/StreamingAssets/wwwroot/js/app.js b/projects/IoTClient/Assets/StreamingAssets/wwwroot/js/app.js index 5af20565175f5d651836377266f8076a2a9b664a..4ffd5b25b4b6faf0f8d2286a5efd1fc3318ad4b6 100644 GIT binary patch delta 127 zcmX@NpZU)*<_%@(lh`>XH}J4cK4joA`GS+glT{2=!0ZQn9FqeKMJCsoG=TXB z4CN-vm_pQD&=;9pVOj%G7orC;M#!uQ%r)p_nLNWxW%36FsmTR%B_=6y0jYhHdA8_H N&Qsvn+?U}{4gj<$GG71y delta 45 zcmex!jQQMt<_%@(lM7;`Cb4q>DVfO@3ztmZwOwy=o&v|@bMb7Ge{GlBoRA|^4glH2 B6deEn diff --git a/projects/UserCenter/Services/FaceRecognitionService.cs b/projects/UserCenter/Services/FaceRecognitionService.cs index 3fc7617a..b683917f 100644 --- a/projects/UserCenter/Services/FaceRecognitionService.cs +++ b/projects/UserCenter/Services/FaceRecognitionService.cs @@ -21,29 +21,29 @@ namespace UserCenter.Services public FaceRecognitionService(IServiceProvider serviceProvider) { - this._serviceProvider = serviceProvider; - using (var scope = this._serviceProvider.CreateScope()) - { - this._env = scope.ServiceProvider.GetService(); - this._faceRecognition = FaceRecognition.Create(Path.Combine(this._env.WebRootPath, "face")); - var userRepo = scope.ServiceProvider.GetService>(); - var users = userRepo.ReadOnlyTable().Where(o => o.FaceImage != null).ToList(); - foreach (var user in users) - { - if (!string.IsNullOrEmpty(user.FaceImage)) - { - try - { - var faceEndoding = this.GetFaceImageEncoding(user.FaceImage); - this._faces.TryAdd(user.UserName, faceEndoding); - } - catch (Exception ex) - { - ex.PrintStack(ex.Message); - } - } - } - } + //this._serviceProvider = serviceProvider; + //using (var scope = this._serviceProvider.CreateScope()) + //{ + // this._env = scope.ServiceProvider.GetService(); + // this._faceRecognition = FaceRecognition.Create(Path.Combine(this._env.WebRootPath, "face")); + // var userRepo = scope.ServiceProvider.GetService>(); + // var users = userRepo.ReadOnlyTable().Where(o => o.FaceImage != null).ToList(); + // foreach (var user in users) + // { + // if (!string.IsNullOrEmpty(user.FaceImage)) + // { + // try + // { + // var faceEndoding = this.GetFaceImageEncoding(user.FaceImage); + // this._faces.TryAdd(user.UserName, faceEndoding); + // } + // catch (Exception ex) + // { + // ex.PrintStack(ex.Message); + // } + // } + // } + //} } private FaceEncoding GetFaceImageEncoding(string faceImage) diff --git a/projects/UserCenter/UserCenter.csproj b/projects/UserCenter/UserCenter.csproj index 720bde0d..700968e4 100644 --- a/projects/UserCenter/UserCenter.csproj +++ b/projects/UserCenter/UserCenter.csproj @@ -2,7 +2,7 @@ netcoreapp2.2 true - false + true diff --git a/publish/build.cmd b/publish/build.cmd index b32ce203..631f6ebe 100644 --- a/publish/build.cmd +++ b/publish/build.cmd @@ -5,16 +5,16 @@ rd /q/s "./dist/" echo d|xcopy "./src" "./dist/" /s /e /y /f -dotnet publish ../projects/UserCenter/UserCenter.csproj -c Release -o ../../publish/dist/linux-x64/publish/apps/UserCenter -dotnet publish ../projects/IoTCenter/IoTCenter.csproj -c Release -o ../../publish/dist/linux-x64/publish/apps/IoTCenter +dotnet publish ../projects/UserCenter/UserCenter.csproj -c Release -r linux-x64 -o ../publish/dist/linux-x64/publish/apps/UserCenter +dotnet publish ../projects/IoTCenter/IoTCenter.csproj -c Release -r linux-x64 -o ../publish/dist/linux-x64/publish/apps/IoTCenter -dotnet publish ../projects/IoT/IoTNode/IoTNode.csproj -c Release -o ../../../publish/dist/linux-arm64/publish/apps/IoTNode -dotnet publish ../projects/IoT/IoTServices/WinService/WinService.csproj -c Release -r win-x86 -o "../../../../publish/dist/win-x86/Program Files (x86)/WinService" -dotnet publish ../projects/IoT/IoTServices/APService/APService.csproj -c Release -o ../../../../publish/dist/linux-arm64/publish/apps/APService -dotnet publish ../projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj -c Release -o ../../../../publish/dist/linux-x64/publish/apps/ONVIFService -dotnet publish ../projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj -c Release -o ../../../../publish/dist/linux-arm64/publish/apps/ONVIFService -dotnet publish ../projects/IoT/IoTServices/SerialPortService/SerialPortService.csproj -c Release -o ../../../../publish/dist/linux-arm64/publish/apps/SerialPortService -dotnet publish ../projects/IoT/IoTServices/LiChuangService/LiChuangService.csproj -c Release -o ../../../../publish/dist/linux-arm64/publish/apps/LiChuangService +dotnet publish ../projects/IoT/IoTNode/IoTNode.csproj -c Release -o ../../publish/dist/linux-arm64/publish/apps/IoTNode +dotnet publish ../projects/IoT/IoTServices/WinService/WinService.csproj -c Release -r win-x86 -o "../../publish/dist/win-x86/Program Files (x86)/WinService" +dotnet publish ../projects/IoT/IoTServices/APService/APService.csproj -c Release -o ../../publish/dist/linux-arm64/publish/apps/APService +dotnet publish ../projects/IoT/IoTServices/FBeeService/FBeeService.csproj -c Release -r linux-arm64 -o ../publish/dist/linux-arm64/publish/apps/FBeeService +dotnet publish ../projects/IoT/IoTServices/ONVIFService/ONVIFService.csproj -c Release -r linux-arm64 -o ../publish/dist/linux-arm64/publish/apps/ONVIFService +dotnet publish ../projects/IoT/IoTServices/SerialPortService/SerialPortService.csproj -c Release -o ../../publish/dist/linux-arm64/publish/apps/SerialPortService +dotnet publish ../projects/IoT/IoTServices/LiChuangService/LiChuangService.csproj -c Release -o ../../publish/dist/linux-arm64/publish/apps/LiChuangService gradle build -p ../projects/IoT/IoTServices/NJWLService set endtime=%time%