暂存
@ -8,14 +8,14 @@ ENV ASPNETCORE_ENVIRONMENT=Production
|
||||
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR "/host/JiShe.ServicePro.HttpApi.Host"
|
||||
RUN dotnet build "JiShe.ServicePro.HttpApi.Host.csproj" -c Release -o /app/build
|
||||
WORKDIR "/host/JiShe.IoT.HttpApi.Host"
|
||||
RUN dotnet build "JiShe.IoT.HttpApi.Host.csproj" -c Release -o /app/build
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "JiShe.ServicePro.HttpApi.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
||||
RUN dotnet publish "JiShe.IoT.HttpApi.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT ["dotnet", "JiShe.ServicePro.HttpApi.Host.dll"]
|
||||
ENTRYPOINT ["dotnet", "JiShe.IoT.HttpApi.Host.dll"]
|
||||
|
||||
|
||||
@ -2,55 +2,55 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31410.414
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.Domain", "src\JiShe.ServicePro.Domain\JiShe.ServicePro.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.Domain", "src\JiShe.IoT.Domain\JiShe.IoT.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.Application", "src\JiShe.ServicePro.Application\JiShe.ServicePro.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.Application", "src\JiShe.IoT.Application\JiShe.IoT.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.EntityFrameworkCore", "src\JiShe.ServicePro.EntityFrameworkCore\JiShe.ServicePro.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.EntityFrameworkCore", "src\JiShe.IoT.EntityFrameworkCore\JiShe.IoT.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.Application.Tests", "test\JiShe.ServicePro.Application.Tests\JiShe.ServicePro.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.Application.Tests", "test\JiShe.IoT.Application.Tests\JiShe.IoT.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.Domain.Shared", "src\JiShe.ServicePro.Domain.Shared\JiShe.ServicePro.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.Domain.Shared", "src\JiShe.IoT.Domain.Shared\JiShe.IoT.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.Application.Contracts", "src\JiShe.ServicePro.Application.Contracts\JiShe.ServicePro.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.Application.Contracts", "src\JiShe.IoT.Application.Contracts\JiShe.IoT.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.HttpApi", "src\JiShe.ServicePro.HttpApi\JiShe.ServicePro.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.HttpApi", "src\JiShe.IoT.HttpApi\JiShe.IoT.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.HttpApi.Client", "src\JiShe.ServicePro.HttpApi.Client\JiShe.ServicePro.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.HttpApi.Client", "src\JiShe.IoT.HttpApi.Client\JiShe.IoT.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.EntityFrameworkCore.Tests", "test\JiShe.ServicePro.EntityFrameworkCore.Tests\JiShe.ServicePro.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.EntityFrameworkCore.Tests", "test\JiShe.IoT.EntityFrameworkCore.Tests\JiShe.IoT.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.TestBase", "test\JiShe.ServicePro.TestBase\JiShe.ServicePro.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.TestBase", "test\JiShe.IoT.TestBase\JiShe.IoT.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.Domain.Tests", "test\JiShe.ServicePro.Domain.Tests\JiShe.ServicePro.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.Domain.Tests", "test\JiShe.IoT.Domain.Tests\JiShe.IoT.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.HttpApi.Client.ConsoleTestApp", "test\JiShe.ServicePro.HttpApi.Client.ConsoleTestApp\JiShe.ServicePro.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.HttpApi.Client.ConsoleTestApp", "test\JiShe.IoT.HttpApi.Client.ConsoleTestApp\JiShe.IoT.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.DbMigrator", "src\JiShe.ServicePro.DbMigrator\JiShe.ServicePro.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.DbMigrator", "src\JiShe.IoT.DbMigrator\JiShe.IoT.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Solution Items", "0.Solution Items", "{2C4A6DB8-8D9E-42E6-B7C3-1EDB7B3DE22E}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
NuGet.Config = NuGet.Config
|
||||
Directory.Build.Microsoft.targets = Directory.Build.Microsoft.targets
|
||||
Directory.Build.JiShe.targets = Directory.Build.JiShe.targets
|
||||
Directory.Build.targets = Directory.Build.targets
|
||||
Directory.Build.Volo.targets = Directory.Build.Volo.targets
|
||||
Directory.Build.Lion.targets = Directory.Build.Lion.targets
|
||||
Dockerfile = Dockerfile
|
||||
NuGet.Config = NuGet.Config
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{8C1B8C6C-C518-4290-B070-622CCA6004DA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.HttpApi.Host", "host\JiShe.ServicePro.HttpApi.Host\JiShe.ServicePro.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.HttpApi.Host", "host\JiShe.IoT.HttpApi.Host\JiShe.IoT.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.ServicePro.FreeSqlRepository", "src\JiShe.ServicePro.FreeSqlRepository\JiShe.ServicePro.FreeSqlRepository.csproj", "{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.FreeSqlRepository", "src\JiShe.IoT.FreeSqlRepository\JiShe.IoT.FreeSqlRepository.csproj", "{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gateways", "gateways", "{81A8FF2E-DE2E-479D-A209-EDA81C2AF08A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.WebGateway", "gateways\JiShe.ServicePro.WebGateway\JiShe.ServicePro.WebGateway.csproj", "{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.IoT.WebGateway", "gateways\JiShe.IoT.WebGateway\JiShe.IoT.WebGateway.csproj", "{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -17,6 +17,6 @@ ENV TZ=Asia/Shanghai
|
||||
# 设置环境变量
|
||||
ENV ASPNETCORE_ENVIRONMENT=Production
|
||||
|
||||
ENTRYPOINT ["dotnet", "JiShe.ServicePro.WebGateway.dll"]
|
||||
ENTRYPOINT ["dotnet", "JiShe.IoT.WebGateway.dll"]
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||
"profiles": {
|
||||
"JiShe.ServicePro.WebGateway": {
|
||||
"JiShe.IoT.WebGateway": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": false,
|
||||
"launchUrl": "swagger",
|
||||
@ -17,7 +17,7 @@
|
||||
{
|
||||
"DownstreamPathTemplate": "/{url}",
|
||||
"DownstreamScheme": "http",
|
||||
"ServiceName": "ServicePro-Service",
|
||||
"ServiceName": "IoT-Service",
|
||||
"LoadBalancerOptions": {
|
||||
"Type": "LeastConnection"
|
||||
},
|
||||
@ -32,7 +32,7 @@
|
||||
{
|
||||
"DownstreamPathTemplate": "/{url}",
|
||||
"DownstreamScheme": "ws",
|
||||
"ServiceName": "ServicePro-Service",
|
||||
"ServiceName": "IoT-Service",
|
||||
"LoadBalancerOptions": {
|
||||
"Type": "LeastConnection"
|
||||
},
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Controllers
|
||||
namespace JiShe.IoT.Controllers
|
||||
{
|
||||
public class HomeController : AbpController
|
||||
{
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Extensions.Hangfire;
|
||||
namespace JiShe.IoT.Extensions.Hangfire;
|
||||
|
||||
public class AutoDeleteAfterSuccessAttributer : JobFilterAttribute, IApplyStateFilter
|
||||
{
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Extensions.Hangfire
|
||||
namespace JiShe.IoT.Extensions.Hangfire
|
||||
{
|
||||
/// <summary>
|
||||
/// Cron类型
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Extensions.Hangfire
|
||||
namespace JiShe.IoT.Extensions.Hangfire
|
||||
{
|
||||
public class CustomHangfireAuthorizeFilter : IDashboardAuthorizationFilter
|
||||
{
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Extensions.Hangfire;
|
||||
namespace JiShe.IoT.Extensions.Hangfire;
|
||||
|
||||
/// <summary>
|
||||
/// 重试最后一次
|
||||
@ -1,6 +1,6 @@
|
||||
using JiShe.ServicePro.Jobs;
|
||||
using JiShe.IoT.Jobs;
|
||||
|
||||
namespace JiShe.ServicePro.Extensions.Hangfire
|
||||
namespace JiShe.IoT.Extensions.Hangfire
|
||||
{
|
||||
public static class RecurringJobsExtensions
|
||||
{
|
||||
@ -15,10 +15,10 @@ global using Hangfire.Storage;
|
||||
global using JiShe.ServicePro;
|
||||
global using JiShe.ServicePro.CAP;
|
||||
global using JiShe.ServicePro.CAP.EntityFrameworkCore;
|
||||
global using JiShe.ServicePro.EntityFrameworkCore;
|
||||
global using JiShe.ServicePro.Extensions;
|
||||
global using JiShe.ServicePro.Extensions.Hangfire;
|
||||
global using JiShe.ServicePro.MultiTenancy;
|
||||
global using JiShe.IoT.EntityFrameworkCore;
|
||||
global using JiShe.IoT.Extensions;
|
||||
global using JiShe.IoT.Extensions.Hangfire;
|
||||
global using JiShe.IoT.MultiTenancy;
|
||||
global using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
global using Microsoft.AspNetCore.Builder;
|
||||
global using Microsoft.AspNetCore.DataProtection;
|
||||
@ -37,7 +37,7 @@ global using Microsoft.Extensions.Logging.Abstractions;
|
||||
global using Microsoft.Extensions.Options;
|
||||
global using Microsoft.IdentityModel.Tokens;
|
||||
global using Microsoft.OpenApi.Models;
|
||||
global using JiShe.ServicePro;
|
||||
global using JiShe.IoT;
|
||||
global using Serilog;
|
||||
global using StackExchange.Redis;
|
||||
global using Swagger;
|
||||
@ -1,6 +1,6 @@
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public static class ServiceProHttpApiHostConst
|
||||
public static class IoTHttpApiHostConst
|
||||
{
|
||||
/// <summary>
|
||||
/// 跨域策略名
|
||||
@ -10,7 +10,7 @@ namespace JiShe.ServicePro
|
||||
/// <summary>
|
||||
/// Cookies名称
|
||||
/// </summary>
|
||||
public const string DefaultCookieName = "JiShe.ServicePro.Http.Api";
|
||||
public const string DefaultCookieName = "JiShe.IoT.Http.Api";
|
||||
|
||||
/// <summary>
|
||||
/// SwaggerUi 端点
|
||||
@ -2,9 +2,9 @@ using Hangfire.Redis.StackExchange;
|
||||
using Medallion.Threading;
|
||||
using Medallion.Threading.Redis;
|
||||
|
||||
namespace JiShe.ServicePro;
|
||||
namespace JiShe.IoT;
|
||||
|
||||
public partial class ServiceProHttpApiHostModule
|
||||
public partial class IoTHttpApiHostModule
|
||||
{
|
||||
private void ConfigureHangfire(ServiceConfigurationContext context)
|
||||
{
|
||||
@ -94,7 +94,7 @@ public partial class ServiceProHttpApiHostModule
|
||||
|
||||
if (accessToken.IsNullOrWhiteSpace())
|
||||
{
|
||||
accessToken = currentContext.Request.Cookies[ServiceProHttpApiHostConst.DefaultCookieName];
|
||||
accessToken = currentContext.Request.Cookies[IoTHttpApiHostConst.DefaultCookieName];
|
||||
}
|
||||
|
||||
currentContext.Token = accessToken;
|
||||
@ -212,7 +212,7 @@ public partial class ServiceProHttpApiHostModule
|
||||
context.AddAbpCap(capOptions =>
|
||||
{
|
||||
capOptions.SetCapDbConnectionString(configuration["ConnectionStrings:Default"]);
|
||||
capOptions.UseEntityFramework<ServiceProDbContext>();
|
||||
capOptions.UseEntityFramework<IoTDbContext>();
|
||||
capOptions.UseRabbitMQ(option =>
|
||||
{
|
||||
option.HostName = configuration.GetValue<string>("Cap:RabbitMq:HostName");
|
||||
@ -1,14 +1,14 @@
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(ServiceProHttpApiModule),
|
||||
typeof(IoTHttpApiModule),
|
||||
typeof(ServiceProSharedHostingMicroserviceModule),
|
||||
typeof(AbpAspNetCoreMvcUiMultiTenancyModule),
|
||||
typeof(ServiceProEntityFrameworkCoreModule),
|
||||
typeof(IoTEntityFrameworkCoreModule),
|
||||
typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
|
||||
typeof(AbpAspNetCoreSerilogModule),
|
||||
typeof(AbpAccountWebModule),
|
||||
typeof(ServiceProApplicationModule),
|
||||
typeof(IoTApplicationModule),
|
||||
// typeof(AbpProCapModule),
|
||||
// typeof(AbpProCapEntityFrameworkCoreModule),
|
||||
typeof(AbpAspNetCoreMvcUiBasicThemeModule),
|
||||
@ -16,7 +16,7 @@ namespace JiShe.ServicePro
|
||||
typeof(AbpDistributedLockingModule)
|
||||
//typeof(AbpBackgroundJobsHangfireModule)
|
||||
)]
|
||||
public partial class ServiceProHttpApiHostModule : AbpModule
|
||||
public partial class IoTHttpApiHostModule : AbpModule
|
||||
{
|
||||
public override void OnPostApplicationInitialization(ApplicationInitializationContext context)
|
||||
{
|
||||
@ -55,7 +55,7 @@ namespace JiShe.ServicePro
|
||||
}
|
||||
|
||||
app.UseRouting();
|
||||
app.UseCors(ServiceProHttpApiHostConst.DefaultCorsPolicyName);
|
||||
app.UseCors(IoTHttpApiHostConst.DefaultCorsPolicyName);
|
||||
app.UseAuthentication();
|
||||
|
||||
if (MultiTenancyConsts.IsEnabled)
|
||||
@ -3,9 +3,9 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>JiShe.ServicePro</RootNamespace>
|
||||
<RootNamespace>JiShe.IoT</RootNamespace>
|
||||
<PreserveCompilationReferences>true</PreserveCompilationReferences>
|
||||
<UserSecretsId>JiShe.ServicePro-4681b4fd-151f-4221-84a4-929d86723e4c</UserSecretsId>
|
||||
<UserSecretsId>JiShe.IoT-4681b4fd-151f-4221-84a4-929d86723e4c</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -45,9 +45,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\JiShe.ServicePro.Application\JiShe.ServicePro.Application.csproj"/>
|
||||
<ProjectReference Include="..\..\src\JiShe.ServicePro.EntityFrameworkCore\JiShe.ServicePro.EntityFrameworkCore.csproj"/>
|
||||
<ProjectReference Include="..\..\src\JiShe.ServicePro.HttpApi\JiShe.ServicePro.HttpApi.csproj"/>
|
||||
<ProjectReference Include="..\..\src\JiShe.IoT.Application\JiShe.IoT.Application.csproj"/>
|
||||
<ProjectReference Include="..\..\src\JiShe.IoT.EntityFrameworkCore\JiShe.IoT.EntityFrameworkCore.csproj"/>
|
||||
<ProjectReference Include="..\..\src\JiShe.IoT.HttpApi\JiShe.IoT.HttpApi.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -1,5 +1,5 @@
|
||||
@page
|
||||
@model JiShe.ServicePro.Pages.Login
|
||||
@model JiShe.IoT.Pages.Login
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
@ -5,7 +5,7 @@ using JiShe.ServicePro.BasicManagement.Users.Dtos;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
|
||||
namespace JiShe.ServicePro.Pages
|
||||
namespace JiShe.IoT.Pages
|
||||
{
|
||||
public class Login : PageModel
|
||||
{
|
||||
@ -48,12 +48,12 @@ namespace JiShe.ServicePro.Pages
|
||||
|
||||
|
||||
// 设置cookies domain
|
||||
//options.Domain = "ServicePro.cn";
|
||||
//options.Domain = "IoT.cn";
|
||||
|
||||
|
||||
var result = await _accountAppService.LoginAsync(new LoginInput()
|
||||
{ Name = userName, Password = password });
|
||||
Response.Cookies.Append(ServiceProHttpApiHostConst.DefaultCookieName,
|
||||
Response.Cookies.Append(IoTHttpApiHostConst.DefaultCookieName,
|
||||
result.Token, options);
|
||||
}
|
||||
catch (Exception e)
|
||||
@ -1,6 +1,6 @@
|
||||
@page
|
||||
@using JiShe.ServicePro
|
||||
@model JiShe.ServicePro.Pages.Monitor
|
||||
@using JiShe.IoT
|
||||
@model JiShe.IoT.Pages.Monitor
|
||||
|
||||
|
||||
@{
|
||||
@ -27,12 +27,12 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||
<div class="thumbnail" style="height: 180px">
|
||||
<a href="@ServiceProHttpApiHostConst.SwaggerUiEndPoint" target="_blank">
|
||||
<a href="@IoTHttpApiHostConst.SwaggerUiEndPoint" target="_blank">
|
||||
<img class="lazy" src="/images/swagger.png" width="300" height="150"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>
|
||||
<a href="@ServiceProHttpApiHostConst.SwaggerUiEndPoint" target="_blank">SwaggerUI</a>
|
||||
<a href="@IoTHttpApiHostConst.SwaggerUiEndPoint" target="_blank">SwaggerUI</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
@ -40,36 +40,36 @@
|
||||
|
||||
@* <div class="col-sm-6 col-md-4 col-lg-3"> *@
|
||||
@* <div class="thumbnail" style="height: 180px"> *@
|
||||
@* <a href="@ServiceProHttpApiHostConst.HangfireDashboardEndPoint" target="_blank"> *@
|
||||
@* <a href="@IoTHttpApiHostConst.HangfireDashboardEndPoint" target="_blank"> *@
|
||||
@* <img class="lazy" src="/images/hangfire.png" width="300" height="150"/> *@
|
||||
@* </a> *@
|
||||
@* <div class="caption"> *@
|
||||
@* <h3> *@
|
||||
@* <a href="@ServiceProHttpApiHostConst.HangfireDashboardEndPoint" target="_blank">Hangfire面板</a> *@
|
||||
@* <a href="@IoTHttpApiHostConst.HangfireDashboardEndPoint" target="_blank">Hangfire面板</a> *@
|
||||
@* </h3> *@
|
||||
@* </div> *@
|
||||
@* </div> *@
|
||||
@* </div> *@
|
||||
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||
<div class="thumbnail" style="height: 180px">
|
||||
<a href="@ServiceProHttpApiHostConst.MiniprofilerEndPoint" target="_blank">
|
||||
<a href="@IoTHttpApiHostConst.MiniprofilerEndPoint" target="_blank">
|
||||
<img class="lazy" src="/images/miniprofiler.png" width="300" height="150"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>
|
||||
<a href="@ServiceProHttpApiHostConst.MiniprofilerEndPoint" target="_blank">Miniprofiler</a>
|
||||
<a href="@IoTHttpApiHostConst.MiniprofilerEndPoint" target="_blank">Miniprofiler</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||
<div class="thumbnail" style="height: 180px">
|
||||
<a href="@ServiceProHttpApiHostConst.MoreEndPoint" target="_blank">
|
||||
<a href="@IoTHttpApiHostConst.MoreEndPoint" target="_blank">
|
||||
<img class="lazy" src="/images/more.png" width="300" height="150"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>
|
||||
<a href="@ServiceProHttpApiHostConst.MoreEndPoint" target="_blank">了解更多...</a>
|
||||
<a href="@IoTHttpApiHostConst.MoreEndPoint" target="_blank">了解更多...</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,6 +1,6 @@
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace JiShe.ServicePro.Pages
|
||||
namespace JiShe.IoT.Pages
|
||||
{
|
||||
public class Monitor : PageModel
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Serilog.Events;
|
||||
|
||||
namespace JiShe.ServicePro;
|
||||
namespace JiShe.IoT;
|
||||
|
||||
public class Program
|
||||
{
|
||||
@ -24,7 +24,7 @@ public class Program
|
||||
loggerConfiguration,
|
||||
context.Configuration);
|
||||
});
|
||||
await builder.AddApplicationAsync<JiShe.ServicePro.ServiceProHttpApiHostModule>();
|
||||
await builder.AddApplicationAsync<JiShe.IoT.IoTHttpApiHostModule>();
|
||||
var app = builder.Build();
|
||||
await app.InitializeApplicationAsync();
|
||||
await app.RunAsync();
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"profiles": {
|
||||
"JiShe.ServicePro.HttpApi.Host": {
|
||||
"JiShe.IoT.HttpApi.Host": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "http://localhost:44315",
|
||||
32
host/JiShe.IoT.HttpApi.Host/appsettings.Development.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"App": {
|
||||
"SelfUrl": "http://localhost:44315",
|
||||
"CorsOrigins": "https://*.IoT.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://localhost"
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"Default": "Data Source=localhost;Port=3306;Database=JiSheIoTDB;uid=root;pwd=1q2w3E*;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
|
||||
},
|
||||
"Redis": {
|
||||
"Configuration": "localhost,password=1q2w3E*,defaultdatabase=1"
|
||||
},
|
||||
"Jwt": {
|
||||
"Audience": "JiShe.IoT",
|
||||
"SecurityKey": "dzehzRz9a8asdfasfdadfasdfasdfafsdadfasbasdf=",
|
||||
"Issuer": "JiShe.IoT",
|
||||
"ExpirationTime": 2
|
||||
},
|
||||
"Cap": {
|
||||
"RabbitMq": {
|
||||
"HostName": "localhost",
|
||||
"UserName": "admin",
|
||||
"Password": "1q2w3E*",
|
||||
"Port": 5672
|
||||
}
|
||||
},
|
||||
"Hangfire": {
|
||||
"Redis": {
|
||||
"Host": "localhost,password=1q2w3E*",
|
||||
"DB": "2"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,18 +1,18 @@
|
||||
{
|
||||
"App": {
|
||||
"SelfUrl": "http://localhost:44315",
|
||||
"CorsOrigins": "https://*.ServicePro.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://localhost"
|
||||
"CorsOrigins": "https://*.IoT.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://localhost"
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"Default": "Data Source=localhost;Port=3306;Database=JiSheServiceProDB;uid=root;pwd=IFKy!Cufe3V9sYcz;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
|
||||
"Default": "Data Source=localhost;Port=3306;Database=JiSheIoTDB;uid=root;pwd=IFKy!Cufe3V9sYcz;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
|
||||
},
|
||||
"Redis": {
|
||||
"Configuration": "localhost,password=1q2w3E*,defaultdatabase=1"
|
||||
},
|
||||
"Jwt": {
|
||||
"Audience": "JiShe.ServicePro",
|
||||
"Audience": "JiShe.IoT",
|
||||
"SecurityKey": "dzehzRz9a8asdfasfdadfasdfasdfafsdadfasbasdf=",
|
||||
"Issuer": "JiShe.ServicePro",
|
||||
"Issuer": "JiShe.IoT",
|
||||
"ExpirationTime": 2
|
||||
},
|
||||
"Cap": {
|
||||
@ -31,6 +31,6 @@
|
||||
},
|
||||
"App": {
|
||||
"SelfUrl": "http://localhost:44315",
|
||||
"CorsOrigins": "https://*.ServicePro.com,http://localhost:4200,http://localhost:3100"
|
||||
"CorsOrigins": "https://*.IoT.com,http://localhost:4200,http://localhost:3100"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
@ -1,52 +0,0 @@
|
||||
{
|
||||
"App": {
|
||||
"SelfUrl": "http://localhost:44315",
|
||||
"CorsOrigins": "https://*.ServicePro.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://localhost"
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"Default": "Data Source=localhost;Port=3306;Database=JiSheServiceProDB;uid=root;pwd=admin123;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
|
||||
},
|
||||
"Hangfire": {
|
||||
"Redis": {
|
||||
"Host": "192.168.5.9:6380,password=1q2w3e!@#",
|
||||
"DB": "2"
|
||||
}
|
||||
},
|
||||
"Redis": {
|
||||
"Configuration": "192.168.5.9:6380,password=1q2w3e!@#,defaultdatabase=5"
|
||||
},
|
||||
"Kafka": {
|
||||
"BootstrapServers": "192.168.5.9:29092,192.168.5.9:39092,192.168.5.9:49092",
|
||||
"EnableFilter": true,
|
||||
"EnableAuthorization": false,
|
||||
"SaslUserName": "lixiao",
|
||||
"SaslPassword": "lixiao1980",
|
||||
"KafkaReplicationFactor": 3,
|
||||
"NumPartitions": 30,
|
||||
"TaskThreadCount": -1,
|
||||
"FirstCollectionTime": "2025-04-22 16:07:00"
|
||||
},
|
||||
"IoTDBOptions": {
|
||||
"UserName": "root",
|
||||
"Password": "root",
|
||||
"ClusterList": [ "121.42.175.177:16667" ],
|
||||
"PoolSize": 32,
|
||||
"DataBaseName": "energy",
|
||||
"OpenDebugMode": true,
|
||||
"UseTableSessionPoolByDefault": false
|
||||
},
|
||||
"Jwt": {
|
||||
"Audience": "JiShe.ServicePro",
|
||||
"SecurityKey": "dzehzRz9a8asdfasfdadfasdfasdfafsdadfasbasdf=",
|
||||
"Issuer": "JiShe.ServicePro",
|
||||
"ExpirationTime": 2
|
||||
},
|
||||
"Cap": {
|
||||
"RabbitMq": {
|
||||
"HostName": "localhost",
|
||||
"UserName": "admin",
|
||||
"Password": "1q2w3E*",
|
||||
"Port": 5672
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,10 +2,10 @@ using JiShe.ServicePro.CodeManagement;
|
||||
using JiShe.ServicePro.DynamicMenuManagement;
|
||||
using JiShe.ServicePro.TemplateManagement;
|
||||
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(ServiceProDomainSharedModule),
|
||||
typeof(IoTDomainSharedModule),
|
||||
typeof(AbpObjectExtendingModule),
|
||||
typeof(BasicManagementApplicationContractsModule),
|
||||
typeof(NotificationManagementApplicationContractsModule),
|
||||
@ -15,11 +15,11 @@ namespace JiShe.ServicePro
|
||||
typeof(TemplateManagementApplicationContractsModule),
|
||||
typeof(DynamicMenuManagementApplicationContractsModule)
|
||||
)]
|
||||
public class ServiceProApplicationContractsModule : AbpModule
|
||||
public class IoTApplicationContractsModule : AbpModule
|
||||
{
|
||||
public override void PreConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
ServiceProDtoExtensions.Configure();
|
||||
IoTDtoExtensions.Configure();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public static class ServiceProDtoExtensions
|
||||
public static class IoTDtoExtensions
|
||||
{
|
||||
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>JiShe.ServicePro</RootNamespace>
|
||||
<RootNamespace>JiShe.IoT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\JiShe.ServicePro.Domain.Shared\JiShe.ServicePro.Domain.Shared.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.Domain.Shared\JiShe.IoT.Domain.Shared.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Jobs
|
||||
namespace JiShe.IoT.Jobs
|
||||
{
|
||||
public interface IRecurringJob : ITransientDependency
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
namespace JiShe.ServicePro.Permissions
|
||||
namespace JiShe.IoT.Permissions
|
||||
{
|
||||
public class ServiceProPermissionDefinitionProvider : PermissionDefinitionProvider
|
||||
public class IoTPermissionDefinitionProvider : PermissionDefinitionProvider
|
||||
{
|
||||
public override void Define(IPermissionDefinitionContext context)
|
||||
{
|
||||
@ -11,7 +11,7 @@ namespace JiShe.ServicePro.Permissions
|
||||
|
||||
private static LocalizableString L(string name)
|
||||
{
|
||||
return LocalizableString.Create<ServiceProResource>(name);
|
||||
return LocalizableString.Create<IoTResource>(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
namespace JiShe.IoT.Permissions
|
||||
{
|
||||
public static class IoTPermissions
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@ -8,8 +8,8 @@ global using JiShe.ServicePro.BasicManagement;
|
||||
global using JiShe.ServicePro.DataDictionaryManagement;
|
||||
global using JiShe.ServicePro.LanguageManagement;
|
||||
global using JiShe.ServicePro.NotificationManagement;
|
||||
global using JiShe.ServicePro.FreeSqlRepository;
|
||||
global using JiShe.ServicePro.Permissions;
|
||||
global using JiShe.IoT.FreeSqlRepository;
|
||||
global using JiShe.IoT.Permissions;
|
||||
global using Microsoft.AspNetCore.Authorization;
|
||||
global using Microsoft.Extensions.Configuration;
|
||||
global using Volo.Abp.Application.Services;
|
||||
12
src/JiShe.IoT.Application/IoTAppService.cs
Normal file
@ -0,0 +1,12 @@
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
/* Inherit your application services from this class.
|
||||
*/
|
||||
public abstract class IoTAppService : ApplicationService
|
||||
{
|
||||
protected IoTAppService()
|
||||
{
|
||||
LocalizationResource = typeof(IoTResource);
|
||||
}
|
||||
}
|
||||
}
|
||||
10
src/JiShe.IoT.Application/IoTApplicationAutoMapperProfile.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public class IoTApplicationAutoMapperProfile : Profile
|
||||
{
|
||||
public IoTApplicationAutoMapperProfile()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,11 +2,11 @@ using JiShe.ServicePro.CodeManagement;
|
||||
using JiShe.ServicePro.DynamicMenuManagement;
|
||||
using JiShe.ServicePro.TemplateManagement;
|
||||
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(ServiceProDomainModule),
|
||||
typeof(ServiceProApplicationContractsModule),
|
||||
typeof(IoTDomainModule),
|
||||
typeof(IoTApplicationContractsModule),
|
||||
typeof(BasicManagementApplicationModule),
|
||||
typeof(NotificationManagementApplicationModule),
|
||||
typeof(DataDictionaryManagementApplicationModule),
|
||||
@ -14,15 +14,15 @@ namespace JiShe.ServicePro
|
||||
typeof(CodeManagementApplicationModule),
|
||||
typeof(TemplateManagementApplicationModule),
|
||||
typeof(DynamicMenuManagementApplicationModule),
|
||||
typeof(ServiceProFreeSqlModule)
|
||||
typeof(IoTFreeSqlModule)
|
||||
)]
|
||||
public class ServiceProApplicationModule : AbpModule
|
||||
public class IoTApplicationModule : AbpModule
|
||||
{
|
||||
public override void ConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
Configure<AbpAutoMapperOptions>(options =>
|
||||
{
|
||||
options.AddMaps<ServiceProApplicationModule>();
|
||||
options.AddMaps<IoTApplicationModule>();
|
||||
});
|
||||
|
||||
}
|
||||
@ -3,13 +3,13 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>JiShe.ServicePro</RootNamespace>
|
||||
<RootNamespace>JiShe.IoT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\JiShe.ServicePro.Domain\JiShe.ServicePro.Domain.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.ServicePro.Application.Contracts\JiShe.ServicePro.Application.Contracts.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.ServicePro.FreeSqlRepository\JiShe.ServicePro.FreeSqlRepository.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.Domain\JiShe.IoT.Domain.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.Application.Contracts\JiShe.IoT.Application.Contracts.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.FreeSqlRepository\JiShe.IoT.FreeSqlRepository.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Jobs
|
||||
namespace JiShe.IoT.Jobs
|
||||
{
|
||||
public class TestJob : IRecurringJob
|
||||
{
|
||||
2
src/JiShe.IoT.Application/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,2 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
[assembly:InternalsVisibleToAttribute("JiShe.IoT.Application.Tests")]
|
||||
@ -1,6 +1,6 @@
|
||||
using Volo.Abp.Data;
|
||||
|
||||
namespace JiShe.ServicePro.DbMigrator
|
||||
namespace JiShe.IoT.DbMigrator
|
||||
{
|
||||
public class DbMigratorHostedService : IHostedService
|
||||
{
|
||||
@ -15,7 +15,7 @@ namespace JiShe.ServicePro.DbMigrator
|
||||
|
||||
public async Task StartAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
using (var application = await AbpApplicationFactory.CreateAsync<ServiceProDbMigratorModule>(options =>
|
||||
using (var application = await AbpApplicationFactory.CreateAsync<IoTDbMigratorModule>(options =>
|
||||
{
|
||||
options.Services.ReplaceConfiguration(_configuration);
|
||||
options.UseAutofac();
|
||||
@ -28,7 +28,7 @@ namespace JiShe.ServicePro.DbMigrator
|
||||
|
||||
await application
|
||||
.ServiceProvider
|
||||
.GetRequiredService<ServiceProDbMigrationService>()
|
||||
.GetRequiredService<IoTDbMigrationService>()
|
||||
.MigrateAsync();
|
||||
|
||||
await application.ShutdownAsync();
|
||||
@ -4,8 +4,8 @@ global using System;
|
||||
global using System.IO;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
global using JiShe.ServicePro.Data;
|
||||
global using JiShe.ServicePro.EntityFrameworkCore;
|
||||
global using JiShe.IoT.Data;
|
||||
global using JiShe.IoT.EntityFrameworkCore;
|
||||
global using Microsoft.Extensions.Configuration;
|
||||
global using Microsoft.Extensions.DependencyInjection;
|
||||
global using Microsoft.Extensions.Hosting;
|
||||
@ -1,13 +1,13 @@
|
||||
using Volo.Abp.Localization;
|
||||
|
||||
namespace JiShe.ServicePro.DbMigrator
|
||||
namespace JiShe.IoT.DbMigrator
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(AbpAutofacModule),
|
||||
typeof(ServiceProEntityFrameworkCoreModule),
|
||||
typeof(ServiceProApplicationContractsModule)
|
||||
typeof(IoTEntityFrameworkCoreModule),
|
||||
typeof(IoTApplicationContractsModule)
|
||||
)]
|
||||
public class ServiceProDbMigratorModule : AbpModule
|
||||
public class IoTDbMigratorModule : AbpModule
|
||||
{
|
||||
public override void ConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
@ -16,8 +16,8 @@
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ProjectReference Include="..\JiShe.ServicePro.Application.Contracts\JiShe.ServicePro.Application.Contracts.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.ServicePro.EntityFrameworkCore\JiShe.ServicePro.EntityFrameworkCore.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.Application.Contracts\JiShe.IoT.Application.Contracts.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.EntityFrameworkCore\JiShe.IoT.EntityFrameworkCore.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.DbMigrator
|
||||
namespace JiShe.IoT.DbMigrator
|
||||
{
|
||||
class Program
|
||||
{
|
||||
@ -9,9 +9,9 @@ namespace JiShe.ServicePro.DbMigrator
|
||||
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
|
||||
.MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning)
|
||||
#if DEBUG
|
||||
.MinimumLevel.Override("JiShe.ServicePro", LogEventLevel.Debug)
|
||||
.MinimumLevel.Override("JiShe.IoT", LogEventLevel.Debug)
|
||||
#else
|
||||
.MinimumLevel.Override("JiShe.ServicePro", LogEventLevel.Information)
|
||||
.MinimumLevel.Override("JiShe.IoT", LogEventLevel.Information)
|
||||
#endif
|
||||
.Enrich.FromLogContext()
|
||||
.WriteTo.Async(c => c.File("Logs/logs.txt"))
|
||||
5
src/JiShe.IoT.DbMigrator/appsettings.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"Default": "Data Source=localhost;Port=3306;Database=JiSheIoTDB;uid=root;pwd=1q2w3E*;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
|
||||
}
|
||||
}
|
||||
7
src/JiShe.IoT.Domain.Shared/IoTDomainErrorCodes.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public static class IoTDomainErrorCodes
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
namespace JiShe.ServicePro;
|
||||
namespace JiShe.IoT;
|
||||
|
||||
public class ServiceProDomainSharedConsts
|
||||
public class IoTDomainSharedConsts
|
||||
{
|
||||
/// <summary>名称空间</summary>
|
||||
public const string NameSpace = "JiShe.ServicePro";
|
||||
public const string NameSpace = "JiShe.IoT";
|
||||
/// <summary>默认语言</summary>
|
||||
public const string DefaultCultureName = "zh-Hans";
|
||||
}
|
||||
@ -2,7 +2,7 @@ using JiShe.ServicePro.CodeManagement;
|
||||
using JiShe.ServicePro.DynamicMenuManagement;
|
||||
using JiShe.ServicePro.TemplateManagement;
|
||||
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(BasicManagementDomainSharedModule),
|
||||
@ -14,35 +14,35 @@ namespace JiShe.ServicePro
|
||||
typeof(DynamicMenuManagementDomainSharedModule),
|
||||
typeof(ServiceProCoreModule)
|
||||
)]
|
||||
public class ServiceProDomainSharedModule : AbpModule
|
||||
public class IoTDomainSharedModule : AbpModule
|
||||
{
|
||||
public override void PreConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
ServiceProGlobalFeatureConfigurator.Configure();
|
||||
ServiceProModuleExtensionConfigurator.Configure();
|
||||
IoTGlobalFeatureConfigurator.Configure();
|
||||
IoTModuleExtensionConfigurator.Configure();
|
||||
}
|
||||
|
||||
public override void ConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
Configure<AbpVirtualFileSystemOptions>(options =>
|
||||
{
|
||||
options.FileSets.AddEmbedded<ServiceProDomainSharedModule>(ServiceProDomainSharedConsts.NameSpace);
|
||||
options.FileSets.AddEmbedded<IoTDomainSharedModule>(IoTDomainSharedConsts.NameSpace);
|
||||
});
|
||||
|
||||
Configure<AbpLocalizationOptions>(options =>
|
||||
{
|
||||
options.Resources
|
||||
.Add<ServiceProResource>(ServiceProDomainSharedConsts.DefaultCultureName)
|
||||
.AddVirtualJson("/Localization/ServicePro")
|
||||
.Add<IoTResource>(IoTDomainSharedConsts.DefaultCultureName)
|
||||
.AddVirtualJson("/Localization/IoT")
|
||||
.AddBaseTypes(typeof(BasicManagementResource))
|
||||
.AddBaseTypes(typeof(AbpTimingResource));
|
||||
|
||||
options.DefaultResourceType = typeof(ServiceProResource);
|
||||
options.DefaultResourceType = typeof(IoTResource);
|
||||
});
|
||||
|
||||
Configure<AbpExceptionLocalizationOptions>(options =>
|
||||
{
|
||||
options.MapCodeNamespace(ServiceProDomainSharedConsts.NameSpace, typeof(ServiceProResource));
|
||||
options.MapCodeNamespace(IoTDomainSharedConsts.NameSpace, typeof(IoTResource));
|
||||
});
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public static class ServiceProGlobalFeatureConfigurator
|
||||
public static class IoTGlobalFeatureConfigurator
|
||||
{
|
||||
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public static class ServiceProModuleExtensionConfigurator
|
||||
public static class IoTModuleExtensionConfigurator
|
||||
{
|
||||
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>JiShe.ServicePro</RootNamespace>
|
||||
<RootNamespace>JiShe.IoT</RootNamespace>
|
||||
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Localization\ServicePro\*.json"/>
|
||||
<Content Remove="Localization\ServicePro\*.json"/>
|
||||
<EmbeddedResource Include="Localization\IoT\*.json"/>
|
||||
<Content Remove="Localization\IoT\*.json"/>
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
8
src/JiShe.IoT.Domain.Shared/Localization/IoTResource.cs
Normal file
@ -0,0 +1,8 @@
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
[LocalizationResourceName("IoT")]
|
||||
public class IoTResource
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.MultiTenancy
|
||||
namespace JiShe.IoT.MultiTenancy
|
||||
{
|
||||
public static class MultiTenancyConsts
|
||||
{
|
||||
@ -1,4 +1,4 @@
|
||||
namespace JiShe.ServicePro.Users.Dto
|
||||
namespace JiShe.IoT.Users.Dto
|
||||
{
|
||||
public class UserOutput
|
||||
{
|
||||
7
src/JiShe.IoT.Domain/Data/IIoTDbSchemaMigrator.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace JiShe.IoT.Data
|
||||
{
|
||||
public interface IIoTDbSchemaMigrator
|
||||
{
|
||||
Task MigrateAsync();
|
||||
}
|
||||
}
|
||||
@ -1,17 +1,17 @@
|
||||
namespace JiShe.ServicePro.Data
|
||||
namespace JiShe.IoT.Data
|
||||
{
|
||||
public class ServiceProDbMigrationService : ITransientDependency
|
||||
public class IoTDbMigrationService : ITransientDependency
|
||||
{
|
||||
public ILogger<ServiceProDbMigrationService> Logger { get; set; }
|
||||
public ILogger<IoTDbMigrationService> Logger { get; set; }
|
||||
|
||||
private readonly IDataSeeder _dataSeeder;
|
||||
private readonly IEnumerable<IServiceProDbSchemaMigrator> _dbSchemaMigrators;
|
||||
private readonly IEnumerable<IIoTDbSchemaMigrator> _dbSchemaMigrators;
|
||||
private readonly ITenantRepository _tenantRepository;
|
||||
private readonly ICurrentTenant _currentTenant;
|
||||
|
||||
public ServiceProDbMigrationService(
|
||||
public IoTDbMigrationService(
|
||||
IDataSeeder dataSeeder,
|
||||
IEnumerable<IServiceProDbSchemaMigrator> dbSchemaMigrators,
|
||||
IEnumerable<IIoTDbSchemaMigrator> dbSchemaMigrators,
|
||||
ITenantRepository tenantRepository,
|
||||
ICurrentTenant currentTenant)
|
||||
{
|
||||
@ -20,7 +20,7 @@ namespace JiShe.ServicePro.Data
|
||||
_tenantRepository = tenantRepository;
|
||||
_currentTenant = currentTenant;
|
||||
|
||||
Logger = NullLogger<ServiceProDbMigrationService>.Instance;
|
||||
Logger = NullLogger<IoTDbMigrationService>.Instance;
|
||||
}
|
||||
|
||||
public async Task MigrateAsync()
|
||||
13
src/JiShe.IoT.Domain/Data/NullIoTDbSchemaMigrator.cs
Normal file
@ -0,0 +1,13 @@
|
||||
namespace JiShe.IoT.Data
|
||||
{
|
||||
/* This is used if database provider does't define
|
||||
* IIoTDbSchemaMigrator implementation.
|
||||
*/
|
||||
public class NullIoTDbSchemaMigrator : IIoTDbSchemaMigrator, ITransientDependency
|
||||
{
|
||||
public Task MigrateAsync()
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -11,8 +11,8 @@ global using JiShe.ServicePro.BasicManagement;
|
||||
global using JiShe.ServicePro.DataDictionaryManagement;
|
||||
global using JiShe.ServicePro.LanguageManagement;
|
||||
global using JiShe.ServicePro.NotificationManagement;
|
||||
global using JiShe.ServicePro.MultiTenancy;
|
||||
global using JiShe.ServicePro.Users.Dto;
|
||||
global using JiShe.IoT.MultiTenancy;
|
||||
global using JiShe.IoT.Users.Dto;
|
||||
global using Microsoft.Extensions.DependencyInjection;
|
||||
global using Microsoft.Extensions.Logging;
|
||||
global using Microsoft.Extensions.Logging.Abstractions;
|
||||
@ -1,6 +1,6 @@
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public static class ServiceProDbProperties
|
||||
public static class IoTDbProperties
|
||||
{
|
||||
public const string DbTablePrefix = "App";
|
||||
|
||||
@ -2,10 +2,10 @@ using JiShe.ServicePro.CodeManagement;
|
||||
using JiShe.ServicePro.DynamicMenuManagement;
|
||||
using JiShe.ServicePro.TemplateManagement;
|
||||
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(ServiceProDomainSharedModule),
|
||||
typeof(IoTDomainSharedModule),
|
||||
typeof(BasicManagementDomainModule),
|
||||
typeof(NotificationManagementDomainModule),
|
||||
typeof(DataDictionaryManagementDomainModule),
|
||||
@ -14,12 +14,12 @@ namespace JiShe.ServicePro
|
||||
typeof(TemplateManagementDomainModule),
|
||||
typeof(DynamicMenuManagementDomainModule)
|
||||
)]
|
||||
public class ServiceProDomainModule : AbpModule
|
||||
public class IoTDomainModule : AbpModule
|
||||
{
|
||||
public override void ConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
Configure<AbpMultiTenancyOptions>(options => { options.IsEnabled = MultiTenancyConsts.IsEnabled; });
|
||||
Configure<AbpAutoMapperOptions>(options => { options.AddMaps<ServiceProDomainModule>(); });
|
||||
Configure<AbpAutoMapperOptions>(options => { options.AddMaps<IoTDomainModule>(); });
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,8 +1,8 @@
|
||||
using Volo.Abp.EventBus.Local;
|
||||
|
||||
namespace JiShe.ServicePro
|
||||
namespace JiShe.IoT
|
||||
{
|
||||
public abstract class ServiceProDomainService : DomainService
|
||||
public abstract class IoTDomainService : DomainService
|
||||
{
|
||||
protected Type ObjectMapperContext { get; set; }
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>JiShe.ServicePro</RootNamespace>
|
||||
<RootNamespace>JiShe.IoT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\JiShe.ServicePro.Domain.Shared\JiShe.ServicePro.Domain.Shared.csproj"/>
|
||||
<ProjectReference Include="..\JiShe.IoT.Domain.Shared\JiShe.IoT.Domain.Shared.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
3
src/JiShe.IoT.Domain/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,3 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
[assembly:InternalsVisibleToAttribute("JiShe.IoT.Domain.Tests")]
|
||||
[assembly:InternalsVisibleToAttribute("JiShe.IoT.TestBase")]
|
||||
@ -1,11 +1,11 @@
|
||||
namespace JiShe.ServicePro.Settings
|
||||
namespace JiShe.IoT.Settings
|
||||
{
|
||||
public class ServiceProSettingDefinitionProvider : SettingDefinitionProvider
|
||||
public class IoTSettingDefinitionProvider : SettingDefinitionProvider
|
||||
{
|
||||
public override void Define(ISettingDefinitionContext context)
|
||||
{
|
||||
//Define your own settings here. Example:
|
||||
//context.Add(new SettingDefinition(ServiceProSettings.MySetting1));
|
||||
//context.Add(new SettingDefinition(IoTSettings.MySetting1));
|
||||
OverrideDefalutSettings(context);
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ namespace JiShe.ServicePro.Settings
|
||||
|
||||
private static LocalizableString L(string name)
|
||||
{
|
||||
return LocalizableString.Create<ServiceProResource>(name);
|
||||
return LocalizableString.Create<IoTResource>(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
7
src/JiShe.IoT.Domain/Settings/IoTSettings.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace JiShe.IoT.Settings
|
||||
{
|
||||
public static class IoTSettings
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,25 +1,25 @@
|
||||
namespace JiShe.ServicePro.EntityFrameworkCore
|
||||
namespace JiShe.IoT.EntityFrameworkCore
|
||||
{
|
||||
public class EntityFrameworkCoreServiceProDbSchemaMigrator
|
||||
: IServiceProDbSchemaMigrator, ITransientDependency
|
||||
public class EntityFrameworkCoreIoTDbSchemaMigrator
|
||||
: IIoTDbSchemaMigrator, ITransientDependency
|
||||
{
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
public EntityFrameworkCoreServiceProDbSchemaMigrator(IServiceProvider serviceProvider)
|
||||
public EntityFrameworkCoreIoTDbSchemaMigrator(IServiceProvider serviceProvider)
|
||||
{
|
||||
_serviceProvider = serviceProvider;
|
||||
}
|
||||
|
||||
public async Task MigrateAsync()
|
||||
{
|
||||
/* We intentionally resolving the ServiceProMigrationsDbContext
|
||||
/* We intentionally resolving the IoTMigrationsDbContext
|
||||
* from IServiceProvider (instead of directly injecting it)
|
||||
* to properly get the connection string of the current tenant in the
|
||||
* current scope.
|
||||
*/
|
||||
|
||||
await _serviceProvider
|
||||
.GetRequiredService<ServiceProDbContext>()
|
||||
.GetRequiredService<IoTDbContext>()
|
||||
.Database
|
||||
.MigrateAsync();
|
||||
}
|
||||