update beta.103 修复IoTCenter无法获取节点列表的问题,将APP访问的API从Home分离到App

TangShanKaiPing
wanggang 6 years ago
parent bd853857e0
commit 5e36b68090

@ -48,7 +48,7 @@ namespace Infrastructure.Extensions
} }
} }
} }
var ip = ipList.Where(o => !o.ToString().StartsWith("10.") && o.ToString().StartsWith("172.") && o.ToString().StartsWith("192.")) var ip = ipList.Where(o => !o.ToString().StartsWith("10.") && o.ToString().StartsWith("172.") && o.ToString().StartsWith("192.") && o.ToString().StartsWith("127."))
.FirstOrDefault() ?? ipList.FirstOrDefault(o => !o.ToString().StartsWith("192.168.")) .FirstOrDefault() ?? ipList.FirstOrDefault(o => !o.ToString().StartsWith("192.168."))
?? ipList.FirstOrDefault(o => !o.ToString().StartsWith("192.")) ?? ipList.FirstOrDefault(o => !o.ToString().StartsWith("192."))
?? ipList.FirstOrDefault(); ?? ipList.FirstOrDefault();

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning" "Default": "Warning"

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning" "Default": "Warning"

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Information" "Default": "Information"

@ -1,4 +1,4 @@
version=1.0.0-beta.102 version=1.0.0-beta.103
server.host=127.0.0.1 server.host=127.0.0.1
server.port=8003 server.port=8003
spring.thymeleaf.cache=false spring.thymeleaf.cache=false

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Information" "Default": "Information"

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Information" "Default": "Information"

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning" "Default": "Warning"

@ -0,0 +1,51 @@
using Application.Domain.Entities;
using Infrastructure.Data;
using Infrastructure.Jwt;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using System;
using System.Linq;
namespace IoTCenter.Controllers
{
public class AppController : Controller
{
private readonly IJwtHelper _jwtHelper;
private readonly IRepository<Node> _nodeRepo;
private readonly IRepository<Device> _deviceRepo;
public AppController(IJwtHelper jwtHelper, IRepository<Node> nodeRepo, IRepository<Device> deviceRepo)
{
this._jwtHelper = jwtHelper;
this._nodeRepo = nodeRepo;
this._deviceRepo = deviceRepo;
}
[Authorize]
public IActionResult Index()
{
return View();
}
public IActionResult GetNodes(string token)
{
var userName = this._jwtHelper.GetPayload(token)["UserName"].ToString();
var model = this._nodeRepo.ReadOnlyTable()
.Select(o => new { o.Number, o.Name, o.DisplayOrder, Count = o.Devices.Count })
.ToList();
return Json(model);
}
public IActionResult GetNode(string token, string number)
{
var userName = this._jwtHelper.GetPayload(token)["UserName"].ToString();
var model = this._nodeRepo.ReadOnlyTable()
.Include(o => o.Sences)
.Include(o => o.Devices).ThenInclude(o => o.Data)
.FirstOrDefault(o => o.Number == number);
return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
}
}
}

@ -1,56 +1,52 @@
using System;
using System.Linq;
using Application.Domain.Entities; using Application.Domain.Entities;
using Infrastructure.Data; using Infrastructure.Data;
using Infrastructure.Jwt;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json; using Newtonsoft.Json;
using System;
using System.Linq;
namespace IoTCenter.Controllers namespace IoTCenter.Controllers
{ {
[Authorize]
public class HomeController : Controller public class HomeController : Controller
{ {
private readonly IJwtHelper _jwtHelper;
private readonly IRepository<Node> _nodeRepo; private readonly IRepository<Node> _nodeRepo;
private readonly IRepository<Device> _deviceRepo; private readonly IRepository<Device> _deviceRepo;
public HomeController(IJwtHelper jwtHelper, IRepository<Node> nodeRepo, IRepository<Device> deviceRepo) public HomeController(IRepository<Node> nodeRepo, IRepository<Device> deviceRepo)
{ {
this._jwtHelper = jwtHelper;
this._nodeRepo = nodeRepo; this._nodeRepo = nodeRepo;
this._deviceRepo = deviceRepo; this._deviceRepo = deviceRepo;
} }
[Authorize]
public IActionResult Index() public IActionResult Index()
{ {
return View(); return View();
} }
public IActionResult GetNodes(string token) public IActionResult GetNodes()
{ {
var userName = this._jwtHelper.GetPayload(token)["UserName"].ToString();
var model = this._nodeRepo.ReadOnlyTable() var model = this._nodeRepo.ReadOnlyTable()
.Select(o => new { o.Number, o.Name, o.DisplayOrder, Count = o.Devices.Count }) .Include(o => o.Devices)
.ToList(); .ToList();
return Json(model); return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
} }
[Authorize]
public IActionResult Node(Guid id) public IActionResult Node(Guid id)
{ {
var model = this._nodeRepo.ReadOnlyTable().FirstOrDefault(o => o.Id == id); var model = this._nodeRepo.ReadOnlyTable().FirstOrDefault(o => o.Id == id);
return View(model); return View(model);
} }
public IActionResult GetNode(string number) public IActionResult GetNode(Guid id)
{ {
var model = this._nodeRepo.ReadOnlyTable() var model = this._nodeRepo.ReadOnlyTable()
.Include(o => o.Sences) .Include(o => o.Sences)
.Include(o => o.Devices).ThenInclude(o => o.Data) .Include(o => o.Devices).ThenInclude(o => o.Data)
.FirstOrDefault(o => o.Number == number); .Include(o => o.Devices).ThenInclude(o => o.Apis).ThenInclude(o => o.Parameters)
.FirstOrDefault(o => o.Id == id);
return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
} }
} }

@ -7,6 +7,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
<PackageReference Include="Vibrant.InfluxDB.Client" Version="3.7.0" /> <PackageReference Include="Vibrant.InfluxDB.Client" Version="3.7.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning" "Default": "Warning"

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning" "Default": "Warning"

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.102", "version": "1.0.0-beta.103",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning" "Default": "Warning"

Loading…
Cancel
Save