From d2756a9b07b458060b3b49e0b212a166dac2aa40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=86=9B?= <510423039@qq.com>
Date: Thu, 30 Sep 2021 10:51:17 +0800
Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20dotnetcore.cap=20=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E5=9F=BA=E4=BA=8E=E5=86=85=E5=AD=98=20=E2=9C=A8=20es=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=E5=8F=AF=E9=80=89=20=E2=9C=A8=20=E6=B7=BB=E5=8A=A0=20?=
=?UTF-8?q?UserDataSeedContributor?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
aspnet-core/Directory.Build.props | 1 +
.../CompanyName.ProjectName.CAP.csproj | 7 ++-
.../ElasticSearchs/LogAppService.cs | 22 +++++--
...ompanyName.ProjectName.HttpApi.Host.csproj | 3 -
.../Filters/HiddenAbpDefaultApiFilter.cs | 16 ++---
.../ProjectNameHttpApiHostModule.cs | 60 +++++++++++--------
.../appsettings.Development.json | 19 +++---
.../Users/UserDataSeedContributor.cs | 38 +++++++++++-
vben271/.env.production | 2 +-
vben271/_nginx/default.conf | 4 ++
vben271/_nginx/nginx.conf | 11 +++-
11 files changed, 127 insertions(+), 56 deletions(-)
diff --git a/aspnet-core/Directory.Build.props b/aspnet-core/Directory.Build.props
index e0590569..35930d61 100644
--- a/aspnet-core/Directory.Build.props
+++ b/aspnet-core/Directory.Build.props
@@ -2,6 +2,7 @@
4.4.0
+ 5.1.4
\ No newline at end of file
diff --git a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj b/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj
index 6d485d8a..a66439af 100644
--- a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj
+++ b/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj
@@ -5,9 +5,14 @@
-
+
+
+
+
+
+
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs
index 6cddf3f3..c8410380 100644
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs
+++ b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs
@@ -1,21 +1,35 @@
-using System.Threading.Tasks;
+using System.Collections.Generic;
+using System.Threading.Tasks;
using CompanyName.ProjectName.Extensions.Customs.Dtos;
using CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos;
+using Microsoft.Extensions.Configuration;
namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs
{
public class LogAppService : QueryManagementAppService, ILogAppService
{
private readonly ICompanyNameProjectNameLogRepository _companyNameProjectNameLogRepository;
+ private readonly IConfiguration _configuration;
- public LogAppService(ICompanyNameProjectNameLogRepository companyNameProjectNameLogRepository)
+ public LogAppService(
+ ICompanyNameProjectNameLogRepository companyNameProjectNameLogRepository,
+ IConfiguration configuration)
{
_companyNameProjectNameLogRepository = companyNameProjectNameLogRepository;
+ _configuration = configuration;
}
- public Task> PaingLogAsync(PagingElasticSearchLogInput input)
+ public async Task> PaingLogAsync(PagingElasticSearchLogInput input)
{
- return _companyNameProjectNameLogRepository.PaingAsync(input);
+ var enabled = _configuration.GetValue("LogToElasticSearch:Enabled", false);
+ if (enabled)
+ {
+ return await _companyNameProjectNameLogRepository.PaingAsync(input);
+ }
+ else
+ {
+ return new CustomePagedResultDto(0, new List());
+ }
}
}
}
\ No newline at end of file
diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj
index 6f3d3a8b..887364e2 100644
--- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj
+++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj
@@ -34,9 +34,6 @@
-
-
-
diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Extensions/Filters/HiddenAbpDefaultApiFilter.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Extensions/Filters/HiddenAbpDefaultApiFilter.cs
index ec023a51..6feaaae2 100644
--- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Extensions/Filters/HiddenAbpDefaultApiFilter.cs
+++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Extensions/Filters/HiddenAbpDefaultApiFilter.cs
@@ -42,14 +42,14 @@ namespace CompanyName.ProjectName.Extensions.Filters
private List GetHiddenAbpDefaultApiList()
{
return new List() {
- "/api/abp/multi-tenancy/tenants",
- "/api/account",
- "/api/feature-management/features",
- "/api/permission-management/permissions",
- "/api/identity/my-profile",
- "/api/identity",
- "/api/multi-tenancy/tenants",
- "/api/setting-management/emailing"
+ // "/api/abp/multi-tenancy/tenants",
+ // "/api/account",
+ // "/api/feature-management/features",
+ // "/api/permission-management/permissions",
+ // "/api/identity/my-profile",
+ // "/api/identity",
+ // "/api/multi-tenancy/tenants",
+ // "/api/setting-management/emailing"
};
}
}
diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs
index ad604388..579d5e7d 100644
--- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs
+++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs
@@ -47,6 +47,7 @@ using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.MultiTenancy;
using CompanyName.ProjectName.Extensions.Customs.Http;
using CompanyName.ProjectName.QueryManagement.ElasticSearch;
+using Savorboard.CAP.InMemoryMessageQueue;
using Serilog;
using Volo.Abp.AspNetCore.ExceptionHandling;
@@ -72,7 +73,7 @@ namespace CompanyName.ProjectName
public override void OnPostApplicationInitialization(ApplicationInitializationContext context)
{
- // context.CreateRecurringJob();
+ // context.CreateRecurringJob();
base.OnPostApplicationInitialization(context);
}
@@ -145,9 +146,8 @@ namespace CompanyName.ProjectName
private void ConfigureAbpExceptions(ServiceConfigurationContext context)
{
context.Services.Configure(options => { options.SendExceptionsDetailsToClients = true; });
-
-
}
+
public void ConfigureHangfireMysql(ServiceConfigurationContext context)
{
Configure(options => { options.IsJobExecutionEnabled = true; });
@@ -261,7 +261,7 @@ namespace CompanyName.ProjectName
private void ConfigureVirtualFileSystem(ServiceConfigurationContext context)
{
Configure(options => { options.FileSets.AddEmbedded(); });
-
+
// var hostingEnvironment = context.Services.GetHostingEnvironment();
//
// if (hostingEnvironment.IsDevelopment())
@@ -287,11 +287,11 @@ namespace CompanyName.ProjectName
private void ConfigurationStsHttpClient(ServiceConfigurationContext context)
{
context.Services.AddHttpClient(HttpClientNameConsts.Sts,
- options =>
- {
- options.BaseAddress =
- new Uri(context.Services.GetConfiguration().GetSection("HttpClient:Sts:Url").Value);
- });
+ options =>
+ {
+ options.BaseAddress =
+ new Uri(context.Services.GetConfiguration().GetSection("HttpClient:Sts:Url").Value);
+ });
}
private void ConfigureConventionalControllers()
@@ -414,27 +414,39 @@ namespace CompanyName.ProjectName
});
});
}
-
+
private void ConfigurationCap(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
- context.AddAbpCap(capOptions =>
+ var enabled = configuration.GetValue("Cap:Enabled", false);
+ if (enabled)
{
- capOptions.UseEntityFramework();
- capOptions.UseRabbitMQ(option =>
+ context.AddAbpCap(capOptions =>
{
- option.HostName = configuration.GetValue("RabbitMq:HostName");
- option.UserName = configuration.GetValue("RabbitMq:UserName");
- option.Password = configuration.GetValue("RabbitMq:Password");
- });
-
- var hostingEnvironment = context.Services.GetHostingEnvironment();
- bool auth = !hostingEnvironment.IsDevelopment();
- capOptions.UseDashboard(options =>
+ capOptions.UseEntityFramework();
+ capOptions.UseRabbitMQ(option =>
+ {
+ option.HostName = configuration.GetValue("Cap:RabbitMq:HostName");
+ option.UserName = configuration.GetValue("Cap:RabbitMq:UserName");
+ option.Password = configuration.GetValue("Cap:RabbitMq:Password");
+ });
+
+ var hostingEnvironment = context.Services.GetHostingEnvironment();
+ bool auth = !hostingEnvironment.IsDevelopment();
+ capOptions.UseDashboard(options => { options.UseAuth = auth; });
+ });
+ }
+ else
+ {
+ context.AddAbpCap(capOptions =>
{
- options.UseAuth = auth;
- });
- });
+ capOptions.UseInMemoryStorage();
+ capOptions.UseInMemoryMessageQueue();
+ var hostingEnvironment = context.Services.GetHostingEnvironment();
+ bool auth = !hostingEnvironment.IsDevelopment();
+ capOptions.UseDashboard(options => { options.UseAuth = auth; });
+ });
+ }
}
}
}
\ No newline at end of file
diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json
index 68d6034e..dd6b2314 100644
--- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json
@@ -24,12 +24,6 @@
"DatabaseId": 0
}
},
- "AuthServer": {
- "Authority": "https://localhost:44354",
- "RequireHttpsMetadata": "true",
- "SwaggerClientId": "ProjectName_Swagger",
- "SwaggerClientSecret": "1q2w3e*"
- },
"StringEncryption": {
"DefaultPassPhrase": "YFLtqf75HkDnKR0n"
},
@@ -42,13 +36,16 @@
"ExpirationTime": 24
//过期时间 hour
},
- "RabbitMq": {
- "HostName": "localhost",
- "UserName": "admin",
- "Password": "admin"
+ "Cap": {
+ "Enabled": "false",
+ "RabbitMq": {
+ "HostName": "localhost",
+ "UserName": "admin",
+ "Password": "admin"
+ }
},
"LogToElasticSearch": {
- "Enabled": "true",
+ "Enabled": "false",
"ElasticSearch": {
"Url": "http://es.cn",
"IndexFormat": "companyname.projectname.development",
diff --git a/aspnet-core/services/src/CompanyName.ProjectName.Domain/Users/UserDataSeedContributor.cs b/aspnet-core/services/src/CompanyName.ProjectName.Domain/Users/UserDataSeedContributor.cs
index 9d998218..99626693 100644
--- a/aspnet-core/services/src/CompanyName.ProjectName.Domain/Users/UserDataSeedContributor.cs
+++ b/aspnet-core/services/src/CompanyName.ProjectName.Domain/Users/UserDataSeedContributor.cs
@@ -1,7 +1,39 @@
-namespace CompanyName.ProjectName.Users
+using System;
+using System.Threading.Tasks;
+using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Identity;
+
+namespace CompanyName.ProjectName.Users
{
- public class UserDataSeedContributor
+ public class UserDataSeedContributor : IDataSeedContributor, ITransientDependency
{
-
+ private readonly IdentityUserManager _userManager;
+ private readonly IdentityRoleManager _identityRoleManager;
+
+ public UserDataSeedContributor(
+ IdentityUserManager userManager,
+ IdentityRoleManager identityRoleManager)
+ {
+ _userManager = userManager;
+ _identityRoleManager = identityRoleManager;
+ }
+
+ public async Task SeedAsync(DataSeedContext context)
+ {
+ const string adminUserName = "admin";
+ var adminUser = await _userManager.FindByNameAsync(adminUserName);
+ if (adminUser != null)
+ {
+ await _userManager.SetLockoutEndDateAsync(adminUser, DateTimeOffset.UtcNow.AddDays(-1));
+ }
+
+ var role = await _identityRoleManager.FindByNameAsync(adminUserName);
+ if (role != null)
+ {
+ role.IsDefault = true;
+ await _identityRoleManager.UpdateAsync(role);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/vben271/.env.production b/vben271/.env.production
index 4003896c..d7384857 100644
--- a/vben271/.env.production
+++ b/vben271/.env.production
@@ -34,7 +34,7 @@ VITE_USE_PWA = false
# Is it compatible with older browsers
VITE_LEGACY = false
-VITE_BUILD_COMPRESS = 'none'
+VITE_BUILD_COMPRESS = 'gzip'
# 认证授权服务器地址
VITE_AUTH_URL='http://120.24.194.14:8013'
diff --git a/vben271/_nginx/default.conf b/vben271/_nginx/default.conf
index a7abe4f2..c6416fa1 100644
--- a/vben271/_nginx/default.conf
+++ b/vben271/_nginx/default.conf
@@ -11,6 +11,10 @@ server {
#access_log /var/log/nginx/host.access.log main;
location / {
+ if ($request_filename ~* .*\.html$) {
+ add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
+ }
+
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
diff --git a/vben271/_nginx/nginx.conf b/vben271/_nginx/nginx.conf
index 4a06ab8e..b7fbcbfd 100644
--- a/vben271/_nginx/nginx.conf
+++ b/vben271/_nginx/nginx.conf
@@ -28,6 +28,15 @@ http {
keepalive_timeout 65;
send_timeout 600;
- #gzip on;
+ # 开启gzip
+ gzip on;
+ # 开启gzip_static
+ # gzip_static 开启后可能会报错,需要安装相应的模块, 具体安装方式可以自行查询
+ # 只有这个开启,vue文件打包的.gz文件才会有效果,否则不需要开启gzip进行打包
+ gzip_static on;
+ gzip_proxied any;
+ gzip_min_length 1k;
+ gzip_buffers 4 16k;
+
include /etc/nginx/conf.d/*.conf;
}