Compare commits

...

2 Commits

Author SHA1 Message Date
一梦千年 0d9db50c3a fix(config): 更新 TaiShiGanZhi 配置信息
- 修改 ApiUrl 为本地开发地址
- 更新 ProjectId 为有效 GUID
- 将用户名从 System 更改为手机号格式
2025-10-29 08:52:04 +08:00
一梦千年 0b6ec8263e feat(drone): 添加态势感知项目ID和访问令牌获取功能- 新增 GetdTsgzProjectId 方法用于获取项目ID
- 实现 GetTsgzAccessToken 异步方法用于获取访问令牌
- 在控制器中添加对应的 HTTP GET 接口- 支持匿名访问项目ID接口
- 配置文件中增加 TaiShiGanZhi 相关配置项
- 优化 Geometry 类型引用和解析逻辑
- 清理无用的命名空间引用和代码注释
2025-10-29 08:41:28 +08:00
4 changed files with 105 additions and 38 deletions

View File

@ -1,12 +1,68 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Infrastructure;
using Infrastructure.Extensions;
using Infrastructure.Helpers;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace OpenAuth.App.ServiceApp.DroneDockManage
{
public class AirportMaintenanceApp
{
public Response<dynamic> GetdTsgzProjectId()
{
var conf = ConfigHelper.GetConfigRoot();
var projectId = conf["TaiShiGanZhi:ProjectId"];
return new Response<dynamic>()
{
Result = new
{
ProjectId = projectId
}
};
}
public async Task<Response<dynamic>> GetTsgzAccessToken()
{
using var client = new HttpClient();
var conf = ConfigHelper.GetConfigRoot();
var apiUrl = conf["TaiShiGanZhi:ApiUrl"];
var loginUrl = conf["TaiShiGanZhi:LoginUrl"];
var param = new
{
account = conf["TaiShiGanZhi:Username"],
password = conf["TaiShiGanZhi:Password"]
};
var content = new StringContent(JsonConvert.SerializeObject(param), Encoding.UTF8,
"application/json");
// 执行创建数据存储
var response = await client.PostAsync(apiUrl + loginUrl, content);
if (response.StatusCode != HttpStatusCode.OK)
{
return new Response<dynamic>()
{
Result = false,
Message = "登录失败"
};
}
var jsonObject = JObject.Parse(await response.Content.ReadAsStringAsync());
if (jsonObject["code"].ToInt() == 200)
{
return new Response<dynamic>()
{
Result = new
{
AccessToken = jsonObject["result"]["token"].ToString()
}
};
}
return new Response<dynamic>()
{
Code = 500,
Message = "获取态势感知token失败"
};
}
}
}
}

View File

@ -1,45 +1,29 @@
using System.Data;
using System.Reflection.PortableExecutable;
using ClosedXML.Excel;
using System.Text.Json.Nodes;
using System.IO.Compression;
using System.Text;
using DocumentFormat.OpenXml.InkML;
using Infrastructure;
using Infrastructure.Utils;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using NetTopologySuite;
using NetTopologySuite.Features;
using NetTopologySuite.Geometries;
using NetTopologySuite.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.FormModule;
using OpenAuth.App.FormScheme.FormHelpers;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.ServiceApp.LayerManagerApp.Request;
using OpenAuth.Repository;
using OpenAuth.Repository.Domain;
using SqlSugar;
using DocumentFormat.OpenXml.Bibliography;
using OpenAuth.App.Request;
using System.IO;
using DocumentFormat.OpenXml.Math;
using Microsoft.AspNetCore.Http;
using NPOI.SS.Formula.Functions;
using OpenAuth.App.FormScheme.FormHelpers;
using System.Text;
using System.IO.Compression;
using NetTopologySuite.IO;
using NetTopologySuite.Features;
using OSGeo.OGR;
using Shapefile = NetTopologySuite.IO.Esri.Shapefile;
using Org.BouncyCastle.Ocsp;
using Infrastructure.Extensions;
using SQLitePCL;
using DocumentFormat.OpenXml.Spreadsheet;
using NPOI.Util;
using DocumentFormat.OpenXml.ExtendedProperties;
using static ICSharpCode.SharpZipLib.Zip.ExtendedUnixData;
using static NPOI.POIFS.Crypt.CryptoFunctions;
using DocumentFormat.OpenXml.InkML;
namespace OpenAuth.App.ServiceApp.LayerManagerApp;
public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
@ -431,7 +415,7 @@ public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
attributes.Add(header, 11);
}
IFeature feature = new NetTopologySuite.Features.Feature(geometry, attributes);
IFeature feature = new Feature(geometry, attributes);
features.Add(feature);
// 导出 SHP 文件及其关联文件
ExportToShapefileFour(shpFilePath, features);
@ -441,7 +425,7 @@ public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
return response;
}
public NetTopologySuite.Geometries.Geometry ParseGeometry(string wkt)
public Geometry ParseGeometry(string wkt)
{
if (string.IsNullOrEmpty(wkt))
{
@ -1301,7 +1285,7 @@ public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
}
if (colName.ToLower().Equals("geometry"))
{
var geometry = (NetTopologySuite.Geometries.Geometry)dataReader.GetValue(i);
var geometry = (Geometry)dataReader.GetValue(i);
var geometryForWgs84 = GeometryFactory.Default.WithSRID(4326)
.CreateGeometry(geometry);
@ -1433,7 +1417,7 @@ public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
}
if (colName.ToLower().Equals("geometry"))
{
var geometry = (NetTopologySuite.Geometries.Geometry)dataReader.GetValue(i);
var geometry = (Geometry)dataReader.GetValue(i);
var geometryForWgs84 = GeometryFactory.Default.WithSRID(4326)
.CreateGeometry(geometry);
@ -1641,7 +1625,7 @@ public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
}
if (colName.ToLower().Equals("geometry"))
{
var geometry = (NetTopologySuite.Geometries.Geometry)dataReader.GetValue(i);
var geometry = (Geometry)dataReader.GetValue(i);
var geometryForWgs84 = GeometryFactory.Default.WithSRID(4326)
.CreateGeometry(geometry);
@ -1670,7 +1654,7 @@ public class LayerApp : SqlSugarBaseApp<DmLayer, SugarDbContext>
}
if (colName.ToLower().Equals("geometry"))
{
var geometry = (NetTopologySuite.Geometries.Geometry)dataReader.GetValue(i);
var geometry = (Geometry)dataReader.GetValue(i);
var geometryForWgs84 = GeometryFactory.Default.WithSRID(4326)
.CreateGeometry(geometry);

View File

@ -1,5 +1,6 @@
using Infrastructure;
using Infrastructure.Cache;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp.DroneDockManage;
using OpenAuth.App.ServiceApp.DroneDockManage.Response;
@ -146,5 +147,24 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.DroneDockManage
}
#endregion
// todo 查询项目id获取token token失效 token刷新
/// <summary>
/// 获取态势感知项目id
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public Response<dynamic> GetTsgzProjectId()
{
return _app.GetdTsgzProjectId();
}
[HttpGet]
public Task<Response<dynamic>> GetTsgzAccessToken()
{
return _app.GetTsgzAccessToken();
}
}
}

View File

@ -23,7 +23,7 @@
//
"RedisConf": {
//"Conn": "192.168.10.163:6379,password=123456",
"Conn": "127.0.0.1:6379,password=123456",
"Conn": "127.0.0.1:9205",
"Database": 7
},
//redis
@ -74,5 +74,12 @@
"Password": ""
},
"FlyImageDir": "e:/fly",
"WebSocket": "ws://192.168.10.106:5698/ws"
"WebSocket": "ws://192.168.10.106:5698/ws",
"TaiShiGanZhi": {
"ApiUrl": "http://192.168.10.163:9024/api",
"ProjectId": "9679e92f-fa9c-4f51-92b9-dd97aaac7d64",
"LoginUrl": "/api/Check/Login",
"Username": "17853305028",
"Password": "123456"
}
}