96 changed files with 2283 additions and 16158 deletions
@ -0,0 +1,4 @@ |
|||||
|
bin |
||||
|
obj |
||||
|
Logs |
||||
|
appsettings.*.json |
||||
@ -0,0 +1,110 @@ |
|||||
|
using DotNetCore.CAP; |
||||
|
using DotNetCore.CAP.Internal; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
using Microsoft.Extensions.Options; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Reflection; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
using Volo.Abp.EventBus; |
||||
|
using Volo.Abp.EventBus.Distributed; |
||||
|
|
||||
|
namespace EasyAbp.Abp.EventBus.Cap |
||||
|
{ |
||||
|
[Dependency(ServiceLifetime.Singleton, ReplaceServices = true)] |
||||
|
[ExposeServices(typeof(IConsumerServiceSelector), typeof(ConsumerServiceSelector))] |
||||
|
|
||||
|
public class ConsumerServiceSelector : DotNetCore.CAP.Internal.ConsumerServiceSelector |
||||
|
{ |
||||
|
protected AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; } |
||||
|
protected IServiceProvider ServiceProvider { get; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Creates a new <see cref="T:DotNetCore.CAP.Internal.ConsumerServiceSelector" />.
|
||||
|
/// </summary>
|
||||
|
public ConsumerServiceSelector(IServiceProvider serviceProvider, IOptions<AbpDistributedEventBusOptions> distributedEventBusOptions) : base(serviceProvider) |
||||
|
{ |
||||
|
ServiceProvider = serviceProvider; |
||||
|
AbpDistributedEventBusOptions = distributedEventBusOptions.Value; |
||||
|
} |
||||
|
|
||||
|
protected override IEnumerable<ConsumerExecutorDescriptor> FindConsumersFromInterfaceTypes(IServiceProvider provider) |
||||
|
{ |
||||
|
var executorDescriptorList = |
||||
|
base.FindConsumersFromInterfaceTypes(provider).ToList(); |
||||
|
//handlers
|
||||
|
var handlers = AbpDistributedEventBusOptions.Handlers; |
||||
|
|
||||
|
foreach (var handler in handlers) |
||||
|
{ |
||||
|
var interfaces = handler.GetInterfaces(); |
||||
|
foreach (var @interface in interfaces) |
||||
|
{ |
||||
|
if (!typeof(IEventHandler).GetTypeInfo().IsAssignableFrom(@interface)) |
||||
|
{ |
||||
|
continue; |
||||
|
} |
||||
|
var genericArgs = @interface.GetGenericArguments(); |
||||
|
if (genericArgs.Length == 1) |
||||
|
{ |
||||
|
executorDescriptorList.AddRange( |
||||
|
GetHandlerDescription(genericArgs[0], handler)); |
||||
|
//Subscribe(genericArgs[0], new IocEventHandlerFactory(ServiceScopeFactory, handler));
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return executorDescriptorList; |
||||
|
} |
||||
|
|
||||
|
protected virtual IEnumerable<ConsumerExecutorDescriptor> GetHandlerDescription(Type eventType, Type typeInfo) |
||||
|
{ |
||||
|
var serviceTypeInfo = typeof(IDistributedEventHandler<>) |
||||
|
.MakeGenericType(eventType); |
||||
|
var method = typeInfo |
||||
|
.GetMethod( |
||||
|
nameof(IDistributedEventHandler<object>.HandleEventAsync), |
||||
|
new[] { eventType } |
||||
|
); |
||||
|
var eventName = EventNameAttribute.GetNameOrDefault(eventType); |
||||
|
var topicAttr = method.GetCustomAttributes<TopicAttribute>(true); |
||||
|
var topicAttributes = topicAttr.ToList(); |
||||
|
|
||||
|
topicAttributes.Add(new CapSubscribeAttribute(eventName)); |
||||
|
|
||||
|
foreach (var attr in topicAttributes) |
||||
|
{ |
||||
|
SetSubscribeAttribute(attr); |
||||
|
|
||||
|
var parameters = method.GetParameters() |
||||
|
.Select(parameter => new ParameterDescriptor |
||||
|
{ |
||||
|
Name = parameter.Name, |
||||
|
ParameterType = parameter.ParameterType, |
||||
|
IsFromCap = parameter.GetCustomAttributes(typeof(FromCapAttribute)).Any() |
||||
|
}).ToList(); |
||||
|
|
||||
|
yield return InitDescriptor(attr, method, typeInfo.GetTypeInfo(), serviceTypeInfo.GetTypeInfo(), parameters); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private static ConsumerExecutorDescriptor InitDescriptor( |
||||
|
TopicAttribute attr, |
||||
|
MethodInfo methodInfo, |
||||
|
TypeInfo implType, |
||||
|
TypeInfo serviceTypeInfo, |
||||
|
IList<ParameterDescriptor> parameters) |
||||
|
{ |
||||
|
var descriptor = new ConsumerExecutorDescriptor |
||||
|
{ |
||||
|
Attribute = attr, |
||||
|
MethodInfo = methodInfo, |
||||
|
ImplTypeInfo = implType, |
||||
|
ServiceTypeInfo = serviceTypeInfo, |
||||
|
Parameters = parameters |
||||
|
}; |
||||
|
|
||||
|
return descriptor; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,24 @@ |
|||||
|
MIT License |
||||
|
|
||||
|
Copyright (c) 2020 Goxiaoy |
||||
|
|
||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
|
of this software and associated documentation files (the "Software"), to deal |
||||
|
in the Software without restriction, including without limitation the rights |
||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
|
copies of the Software, and to permit persons to whom the Software is |
||||
|
furnished to do so, subject to the following conditions: |
||||
|
|
||||
|
The above copyright notice and this permission notice shall be included in all |
||||
|
copies or substantial portions of the Software. |
||||
|
|
||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
|
SOFTWARE. |
||||
|
|
||||
|
Ä£¿éÀ´Ô´ |
||||
|
https://github.com/EasyAbp/Abp.EventBus.CAP |
||||
@ -0,0 +1,13 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>netstandard2.0</TargetFramework> |
||||
|
<RootNamespace /> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="DotNetCore.CAP" Version="3.0.3" /> |
||||
|
<PackageReference Include="Volo.Abp.EventBus" Version="2.7.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
||||
@ -0,0 +1,21 @@ |
|||||
|
using Microsoft.Extensions.Configuration; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
using Volo.Abp.EventBus; |
||||
|
using Volo.Abp.Modularity; |
||||
|
|
||||
|
namespace LINGYUN.Abp.EventBus.CAP |
||||
|
{ |
||||
|
[DependsOn(typeof(AbpEventBusModule))] |
||||
|
public class AbpCAPEventBusModule : AbpModule |
||||
|
{ |
||||
|
public override void ConfigureServices(ServiceConfigurationContext context) |
||||
|
{ |
||||
|
var configuration = context.Services.GetConfiguration(); |
||||
|
context.Services.AddCAPEventBus(options => |
||||
|
{ |
||||
|
configuration.GetSection("CAP:EventBus").Bind(options); |
||||
|
context.Services.ExecutePreConfiguredActions(options); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,149 @@ |
|||||
|
using DotNetCore.CAP; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
using Microsoft.Extensions.Options; |
||||
|
using System; |
||||
|
using System.Collections.Concurrent; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
using Volo.Abp; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
using Volo.Abp.EventBus; |
||||
|
using Volo.Abp.EventBus.Distributed; |
||||
|
using Volo.Abp.Threading; |
||||
|
|
||||
|
namespace LINGYUN.Abp.EventBus.CAP |
||||
|
{ |
||||
|
[Dependency(ServiceLifetime.Singleton, ReplaceServices = true)] |
||||
|
[ExposeServices(typeof(IDistributedEventBus), typeof(CAPDistributedEventBus))] |
||||
|
public class CAPDistributedEventBus : EventBusBase, IDistributedEventBus |
||||
|
{ |
||||
|
protected AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; } |
||||
|
protected readonly ICapPublisher CapPublisher; |
||||
|
|
||||
|
//TODO: Accessing to the List<IEventHandlerFactory> may not be thread-safe!
|
||||
|
protected ConcurrentDictionary<Type, List<IEventHandlerFactory>> HandlerFactories { get; } |
||||
|
protected ConcurrentDictionary<string, Type> EventTypes { get; } |
||||
|
|
||||
|
public CAPDistributedEventBus(IServiceScopeFactory serviceScopeFactory, |
||||
|
IOptions<AbpDistributedEventBusOptions> distributedEventBusOptions, |
||||
|
ICapPublisher capPublisher) : base(serviceScopeFactory) |
||||
|
{ |
||||
|
CapPublisher = capPublisher; |
||||
|
AbpDistributedEventBusOptions = distributedEventBusOptions.Value; |
||||
|
HandlerFactories = new ConcurrentDictionary<Type, List<IEventHandlerFactory>>(); |
||||
|
EventTypes = new ConcurrentDictionary<string, Type>(); |
||||
|
} |
||||
|
|
||||
|
public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory) |
||||
|
{ |
||||
|
//This is handled by CAP ConsumerServiceSelector
|
||||
|
throw new NotImplementedException(); |
||||
|
} |
||||
|
|
||||
|
public override void Unsubscribe<TEvent>(Func<TEvent, Task> action) |
||||
|
{ |
||||
|
Check.NotNull(action, nameof(action)); |
||||
|
|
||||
|
GetOrCreateHandlerFactories(typeof(TEvent)) |
||||
|
.Locking(factories => |
||||
|
{ |
||||
|
factories.RemoveAll( |
||||
|
factory => |
||||
|
{ |
||||
|
var singleInstanceFactory = factory as SingleInstanceHandlerFactory; |
||||
|
if (singleInstanceFactory == null) |
||||
|
{ |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
var actionHandler = singleInstanceFactory.HandlerInstance as ActionEventHandler<TEvent>; |
||||
|
if (actionHandler == null) |
||||
|
{ |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
return actionHandler.Action == action; |
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
public override void Unsubscribe(Type eventType, IEventHandler handler) |
||||
|
{ |
||||
|
GetOrCreateHandlerFactories(eventType) |
||||
|
.Locking(factories => |
||||
|
{ |
||||
|
factories.RemoveAll( |
||||
|
factory => |
||||
|
factory is SingleInstanceHandlerFactory && |
||||
|
(factory as SingleInstanceHandlerFactory).HandlerInstance == handler |
||||
|
); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
public override void Unsubscribe(Type eventType, IEventHandlerFactory factory) |
||||
|
{ |
||||
|
GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Remove(factory)); |
||||
|
} |
||||
|
|
||||
|
public override void UnsubscribeAll(Type eventType) |
||||
|
{ |
||||
|
GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Clear()); |
||||
|
} |
||||
|
|
||||
|
public IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler) where TEvent : class |
||||
|
{ |
||||
|
return Subscribe(typeof(TEvent), handler); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public override async Task PublishAsync(Type eventType, object eventData) |
||||
|
{ |
||||
|
var eventName = EventNameAttribute.GetNameOrDefault(eventType); |
||||
|
await CapPublisher.PublishAsync(eventName, eventData); |
||||
|
} |
||||
|
|
||||
|
protected override IEnumerable<EventTypeWithEventHandlerFactories> GetHandlerFactories(Type eventType) |
||||
|
{ |
||||
|
var handlerFactoryList = new List<EventTypeWithEventHandlerFactories>(); |
||||
|
|
||||
|
foreach (var handlerFactory in HandlerFactories.Where(hf => ShouldTriggerEventForHandler(eventType, hf.Key))) |
||||
|
{ |
||||
|
handlerFactoryList.Add(new EventTypeWithEventHandlerFactories(handlerFactory.Key, handlerFactory.Value)); |
||||
|
} |
||||
|
|
||||
|
return handlerFactoryList.ToArray(); |
||||
|
} |
||||
|
|
||||
|
private List<IEventHandlerFactory> GetOrCreateHandlerFactories(Type eventType) |
||||
|
{ |
||||
|
return HandlerFactories.GetOrAdd( |
||||
|
eventType, |
||||
|
type => |
||||
|
{ |
||||
|
var eventName = EventNameAttribute.GetNameOrDefault(type); |
||||
|
EventTypes[eventName] = type; |
||||
|
return new List<IEventHandlerFactory>(); |
||||
|
} |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
private static bool ShouldTriggerEventForHandler(Type targetEventType, Type handlerEventType) |
||||
|
{ |
||||
|
//Should trigger same type
|
||||
|
if (handlerEventType == targetEventType) |
||||
|
{ |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
//TODO: Support inheritance? But it does not support on subscription to RabbitMq!
|
||||
|
//Should trigger for inherited types
|
||||
|
if (handlerEventType.IsAssignableFrom(targetEventType)) |
||||
|
{ |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,14 @@ |
|||||
|
using DotNetCore.CAP; |
||||
|
using System; |
||||
|
|
||||
|
namespace Microsoft.Extensions.DependencyInjection |
||||
|
{ |
||||
|
public static class ServiceCollectionExtensions |
||||
|
{ |
||||
|
public static IServiceCollection AddCAPEventBus(this IServiceCollection services, Action<CapOptions> capAction) |
||||
|
{ |
||||
|
services.AddCap(capAction); |
||||
|
return services; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,4 @@ |
|||||
|
bin |
||||
|
obj |
||||
|
Logs |
||||
|
appsettings.*.json |
||||
@ -0,0 +1,12 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>netstandard2.0</TargetFramework> |
||||
|
<RootNamespace /> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="Volo.Abp.EventBus" Version="2.7.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
||||
@ -0,0 +1,11 @@ |
|||||
|
using Volo.Abp.EventBus; |
||||
|
using Volo.Abp.Modularity; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus |
||||
|
{ |
||||
|
[DependsOn(typeof(AbpEventBusModule))] |
||||
|
public class CommonEventBusModule : AbpModule |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,15 @@ |
|||||
|
using System; |
||||
|
using Volo.Abp.EventBus; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
[EventName(TenantEventNames.CreateConnectionString)] |
||||
|
public class CreateConnectionStringEventData |
||||
|
{ |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
public string Name { get; set; } |
||||
|
|
||||
|
public string Value { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,17 @@ |
|||||
|
using System; |
||||
|
using Volo.Abp.EventBus; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
[EventName(TenantEventNames.Create)] |
||||
|
public class CreateEventData |
||||
|
{ |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
public string Name { get; set; } |
||||
|
|
||||
|
public string AdminEmailAddress { get; set; } |
||||
|
|
||||
|
public string AdminPassword { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
using System; |
||||
|
using Volo.Abp.EventBus; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
[EventName(TenantEventNames.DeleteConnectionString)] |
||||
|
public class DeleteConnectionStringEventData |
||||
|
{ |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
public string Name { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
using System; |
||||
|
using Volo.Abp.EventBus; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
[EventName(TenantEventNames.Delete)] |
||||
|
public class DeleteEventData |
||||
|
{ |
||||
|
public Guid Id { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
public class TenantEventNames |
||||
|
{ |
||||
|
public const string Default = "TenantEvent"; |
||||
|
|
||||
|
public const string Create = Default + ".Create"; |
||||
|
|
||||
|
public const string Update = Default + ".Update"; |
||||
|
|
||||
|
public const string Delete = Default + ".Delete"; |
||||
|
|
||||
|
public const string CreateConnectionString = Default + ".CreateConnectionString"; |
||||
|
|
||||
|
public const string UpdateConnectionString = Default + ".UpdateConnectionString"; |
||||
|
|
||||
|
public const string DeleteConnectionString = Default + ".DeleteConnectionString"; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
using System; |
||||
|
using Volo.Abp.EventBus; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
[EventName(TenantEventNames.UpdateConnectionString)] |
||||
|
public class UpdateConnectionStringEventData |
||||
|
{ |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
public string OriginName { get; set; } |
||||
|
|
||||
|
public string Name { get; set; } |
||||
|
|
||||
|
public string OriginValue { get; set; } |
||||
|
|
||||
|
public string Value { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,15 @@ |
|||||
|
using System; |
||||
|
using Volo.Abp.EventBus; |
||||
|
|
||||
|
namespace LINGYUN.Common.EventBus.Tenants |
||||
|
{ |
||||
|
[EventName(TenantEventNames.Update)] |
||||
|
public class UpdateEventData |
||||
|
{ |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
public string OriginName { get; set; } |
||||
|
|
||||
|
public string Name { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -1,8 +0,0 @@ |
|||||
{ |
|
||||
"culture": "zh-CN", |
|
||||
"texts": { |
|
||||
"Permission:SettingManagement": "系统设置", |
|
||||
"Permission:Settings": "配置管理", |
|
||||
"Permission:Update": "变更" |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,4 @@ |
|||||
|
bin |
||||
|
obj |
||||
|
Logs |
||||
|
appsettings.*.json |
||||
File diff suppressed because it is too large
@ -1,23 +0,0 @@ |
|||||
//------------------------------------------------------------------------------
|
|
||||
// <auto-generated>
|
|
||||
// 此代码由工具生成。
|
|
||||
// 运行时版本:4.0.30319.42000
|
|
||||
//
|
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|
||||
// 重新生成代码,这些更改将会丢失。
|
|
||||
// </auto-generated>
|
|
||||
//------------------------------------------------------------------------------
|
|
||||
|
|
||||
using System; |
|
||||
using System.Reflection; |
|
||||
|
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("LINGYUN.TenantManagement.Application.Contracts")] |
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("LINGYUN.TenantManagement.Application.Contracts")] |
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("LINGYUN.TenantManagement.Application.Contracts")] |
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|
||||
|
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
|
||||
|
|
||||
@ -1 +0,0 @@ |
|||||
77579c10756a0f27717dc51f367bec05fe131eea |
|
||||
Binary file not shown.
@ -1,5 +0,0 @@ |
|||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application.Contracts\bin\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.Contracts.deps.json |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application.Contracts\bin\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.Contracts.dll |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application.Contracts\obj\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.Contracts.csprojAssemblyReference.cache |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application.Contracts\obj\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.Contracts.AssemblyInfoInputs.cache |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application.Contracts\obj\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.Contracts.AssemblyInfo.cs |
|
||||
Binary file not shown.
@ -1,77 +0,0 @@ |
|||||
{ |
|
||||
"format": 1, |
|
||||
"restore": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj": {} |
|
||||
}, |
|
||||
"projects": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj": { |
|
||||
"version": "1.0.0", |
|
||||
"restore": { |
|
||||
"projectUniqueName": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"projectName": "LINGYUN.TenantManagement.Application.Contracts", |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"packagesPath": "C:\\Users\\iVarKey\\.nuget\\packages\\", |
|
||||
"outputPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\obj\\", |
|
||||
"projectStyle": "PackageReference", |
|
||||
"fallbackFolders": [ |
|
||||
"D:\\Microsoft\\Xamarin\\NuGet\\", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder" |
|
||||
], |
|
||||
"configFilePaths": [ |
|
||||
"C:\\Users\\iVarKey\\AppData\\Roaming\\NuGet\\NuGet.Config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" |
|
||||
], |
|
||||
"originalTargetFrameworks": [ |
|
||||
"netstandard2.0" |
|
||||
], |
|
||||
"sources": { |
|
||||
"D:\\NugetLocal": {}, |
|
||||
"http://10.21.15.28:8081/repository/nuget-hosted/": {}, |
|
||||
"https://api.nuget.org/v3/index.json": {} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"projectReferences": {} |
|
||||
} |
|
||||
}, |
|
||||
"warningProperties": { |
|
||||
"warnAsError": [ |
|
||||
"NU1605" |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"dependencies": { |
|
||||
"NETStandard.Library": { |
|
||||
"suppressParent": "All", |
|
||||
"target": "Package", |
|
||||
"version": "[2.0.3, )", |
|
||||
"autoReferenced": true |
|
||||
}, |
|
||||
"Volo.Abp.Ddd.Application": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
}, |
|
||||
"Volo.Abp.TenantManagement.Domain.Shared": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
} |
|
||||
}, |
|
||||
"imports": [ |
|
||||
"net461", |
|
||||
"net462", |
|
||||
"net47", |
|
||||
"net471", |
|
||||
"net472", |
|
||||
"net48" |
|
||||
], |
|
||||
"assetTargetFallback": true, |
|
||||
"warn": true, |
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files (x86)\\dotnet\\sdk\\3.1.100\\RuntimeIdentifierGraph.json" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,15 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> |
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> |
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> |
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> |
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\iVarKey\.nuget\packages\;D:\Microsoft\Xamarin\NuGet\;C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders> |
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> |
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.5.0</NuGetToolVersion> |
|
||||
</PropertyGroup> |
|
||||
<PropertyGroup> |
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
|
||||
</PropertyGroup> |
|
||||
</Project> |
|
||||
@ -1,9 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||
<PropertyGroup> |
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
|
||||
</PropertyGroup> |
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<Import Project="C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets')" /> |
|
||||
</ImportGroup> |
|
||||
</Project> |
|
||||
File diff suppressed because it is too large
@ -1,104 +0,0 @@ |
|||||
{ |
|
||||
"version": 2, |
|
||||
"dgSpecHash": "Xqy69gfHIl8WcY1JyoFl5td0d3842rqoW793xWNtbBGiHwrv/WGcj+wOFV9hxcBXy4/8IO9R+tAPMBfl85Z53A==", |
|
||||
"success": true, |
|
||||
"projectFilePath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"expectedPackageFiles": [ |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\configureawait.fody\\3.3.1\\configureawait.fody.3.3.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\fody\\6.0.2\\fody.6.0.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\jetbrains.annotations\\2019.1.3\\jetbrains.annotations.2019.1.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.authorization\\3.1.2\\microsoft.aspnetcore.authorization.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.metadata\\3.1.2\\microsoft.aspnetcore.metadata.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\1.1.0\\microsoft.bcl.asyncinterfaces.1.1.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration\\3.1.2\\microsoft.extensions.configuration.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\3.1.2\\microsoft.extensions.configuration.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.binder\\3.1.2\\microsoft.extensions.configuration.binder.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\3.1.2\\microsoft.extensions.configuration.commandline.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\3.1.2\\microsoft.extensions.configuration.environmentvariables.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\3.1.2\\microsoft.extensions.configuration.fileextensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.json\\3.1.2\\microsoft.extensions.configuration.json.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\3.1.2\\microsoft.extensions.configuration.usersecrets.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\3.1.2\\microsoft.extensions.dependencyinjection.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\3.1.2\\microsoft.extensions.dependencyinjection.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\3.1.2\\microsoft.extensions.fileproviders.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.composite\\3.1.2\\microsoft.extensions.fileproviders.composite.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\3.1.2\\microsoft.extensions.fileproviders.physical.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\3.1.2\\microsoft.extensions.filesystemglobbing.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.2\\microsoft.extensions.hosting.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.localization\\3.1.2\\microsoft.extensions.localization.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\3.1.2\\microsoft.extensions.localization.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.logging\\3.1.2\\microsoft.extensions.logging.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\3.1.2\\microsoft.extensions.logging.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.options\\3.1.2\\microsoft.extensions.options.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\3.1.2\\microsoft.extensions.options.configurationextensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.2\\microsoft.extensions.primitives.3.1.2.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\newtonsoft.json\\12.0.3\\newtonsoft.json.12.0.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.context\\5.0.0\\nito.asyncex.context.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.coordination\\5.0.0\\nito.asyncex.coordination.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.tasks\\5.0.0\\nito.asyncex.tasks.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.collections.deque\\1.0.4\\nito.collections.deque.1.0.4.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.disposables\\2.0.0\\nito.disposables.2.0.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.buffers\\4.5.0\\system.buffers.4.5.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.collections.immutable\\1.7.0\\system.collections.immutable.1.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.linq.dynamic.core\\1.0.19\\system.linq.dynamic.core.1.0.19.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.linq.queryable\\4.3.0\\system.linq.queryable.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.numerics.vectors\\4.5.0\\system.numerics.vectors.4.5.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.7.0\\system.runtime.compilerservices.unsafe.4.7.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime.loader\\4.3.0\\system.runtime.loader.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.text.encodings.web\\4.7.0\\system.text.encodings.web.4.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.text.json\\4.7.1\\system.text.json.4.7.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.2\\system.threading.tasks.extensions.4.5.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.auditing\\2.7.0\\volo.abp.auditing.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.authorization\\2.7.0\\volo.abp.authorization.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.core\\2.7.0\\volo.abp.core.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.data\\2.7.0\\volo.abp.data.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.application\\2.7.0\\volo.abp.ddd.application.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.application.contracts\\2.7.0\\volo.abp.ddd.application.contracts.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.domain\\2.7.0\\volo.abp.ddd.domain.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.eventbus\\2.7.0\\volo.abp.eventbus.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.features\\2.7.0\\volo.abp.features.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.guids\\2.7.0\\volo.abp.guids.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.http.abstractions\\2.7.0\\volo.abp.http.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.json\\2.7.0\\volo.abp.json.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.localization\\2.7.0\\volo.abp.localization.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.localization.abstractions\\2.7.0\\volo.abp.localization.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.multitenancy\\2.7.0\\volo.abp.multitenancy.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.objectextending\\2.7.0\\volo.abp.objectextending.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.objectmapping\\2.7.0\\volo.abp.objectmapping.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.security\\2.7.0\\volo.abp.security.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.settings\\2.7.0\\volo.abp.settings.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.tenantmanagement.domain.shared\\2.7.0\\volo.abp.tenantmanagement.domain.shared.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.threading\\2.7.0\\volo.abp.threading.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.timing\\2.7.0\\volo.abp.timing.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.uow\\2.7.0\\volo.abp.uow.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.validation\\2.7.0\\volo.abp.validation.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.validation.abstractions\\2.7.0\\volo.abp.validation.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.virtualfilesystem\\2.7.0\\volo.abp.virtualfilesystem.2.7.0.nupkg.sha512" |
|
||||
], |
|
||||
"logs": [] |
|
||||
} |
|
||||
@ -0,0 +1,4 @@ |
|||||
|
bin |
||||
|
obj |
||||
|
Logs |
||||
|
appsettings.*.json |
||||
@ -1,47 +0,0 @@ |
|||||
{ |
|
||||
"runtimeTarget": { |
|
||||
"name": ".NETStandard,Version=v2.0/", |
|
||||
"signature": "" |
|
||||
}, |
|
||||
"compilationOptions": {}, |
|
||||
"targets": { |
|
||||
".NETStandard,Version=v2.0": {}, |
|
||||
".NETStandard,Version=v2.0/": { |
|
||||
"LINGYUN.TenantManagement.Application/1.0.0": { |
|
||||
"dependencies": { |
|
||||
"NETStandard.Library": "2.0.3" |
|
||||
}, |
|
||||
"runtime": { |
|
||||
"LINGYUN.TenantManagement.Application.dll": {} |
|
||||
} |
|
||||
}, |
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {}, |
|
||||
"NETStandard.Library/2.0.3": { |
|
||||
"dependencies": { |
|
||||
"Microsoft.NETCore.Platforms": "1.1.0" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
"libraries": { |
|
||||
"LINGYUN.TenantManagement.Application/1.0.0": { |
|
||||
"type": "project", |
|
||||
"serviceable": false, |
|
||||
"sha512": "" |
|
||||
}, |
|
||||
"Microsoft.NETCore.Platforms/1.1.0": { |
|
||||
"type": "package", |
|
||||
"serviceable": true, |
|
||||
"sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", |
|
||||
"path": "microsoft.netcore.platforms/1.1.0", |
|
||||
"hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" |
|
||||
}, |
|
||||
"NETStandard.Library/2.0.3": { |
|
||||
"type": "package", |
|
||||
"serviceable": true, |
|
||||
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", |
|
||||
"path": "netstandard.library/2.0.3", |
|
||||
"hashPath": "netstandard.library.2.0.3.nupkg.sha512" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,23 +0,0 @@ |
|||||
//------------------------------------------------------------------------------
|
|
||||
// <auto-generated>
|
|
||||
// 此代码由工具生成。
|
|
||||
// 运行时版本:4.0.30319.42000
|
|
||||
//
|
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|
||||
// 重新生成代码,这些更改将会丢失。
|
|
||||
// </auto-generated>
|
|
||||
//------------------------------------------------------------------------------
|
|
||||
|
|
||||
using System; |
|
||||
using System.Reflection; |
|
||||
|
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("LINGYUN.TenantManagement.Application")] |
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("LINGYUN.TenantManagement.Application")] |
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("LINGYUN.TenantManagement.Application")] |
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|
||||
|
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
|
||||
|
|
||||
@ -1 +0,0 @@ |
|||||
9d5617a3cbf2d91ca8ec140f1673a85e716a926f |
|
||||
Binary file not shown.
@ -1,4 +0,0 @@ |
|||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application\bin\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.deps.json |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application\bin\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.dll |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application\obj\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.AssemblyInfoInputs.cache |
|
||||
D:\Projects\MicroService\CRM\Vue\vue-abp\aspnet-core\modules\tenants\LINGYUN.TenantManagement.Application\obj\Debug\netstandard2.0\LINGYUN.TenantManagement.Application.AssemblyInfo.cs |
|
||||
Binary file not shown.
@ -1,146 +0,0 @@ |
|||||
{ |
|
||||
"format": 1, |
|
||||
"restore": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application\\LINGYUN.TenantManagement.Application.csproj": {} |
|
||||
}, |
|
||||
"projects": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj": { |
|
||||
"version": "1.0.0", |
|
||||
"restore": { |
|
||||
"projectUniqueName": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"projectName": "LINGYUN.TenantManagement.Application.Contracts", |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"packagesPath": "C:\\Users\\iVarKey\\.nuget\\packages\\", |
|
||||
"outputPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\obj\\", |
|
||||
"projectStyle": "PackageReference", |
|
||||
"fallbackFolders": [ |
|
||||
"D:\\Microsoft\\Xamarin\\NuGet\\", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder" |
|
||||
], |
|
||||
"configFilePaths": [ |
|
||||
"C:\\Users\\iVarKey\\AppData\\Roaming\\NuGet\\NuGet.Config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" |
|
||||
], |
|
||||
"originalTargetFrameworks": [ |
|
||||
"netstandard2.0" |
|
||||
], |
|
||||
"sources": { |
|
||||
"D:\\NugetLocal": {}, |
|
||||
"http://10.21.15.28:8081/repository/nuget-hosted/": {}, |
|
||||
"https://api.nuget.org/v3/index.json": {} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"projectReferences": {} |
|
||||
} |
|
||||
}, |
|
||||
"warningProperties": { |
|
||||
"warnAsError": [ |
|
||||
"NU1605" |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"dependencies": { |
|
||||
"NETStandard.Library": { |
|
||||
"suppressParent": "All", |
|
||||
"target": "Package", |
|
||||
"version": "[2.0.3, )", |
|
||||
"autoReferenced": true |
|
||||
}, |
|
||||
"Volo.Abp.Ddd.Application": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
}, |
|
||||
"Volo.Abp.TenantManagement.Domain.Shared": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
} |
|
||||
}, |
|
||||
"imports": [ |
|
||||
"net461", |
|
||||
"net462", |
|
||||
"net47", |
|
||||
"net471", |
|
||||
"net472", |
|
||||
"net48" |
|
||||
], |
|
||||
"assetTargetFallback": true, |
|
||||
"warn": true, |
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files (x86)\\dotnet\\sdk\\3.1.100\\RuntimeIdentifierGraph.json" |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application\\LINGYUN.TenantManagement.Application.csproj": { |
|
||||
"version": "1.0.0", |
|
||||
"restore": { |
|
||||
"projectUniqueName": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application\\LINGYUN.TenantManagement.Application.csproj", |
|
||||
"projectName": "LINGYUN.TenantManagement.Application", |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application\\LINGYUN.TenantManagement.Application.csproj", |
|
||||
"packagesPath": "C:\\Users\\iVarKey\\.nuget\\packages\\", |
|
||||
"outputPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application\\obj\\", |
|
||||
"projectStyle": "PackageReference", |
|
||||
"fallbackFolders": [ |
|
||||
"D:\\Microsoft\\Xamarin\\NuGet\\", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder" |
|
||||
], |
|
||||
"configFilePaths": [ |
|
||||
"C:\\Users\\iVarKey\\AppData\\Roaming\\NuGet\\NuGet.Config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" |
|
||||
], |
|
||||
"originalTargetFrameworks": [ |
|
||||
"netstandard2.0" |
|
||||
], |
|
||||
"sources": { |
|
||||
"D:\\NugetLocal": {}, |
|
||||
"http://10.21.15.28:8081/repository/nuget-hosted/": {}, |
|
||||
"https://api.nuget.org/v3/index.json": {} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"projectReferences": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj": { |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
"warningProperties": { |
|
||||
"warnAsError": [ |
|
||||
"NU1605" |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"dependencies": { |
|
||||
"NETStandard.Library": { |
|
||||
"suppressParent": "All", |
|
||||
"target": "Package", |
|
||||
"version": "[2.0.3, )", |
|
||||
"autoReferenced": true |
|
||||
}, |
|
||||
"Volo.Abp.TenantManagement.Domain": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
} |
|
||||
}, |
|
||||
"imports": [ |
|
||||
"net461", |
|
||||
"net462", |
|
||||
"net47", |
|
||||
"net471", |
|
||||
"net472", |
|
||||
"net48" |
|
||||
], |
|
||||
"assetTargetFallback": true, |
|
||||
"warn": true, |
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files (x86)\\dotnet\\sdk\\3.1.100\\RuntimeIdentifierGraph.json" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,15 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> |
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> |
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> |
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> |
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\iVarKey\.nuget\packages\;D:\Microsoft\Xamarin\NuGet\;C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders> |
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> |
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.5.0</NuGetToolVersion> |
|
||||
</PropertyGroup> |
|
||||
<PropertyGroup> |
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
|
||||
</PropertyGroup> |
|
||||
</Project> |
|
||||
@ -1,9 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||
<PropertyGroup> |
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
|
||||
</PropertyGroup> |
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<Import Project="C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets')" /> |
|
||||
</ImportGroup> |
|
||||
</Project> |
|
||||
File diff suppressed because it is too large
@ -1,109 +0,0 @@ |
|||||
{ |
|
||||
"version": 2, |
|
||||
"dgSpecHash": "d/WoIUJcwSFsheJYDT6158mmlupHZV2pTKKnFIa9x2zd+G20+d8fYrsQDGifroGiSYCLYuwpqWHEbxIGsK+j3Q==", |
|
||||
"success": true, |
|
||||
"projectFilePath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application\\LINGYUN.TenantManagement.Application.csproj", |
|
||||
"expectedPackageFiles": [ |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\automapper\\9.0.0\\automapper.9.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\configureawait.fody\\3.3.1\\configureawait.fody.3.3.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\fody\\6.0.2\\fody.6.0.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\jetbrains.annotations\\2019.1.3\\jetbrains.annotations.2019.1.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.authorization\\3.1.2\\microsoft.aspnetcore.authorization.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.metadata\\3.1.2\\microsoft.aspnetcore.metadata.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\1.1.0\\microsoft.bcl.asyncinterfaces.1.1.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.csharp\\4.5.0\\microsoft.csharp.4.5.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration\\3.1.2\\microsoft.extensions.configuration.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\3.1.2\\microsoft.extensions.configuration.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.binder\\3.1.2\\microsoft.extensions.configuration.binder.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\3.1.2\\microsoft.extensions.configuration.commandline.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\3.1.2\\microsoft.extensions.configuration.environmentvariables.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\3.1.2\\microsoft.extensions.configuration.fileextensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.json\\3.1.2\\microsoft.extensions.configuration.json.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\3.1.2\\microsoft.extensions.configuration.usersecrets.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\3.1.2\\microsoft.extensions.dependencyinjection.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\3.1.2\\microsoft.extensions.dependencyinjection.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\3.1.2\\microsoft.extensions.fileproviders.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.composite\\3.1.2\\microsoft.extensions.fileproviders.composite.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\3.1.2\\microsoft.extensions.fileproviders.physical.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\3.1.2\\microsoft.extensions.filesystemglobbing.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.2\\microsoft.extensions.hosting.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.localization\\3.1.2\\microsoft.extensions.localization.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\3.1.2\\microsoft.extensions.localization.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.logging\\3.1.2\\microsoft.extensions.logging.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\3.1.2\\microsoft.extensions.logging.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.options\\3.1.2\\microsoft.extensions.options.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\3.1.2\\microsoft.extensions.options.configurationextensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.2\\microsoft.extensions.primitives.3.1.2.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\newtonsoft.json\\12.0.3\\newtonsoft.json.12.0.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.context\\5.0.0\\nito.asyncex.context.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.coordination\\5.0.0\\nito.asyncex.coordination.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.tasks\\5.0.0\\nito.asyncex.tasks.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.collections.deque\\1.0.4\\nito.collections.deque.1.0.4.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.disposables\\2.0.0\\nito.disposables.2.0.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.buffers\\4.5.0\\system.buffers.4.5.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.collections.immutable\\1.7.0\\system.collections.immutable.1.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.linq.dynamic.core\\1.0.19\\system.linq.dynamic.core.1.0.19.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.linq.queryable\\4.3.0\\system.linq.queryable.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.numerics.vectors\\4.5.0\\system.numerics.vectors.4.5.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.7.0\\system.runtime.compilerservices.unsafe.4.7.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime.loader\\4.3.0\\system.runtime.loader.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.text.encodings.web\\4.7.0\\system.text.encodings.web.4.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.text.json\\4.7.1\\system.text.json.4.7.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.2\\system.threading.tasks.extensions.4.5.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.auditing\\2.7.0\\volo.abp.auditing.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.authorization\\2.7.0\\volo.abp.authorization.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.automapper\\2.7.0\\volo.abp.automapper.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.core\\2.7.0\\volo.abp.core.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.data\\2.7.0\\volo.abp.data.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.application\\2.7.0\\volo.abp.ddd.application.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.application.contracts\\2.7.0\\volo.abp.ddd.application.contracts.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.domain\\2.7.0\\volo.abp.ddd.domain.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.eventbus\\2.7.0\\volo.abp.eventbus.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.features\\2.7.0\\volo.abp.features.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.guids\\2.7.0\\volo.abp.guids.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.http.abstractions\\2.7.0\\volo.abp.http.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.json\\2.7.0\\volo.abp.json.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.localization\\2.7.0\\volo.abp.localization.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.localization.abstractions\\2.7.0\\volo.abp.localization.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.multitenancy\\2.7.0\\volo.abp.multitenancy.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.objectextending\\2.7.0\\volo.abp.objectextending.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.objectmapping\\2.7.0\\volo.abp.objectmapping.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.security\\2.7.0\\volo.abp.security.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.settings\\2.7.0\\volo.abp.settings.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.tenantmanagement.domain\\2.7.0\\volo.abp.tenantmanagement.domain.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.tenantmanagement.domain.shared\\2.7.0\\volo.abp.tenantmanagement.domain.shared.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.threading\\2.7.0\\volo.abp.threading.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.timing\\2.7.0\\volo.abp.timing.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ui\\2.7.0\\volo.abp.ui.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.uow\\2.7.0\\volo.abp.uow.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.validation\\2.7.0\\volo.abp.validation.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.validation.abstractions\\2.7.0\\volo.abp.validation.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.virtualfilesystem\\2.7.0\\volo.abp.virtualfilesystem.2.7.0.nupkg.sha512" |
|
||||
], |
|
||||
"logs": [] |
|
||||
} |
|
||||
@ -0,0 +1,4 @@ |
|||||
|
bin |
||||
|
obj |
||||
|
Logs |
||||
|
appsettings.*.json |
||||
@ -1,23 +0,0 @@ |
|||||
//------------------------------------------------------------------------------
|
|
||||
// <auto-generated>
|
|
||||
// 此代码由工具生成。
|
|
||||
// 运行时版本:4.0.30319.42000
|
|
||||
//
|
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|
||||
// 重新生成代码,这些更改将会丢失。
|
|
||||
// </auto-generated>
|
|
||||
//------------------------------------------------------------------------------
|
|
||||
|
|
||||
using System; |
|
||||
using System.Reflection; |
|
||||
|
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("LINGYUN.TenantManagement.HttpApi")] |
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("LINGYUN.TenantManagement.HttpApi")] |
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("LINGYUN.TenantManagement.HttpApi")] |
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|
||||
|
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
|
||||
|
|
||||
@ -1 +0,0 @@ |
|||||
65e28ee4eecd7dbb63a4128a1f9a6ab2a9b0c42d |
|
||||
Binary file not shown.
Binary file not shown.
@ -1,148 +0,0 @@ |
|||||
{ |
|
||||
"format": 1, |
|
||||
"restore": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.HttpApi\\LINGYUN.TenantManagement.HttpApi.csproj": {} |
|
||||
}, |
|
||||
"projects": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj": { |
|
||||
"version": "1.0.0", |
|
||||
"restore": { |
|
||||
"projectUniqueName": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"projectName": "LINGYUN.TenantManagement.Application.Contracts", |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj", |
|
||||
"packagesPath": "C:\\Users\\iVarKey\\.nuget\\packages\\", |
|
||||
"outputPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\obj\\", |
|
||||
"projectStyle": "PackageReference", |
|
||||
"fallbackFolders": [ |
|
||||
"D:\\Microsoft\\Xamarin\\NuGet\\", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder" |
|
||||
], |
|
||||
"configFilePaths": [ |
|
||||
"C:\\Users\\iVarKey\\AppData\\Roaming\\NuGet\\NuGet.Config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" |
|
||||
], |
|
||||
"originalTargetFrameworks": [ |
|
||||
"netstandard2.0" |
|
||||
], |
|
||||
"sources": { |
|
||||
"D:\\NugetLocal": {}, |
|
||||
"http://10.21.15.28:8081/repository/nuget-hosted/": {}, |
|
||||
"https://api.nuget.org/v3/index.json": {} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"projectReferences": {} |
|
||||
} |
|
||||
}, |
|
||||
"warningProperties": { |
|
||||
"warnAsError": [ |
|
||||
"NU1605" |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netstandard2.0": { |
|
||||
"dependencies": { |
|
||||
"NETStandard.Library": { |
|
||||
"suppressParent": "All", |
|
||||
"target": "Package", |
|
||||
"version": "[2.0.3, )", |
|
||||
"autoReferenced": true |
|
||||
}, |
|
||||
"Volo.Abp.Ddd.Application": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
}, |
|
||||
"Volo.Abp.TenantManagement.Domain.Shared": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
} |
|
||||
}, |
|
||||
"imports": [ |
|
||||
"net461", |
|
||||
"net462", |
|
||||
"net47", |
|
||||
"net471", |
|
||||
"net472", |
|
||||
"net48" |
|
||||
], |
|
||||
"assetTargetFallback": true, |
|
||||
"warn": true, |
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files (x86)\\dotnet\\sdk\\3.1.100\\RuntimeIdentifierGraph.json" |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.HttpApi\\LINGYUN.TenantManagement.HttpApi.csproj": { |
|
||||
"version": "1.0.0", |
|
||||
"restore": { |
|
||||
"projectUniqueName": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.HttpApi\\LINGYUN.TenantManagement.HttpApi.csproj", |
|
||||
"projectName": "LINGYUN.TenantManagement.HttpApi", |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.HttpApi\\LINGYUN.TenantManagement.HttpApi.csproj", |
|
||||
"packagesPath": "C:\\Users\\iVarKey\\.nuget\\packages\\", |
|
||||
"outputPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.HttpApi\\obj\\", |
|
||||
"projectStyle": "PackageReference", |
|
||||
"fallbackFolders": [ |
|
||||
"D:\\Microsoft\\Xamarin\\NuGet\\", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder" |
|
||||
], |
|
||||
"configFilePaths": [ |
|
||||
"C:\\Users\\iVarKey\\AppData\\Roaming\\NuGet\\NuGet.Config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", |
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" |
|
||||
], |
|
||||
"originalTargetFrameworks": [ |
|
||||
"netcoreapp3.1" |
|
||||
], |
|
||||
"sources": { |
|
||||
"D:\\NugetLocal": {}, |
|
||||
"http://10.21.15.28:8081/repository/nuget-hosted/": {}, |
|
||||
"https://api.nuget.org/v3/index.json": {} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netcoreapp3.1": { |
|
||||
"projectReferences": { |
|
||||
"D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj": { |
|
||||
"projectPath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.Application.Contracts\\LINGYUN.TenantManagement.Application.Contracts.csproj" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
"warningProperties": { |
|
||||
"warnAsError": [ |
|
||||
"NU1605" |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
"frameworks": { |
|
||||
"netcoreapp3.1": { |
|
||||
"dependencies": { |
|
||||
"Volo.Abp.AspNetCore.Mvc": { |
|
||||
"target": "Package", |
|
||||
"version": "[2.7.0, )" |
|
||||
} |
|
||||
}, |
|
||||
"imports": [ |
|
||||
"net461", |
|
||||
"net462", |
|
||||
"net47", |
|
||||
"net471", |
|
||||
"net472", |
|
||||
"net48" |
|
||||
], |
|
||||
"assetTargetFallback": true, |
|
||||
"warn": true, |
|
||||
"frameworkReferences": { |
|
||||
"Microsoft.AspNetCore.App": { |
|
||||
"privateAssets": "none" |
|
||||
}, |
|
||||
"Microsoft.NETCore.App": { |
|
||||
"privateAssets": "all" |
|
||||
} |
|
||||
}, |
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files (x86)\\dotnet\\sdk\\3.1.100\\RuntimeIdentifierGraph.json" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,27 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> |
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> |
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> |
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> |
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\iVarKey\.nuget\packages\;D:\Microsoft\Xamarin\NuGet\;C:\Program Files (x86)\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders> |
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> |
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.5.0</NuGetToolVersion> |
|
||||
</PropertyGroup> |
|
||||
<PropertyGroup> |
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
|
||||
</PropertyGroup> |
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<Content Include="$(NuGetPackageRoot)volo.abp.aspnetcore.mvc\2.7.0\contentFiles\any\netcoreapp3.1\Properties\launchSettings.json" Condition="Exists('$(NuGetPackageRoot)volo.abp.aspnetcore.mvc\2.7.0\contentFiles\any\netcoreapp3.1\Properties\launchSettings.json')"> |
|
||||
<NuGetPackageId>Volo.Abp.AspNetCore.Mvc</NuGetPackageId> |
|
||||
<NuGetPackageVersion>2.7.0</NuGetPackageVersion> |
|
||||
<NuGetItemType>Content</NuGetItemType> |
|
||||
<Private>False</Private> |
|
||||
<Link>Properties\launchSettings.json</Link> |
|
||||
</Content> |
|
||||
</ItemGroup> |
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\iVarKey\.nuget\packages\microsoft.codeanalysis.analyzers\2.9.3</PkgMicrosoft_CodeAnalysis_Analyzers> |
|
||||
</PropertyGroup> |
|
||||
</Project> |
|
||||
@ -1,9 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||
<PropertyGroup> |
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
|
||||
</PropertyGroup> |
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> |
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.runtimecompilation\3.1.2\buildTransitive\netcoreapp3.1\Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.runtimecompilation\3.1.2\buildTransitive\netcoreapp3.1\Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.targets')" /> |
|
||||
</ImportGroup> |
|
||||
</Project> |
|
||||
File diff suppressed because it is too large
@ -1,122 +0,0 @@ |
|||||
{ |
|
||||
"version": 2, |
|
||||
"dgSpecHash": "r0dmU6zCYwD9bEkyDCjXupeRq0tRdVdRk1NJFUEWfIWItVDV7HkVGEGku1LkpEiD/v+vja7VQpX7dbu8tXA5mQ==", |
|
||||
"success": true, |
|
||||
"projectFilePath": "D:\\Projects\\MicroService\\CRM\\Vue\\vue-abp\\aspnet-core\\modules\\tenants\\LINGYUN.TenantManagement.HttpApi\\LINGYUN.TenantManagement.HttpApi.csproj", |
|
||||
"expectedPackageFiles": [ |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\configureawait.fody\\3.3.1\\configureawait.fody.3.3.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\fody\\6.0.2\\fody.6.0.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\jetbrains.annotations\\2019.1.3\\jetbrains.annotations.2019.1.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.authorization\\3.1.2\\microsoft.aspnetcore.authorization.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\3.1.2\\microsoft.aspnetcore.jsonpatch.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.metadata\\3.1.2\\microsoft.aspnetcore.metadata.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\3.1.2\\microsoft.aspnetcore.mvc.newtonsoftjson.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.mvc.razor.extensions\\3.1.2\\microsoft.aspnetcore.mvc.razor.extensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.mvc.razor.runtimecompilation\\3.1.2\\microsoft.aspnetcore.mvc.razor.runtimecompilation.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.mvc.versioning\\4.1.0\\microsoft.aspnetcore.mvc.versioning.4.1.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.aspnetcore.razor.language\\3.1.2\\microsoft.aspnetcore.razor.language.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\2.9.3\\microsoft.codeanalysis.analyzers.2.9.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.codeanalysis.common\\3.3.0\\microsoft.codeanalysis.common.3.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.codeanalysis.csharp\\3.3.0\\microsoft.codeanalysis.csharp.3.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.codeanalysis.razor\\3.1.2\\microsoft.codeanalysis.razor.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration\\3.1.2\\microsoft.extensions.configuration.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\3.1.2\\microsoft.extensions.configuration.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.binder\\3.1.2\\microsoft.extensions.configuration.binder.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\3.1.2\\microsoft.extensions.configuration.commandline.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\3.1.2\\microsoft.extensions.configuration.environmentvariables.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\3.1.2\\microsoft.extensions.configuration.fileextensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.json\\3.1.2\\microsoft.extensions.configuration.json.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\3.1.2\\microsoft.extensions.configuration.usersecrets.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\3.1.2\\microsoft.extensions.dependencyinjection.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\3.1.2\\microsoft.extensions.dependencyinjection.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.dependencymodel\\3.1.2\\microsoft.extensions.dependencymodel.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\3.1.2\\microsoft.extensions.fileproviders.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.composite\\3.1.2\\microsoft.extensions.fileproviders.composite.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\3.1.2\\microsoft.extensions.fileproviders.physical.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\3.1.2\\microsoft.extensions.filesystemglobbing.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.2\\microsoft.extensions.hosting.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.localization\\3.1.2\\microsoft.extensions.localization.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\3.1.2\\microsoft.extensions.localization.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.logging\\3.1.2\\microsoft.extensions.logging.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\3.1.2\\microsoft.extensions.logging.abstractions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.options\\3.1.2\\microsoft.extensions.options.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\3.1.2\\microsoft.extensions.options.configurationextensions.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.2\\microsoft.extensions.primitives.3.1.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\microsoft.netcore.platforms\\2.1.2\\microsoft.netcore.platforms.2.1.2.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\newtonsoft.json\\12.0.3\\newtonsoft.json.12.0.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.context\\5.0.0\\nito.asyncex.context.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.coordination\\5.0.0\\nito.asyncex.coordination.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.asyncex.tasks\\5.0.0\\nito.asyncex.tasks.5.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.collections.deque\\1.0.4\\nito.collections.deque.1.0.4.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nito.disposables\\2.0.0\\nito.disposables.2.0.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\nuglify\\1.5.13\\nuglify.1.5.13.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.collections.immutable\\1.7.0\\system.collections.immutable.1.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.linq.dynamic.core\\1.0.19\\system.linq.dynamic.core.1.0.19.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.linq.queryable\\4.3.0\\system.linq.queryable.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.metadata\\1.6.0\\system.reflection.metadata.1.6.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.5.2\\system.runtime.compilerservices.unsafe.4.5.2.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.runtime.loader\\4.3.0\\system.runtime.loader.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.text.encoding.codepages\\4.5.1\\system.text.encoding.codepages.4.5.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.text.json\\4.7.1\\system.text.json.4.7.1.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512", |
|
||||
"C:\\Program Files (x86)\\dotnet\\sdk\\NuGetFallbackFolder\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.3\\system.threading.tasks.extensions.4.5.3.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.apiversioning.abstractions\\2.7.0\\volo.abp.apiversioning.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.aspnetcore\\2.7.0\\volo.abp.aspnetcore.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.aspnetcore.mvc\\2.7.0\\volo.abp.aspnetcore.mvc.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.aspnetcore.mvc.contracts\\2.7.0\\volo.abp.aspnetcore.mvc.contracts.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.auditing\\2.7.0\\volo.abp.auditing.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.authorization\\2.7.0\\volo.abp.authorization.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.core\\2.7.0\\volo.abp.core.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.data\\2.7.0\\volo.abp.data.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.application\\2.7.0\\volo.abp.ddd.application.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.application.contracts\\2.7.0\\volo.abp.ddd.application.contracts.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ddd.domain\\2.7.0\\volo.abp.ddd.domain.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.eventbus\\2.7.0\\volo.abp.eventbus.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.features\\2.7.0\\volo.abp.features.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.guids\\2.7.0\\volo.abp.guids.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.http\\2.7.0\\volo.abp.http.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.http.abstractions\\2.7.0\\volo.abp.http.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.json\\2.7.0\\volo.abp.json.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.localization\\2.7.0\\volo.abp.localization.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.localization.abstractions\\2.7.0\\volo.abp.localization.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.minify\\2.7.0\\volo.abp.minify.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.multitenancy\\2.7.0\\volo.abp.multitenancy.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.objectextending\\2.7.0\\volo.abp.objectextending.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.objectmapping\\2.7.0\\volo.abp.objectmapping.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.security\\2.7.0\\volo.abp.security.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.settings\\2.7.0\\volo.abp.settings.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.tenantmanagement.domain.shared\\2.7.0\\volo.abp.tenantmanagement.domain.shared.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.threading\\2.7.0\\volo.abp.threading.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.timing\\2.7.0\\volo.abp.timing.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.ui\\2.7.0\\volo.abp.ui.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.uow\\2.7.0\\volo.abp.uow.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.validation\\2.7.0\\volo.abp.validation.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.validation.abstractions\\2.7.0\\volo.abp.validation.abstractions.2.7.0.nupkg.sha512", |
|
||||
"C:\\Users\\iVarKey\\.nuget\\packages\\volo.abp.virtualfilesystem\\2.7.0\\volo.abp.virtualfilesystem.2.7.0.nupkg.sha512" |
|
||||
], |
|
||||
"logs": [] |
|
||||
} |
|
||||
@ -0,0 +1,44 @@ |
|||||
|
using LINGYUN.Common.EventBus.Tenants; |
||||
|
using System.Threading.Tasks; |
||||
|
using Volo.Abp.EventBus.Distributed; |
||||
|
using Volo.Abp.Identity; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
using Microsoft.Extensions.Logging; |
||||
|
using Volo.Abp.MultiTenancy; |
||||
|
|
||||
|
namespace AuthServer.Host.EventBus.Handlers |
||||
|
{ |
||||
|
public class TenantCreateEventHandler : IDistributedEventHandler<CreateEventData>, ITransientDependency |
||||
|
{ |
||||
|
protected ILogger<TenantCreateEventHandler> Logger { get; } |
||||
|
protected ICurrentTenant CurrentTenant { get; } |
||||
|
protected IIdentityDataSeeder IdentityDataSeeder { get; } |
||||
|
|
||||
|
public TenantCreateEventHandler( |
||||
|
ICurrentTenant currentTenant, |
||||
|
IIdentityDataSeeder identityDataSeeder, |
||||
|
ILogger<TenantCreateEventHandler> logger) |
||||
|
{ |
||||
|
Logger = logger; |
||||
|
CurrentTenant = currentTenant; |
||||
|
IdentityDataSeeder = identityDataSeeder; |
||||
|
} |
||||
|
|
||||
|
public async Task HandleEventAsync(CreateEventData eventData) |
||||
|
{ |
||||
|
using (CurrentTenant.Change(eventData.Id, eventData.Name)) |
||||
|
{ |
||||
|
var identitySeedResult = await IdentityDataSeeder |
||||
|
.SeedAsync(eventData.AdminEmailAddress, eventData.AdminPassword, eventData.Id); |
||||
|
if (!identitySeedResult.CreatedAdminUser) |
||||
|
{ |
||||
|
Logger.LogWarning("Tenant {0} admin user {1} not created!", eventData.Name, eventData.AdminEmailAddress); |
||||
|
} |
||||
|
if (!identitySeedResult.CreatedAdminRole) |
||||
|
{ |
||||
|
Logger.LogWarning("Tenant {0} admin role not created!", eventData.Name); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,4 @@ |
|||||
|
bin |
||||
|
obj |
||||
|
Logs |
||||
|
appsettings.*.json |
||||
@ -0,0 +1,110 @@ |
|||||
|
using LINGYUN.Common.EventBus.Tenants; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
using Volo.Abp.Authorization.Permissions; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
using Volo.Abp.Domain.Repositories; |
||||
|
using Volo.Abp.EventBus.Distributed; |
||||
|
using Volo.Abp.Guids; |
||||
|
using Volo.Abp.MultiTenancy; |
||||
|
using Volo.Abp.PermissionManagement; |
||||
|
using Volo.Abp.Uow; |
||||
|
|
||||
|
namespace LINGYUN.Platform.EventBus.Handlers |
||||
|
{ |
||||
|
public class TenantCreateEventHandler : IDistributedEventHandler<CreateEventData>, ITransientDependency |
||||
|
{ |
||||
|
protected ICurrentTenant CurrentTenant { get; } |
||||
|
protected IGuidGenerator GuidGenerator { get; } |
||||
|
protected IUnitOfWorkManager UnitOfWorkManager { get; } |
||||
|
protected IPermissionGrantRepository PermissionGrantRepository { get; } |
||||
|
protected IPermissionDefinitionManager PermissionDefinitionManager { get; } |
||||
|
public TenantCreateEventHandler( |
||||
|
ICurrentTenant currentTenant, |
||||
|
IGuidGenerator guidGenerator, |
||||
|
IUnitOfWorkManager unitOfWorkManager, |
||||
|
IPermissionGrantRepository permissionGrantRepository, |
||||
|
IPermissionDefinitionManager permissionDefinitionManager) |
||||
|
{ |
||||
|
CurrentTenant = currentTenant; |
||||
|
GuidGenerator = guidGenerator; |
||||
|
UnitOfWorkManager = unitOfWorkManager; |
||||
|
PermissionGrantRepository = permissionGrantRepository; |
||||
|
PermissionDefinitionManager = permissionDefinitionManager; |
||||
|
} |
||||
|
|
||||
|
public async Task HandleEventAsync(CreateEventData eventData) |
||||
|
{ |
||||
|
using (var unitOfWork = UnitOfWorkManager.Begin()) |
||||
|
{ |
||||
|
// 订阅租户新增事件,置入管理员角色所有权限
|
||||
|
using (CurrentTenant.Change(eventData.Id, eventData.Name)) |
||||
|
{ |
||||
|
var definitionPermissions = PermissionDefinitionManager.GetPermissions(); |
||||
|
var grantPermissions = definitionPermissions.Select(p => p.Name).ToArray(); |
||||
|
//var grantPermissions = new List<PermissionGrant>();
|
||||
|
//foreach (var permission in definitionPermissions)
|
||||
|
//{
|
||||
|
// var permissionGrant = new PermissionGrant(GuidGenerator.Create(),
|
||||
|
// permission.Name, "R", "admin", eventData.Id);
|
||||
|
// grantPermissions.Add(permissionGrant);
|
||||
|
//}
|
||||
|
// TODO: MySql 批量新增还是一条一条的语句?
|
||||
|
// await PermissionGrantRepository.GetDbSet().AddRangeAsync(grantPermissions);
|
||||
|
|
||||
|
var permissionEntityType = PermissionGrantRepository.GetDbContext() |
||||
|
.Model.FindEntityType(typeof(PermissionGrant)); |
||||
|
var permissionTableName = permissionEntityType.GetTableName(); |
||||
|
var batchInsertPermissionSql = string.Empty; |
||||
|
if (PermissionGrantRepository.GetDbContext().Database.IsMySql()) |
||||
|
{ |
||||
|
batchInsertPermissionSql = BuildMySqlBatchInsertScript(permissionTableName, eventData.Id, grantPermissions); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
batchInsertPermissionSql = BuildSqlServerBatchInsertScript(permissionTableName, eventData.Id, grantPermissions); |
||||
|
} |
||||
|
await PermissionGrantRepository.GetDbContext().Database.ExecuteSqlRawAsync(batchInsertPermissionSql); |
||||
|
|
||||
|
await unitOfWork.CompleteAsync(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
protected virtual string BuildMySqlBatchInsertScript(string tableName, Guid tenantId, string[] permissions) |
||||
|
{ |
||||
|
var batchRmovePermissionSql = new StringBuilder(128); |
||||
|
batchRmovePermissionSql.AppendLine($"INSERT INTO `{tableName}`(`Id`, `TenantId`, `Name`, `ProviderName`, `ProviderKey`)"); |
||||
|
batchRmovePermissionSql.AppendLine("VALUES"); |
||||
|
for (int i = 0; i < permissions.Length; i++) |
||||
|
{ |
||||
|
batchRmovePermissionSql.AppendLine($"(UUID(), '{tenantId}','{permissions[i]}','R','admin')"); |
||||
|
if(i < permissions.Length - 1) |
||||
|
{ |
||||
|
batchRmovePermissionSql.AppendLine(","); |
||||
|
} |
||||
|
} |
||||
|
return batchRmovePermissionSql.ToString(); |
||||
|
} |
||||
|
|
||||
|
protected virtual string BuildSqlServerBatchInsertScript(string tableName, Guid tenantId, string[] permissions) |
||||
|
{ |
||||
|
var batchRmovePermissionSql = new StringBuilder(128); |
||||
|
batchRmovePermissionSql.AppendLine($"INSERT INTO {tableName}(Id, TenantId, Name, ProviderName, ProviderKey)"); |
||||
|
batchRmovePermissionSql.Append("VALUES"); |
||||
|
for (int i = 0; i < permissions.Length; i++) |
||||
|
{ |
||||
|
batchRmovePermissionSql.AppendLine($"(NEWID(), '{tenantId}','{permissions[i]}','R','admin')"); |
||||
|
if (i < permissions.Length - 1) |
||||
|
{ |
||||
|
batchRmovePermissionSql.AppendLine(","); |
||||
|
} |
||||
|
} |
||||
|
return batchRmovePermissionSql.ToString(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,82 @@ |
|||||
|
using LINGYUN.Common.EventBus.Tenants; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using System; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
using Volo.Abp.Domain.Repositories; |
||||
|
using Volo.Abp.EventBus.Distributed; |
||||
|
using Volo.Abp.Guids; |
||||
|
using Volo.Abp.MultiTenancy; |
||||
|
using Volo.Abp.PermissionManagement; |
||||
|
using Volo.Abp.Uow; |
||||
|
|
||||
|
namespace LINGYUN.Platform.EventBus.Handlers |
||||
|
{ |
||||
|
public class TenantDeleteEventHandler : IDistributedEventHandler<DeleteEventData>, ITransientDependency |
||||
|
{ |
||||
|
protected ICurrentTenant CurrentTenant { get; } |
||||
|
protected IGuidGenerator GuidGenerator { get; } |
||||
|
protected IUnitOfWorkManager UnitOfWorkManager { get; } |
||||
|
protected IPermissionGrantRepository PermissionGrantRepository { get; } |
||||
|
public TenantDeleteEventHandler( |
||||
|
ICurrentTenant currentTenant, |
||||
|
IGuidGenerator guidGenerator, |
||||
|
IUnitOfWorkManager unitOfWorkManager, |
||||
|
IPermissionGrantRepository permissionGrantRepository) |
||||
|
{ |
||||
|
CurrentTenant = currentTenant; |
||||
|
GuidGenerator = guidGenerator; |
||||
|
UnitOfWorkManager = unitOfWorkManager; |
||||
|
PermissionGrantRepository = permissionGrantRepository; |
||||
|
} |
||||
|
|
||||
|
public async Task HandleEventAsync(DeleteEventData eventData) |
||||
|
{ |
||||
|
using (var unitOfWork = UnitOfWorkManager.Begin()) |
||||
|
{ |
||||
|
// 订阅租户删除事件,删除管理员角色所有权限
|
||||
|
// TODO: 租户貌似不存在了,删除应该会失败
|
||||
|
using (CurrentTenant.Change(eventData.Id)) |
||||
|
{ |
||||
|
var grantPermissions = await PermissionGrantRepository.GetListAsync("R", "admin"); |
||||
|
|
||||
|
// EfCore MySql 批量删除还是一条一条的语句?
|
||||
|
// PermissionGrantRepository.GetDbSet().RemoveRange(grantPermissions);
|
||||
|
var permissionEntityType = PermissionGrantRepository.GetDbContext().Model.FindEntityType(typeof(PermissionGrant)); |
||||
|
var permissionTableName = permissionEntityType.GetTableName(); |
||||
|
var batchRmovePermissionSql = string.Empty; |
||||
|
if (PermissionGrantRepository.GetDbContext().Database.IsMySql()) |
||||
|
{ |
||||
|
batchRmovePermissionSql = BuildMySqlBatchDeleteScript(permissionTableName, eventData.Id); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
batchRmovePermissionSql = BuildSqlServerBatchDeleteScript(permissionTableName, eventData.Id); |
||||
|
} |
||||
|
|
||||
|
await PermissionGrantRepository.GetDbContext().Database |
||||
|
.ExecuteSqlRawAsync(batchRmovePermissionSql); |
||||
|
|
||||
|
await unitOfWork.CompleteAsync(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
protected virtual string BuildMySqlBatchDeleteScript(string tableName, Guid tenantId) |
||||
|
{ |
||||
|
var batchRmovePermissionSql = new StringBuilder(128); |
||||
|
batchRmovePermissionSql.AppendLine($"DELETE FROM `{tableName}` WHERE `TenantId` = '{tenantId}'"); |
||||
|
batchRmovePermissionSql.AppendLine("AND `ProviderName`='R' AND `ProviderKey`='admin'"); |
||||
|
return batchRmovePermissionSql.ToString(); |
||||
|
} |
||||
|
|
||||
|
protected virtual string BuildSqlServerBatchDeleteScript(string tableName, Guid tenantId) |
||||
|
{ |
||||
|
var batchRmovePermissionSql = new StringBuilder(128); |
||||
|
batchRmovePermissionSql.AppendLine($"DELETE {tableName} WHERE TenantId = '{tenantId}'"); |
||||
|
batchRmovePermissionSql.AppendLine("AND ProviderName='R' AND ProviderKey='admin'"); |
||||
|
return batchRmovePermissionSql.ToString(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,47 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk.Web"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>netcoreapp3.1</TargetFramework> |
||||
|
<RootNamespace>LINGYUN.Platform</RootNamespace> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="DotNetCore.CAP.MySql" Version="3.0.3" /> |
||||
|
<PackageReference Include="DotNetCore.CAP.RabbitMQ" Version="3.0.3" /> |
||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.3"> |
||||
|
<PrivateAssets>all</PrivateAssets> |
||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |
||||
|
</PackageReference> |
||||
|
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.1.3" /> |
||||
|
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="3.1.3" /> |
||||
|
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" /> |
||||
|
<PackageReference Include="Serilog.AspNetCore" Version="3.2.0" /> |
||||
|
<PackageReference Include="Serilog.Enrichers.Assembly" Version="2.0.0" /> |
||||
|
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.1" /> |
||||
|
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0" /> |
||||
|
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" /> |
||||
|
<PackageReference Include="Serilog.Sinks.File" Version="4.1.0" /> |
||||
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.4.1" /> |
||||
|
<PackageReference Include="Volo.Abp.AspNetCore.MultiTenancy" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.Autofac" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.EntityFrameworkCore.MySQL" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.TenantManagement.EntityFrameworkCore" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" Version="2.7.0" /> |
||||
|
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="2.7.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<ProjectReference Include="..\..\..\modules\apigateway\LINGYUN.ApiGateway.Application.Contracts\LINGYUN.ApiGateway.Application.Contracts.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\modules\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\modules\identityServer\LINGYUN.IdentityServer.Application.Contracts\LINGYUN.IdentityServer.Application.Contracts.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\modules\permissions\LINGYUN.Abp.PermissionManagement.Application\LINGYUN.Abp.PermissionManagement.Application.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\modules\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\modules\tenants\LINGYUN.TenantManagement.Application\LINGYUN.TenantManagement.Application.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\modules\tenants\LINGYUN.TenantManagement.HttpApi\LINGYUN.TenantManagement.HttpApi.csproj" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
||||
@ -0,0 +1,35 @@ |
|||||
|
using Microsoft.AspNetCore.Http; |
||||
|
using System.Linq; |
||||
|
using Volo.Abp.AspNetCore.MultiTenancy; |
||||
|
using Volo.Abp.MultiTenancy; |
||||
|
using Volo.Abp.Security.Claims; |
||||
|
|
||||
|
namespace LINGYUN.Platform.MultiTenancy |
||||
|
{ |
||||
|
public class AuthorizationTenantResolveContributor : HttpTenantResolveContributorBase |
||||
|
{ |
||||
|
public override string Name => "Authorization"; |
||||
|
|
||||
|
protected override string GetTenantIdOrNameFromHttpContextOrNull(ITenantResolveContext context, HttpContext httpContext) |
||||
|
{ |
||||
|
if (httpContext.User?.Identity == null) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
if (!httpContext.User.Identity.IsAuthenticated) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
var tenantIdKey = context.GetAbpAspNetCoreMultiTenancyOptions().TenantKey; |
||||
|
|
||||
|
var tenantClaim = httpContext.User.Claims.FirstOrDefault(x => x.Type.Equals(AbpClaimTypes.TenantId)); |
||||
|
|
||||
|
if (tenantClaim == null) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
return tenantClaim.Value; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,168 @@ |
|||||
|
using DotNetCore.CAP; |
||||
|
using IdentityModel; |
||||
|
using LINGYUN.Abp.EventBus.CAP; |
||||
|
using LINGYUN.Abp.IdentityServer; |
||||
|
using LINGYUN.Abp.SettingManagement; |
||||
|
using LINGYUN.Abp.TenantManagement; |
||||
|
using LINGYUN.ApiGateway; |
||||
|
using LINGYUN.Platform.MultiTenancy; |
||||
|
using Microsoft.AspNetCore.Builder; |
||||
|
using Microsoft.AspNetCore.DataProtection; |
||||
|
using Microsoft.AspNetCore.Hosting; |
||||
|
using Microsoft.Extensions.Configuration; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
using Microsoft.Extensions.Hosting; |
||||
|
using Microsoft.OpenApi.Models; |
||||
|
using StackExchange.Redis; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using Volo.Abp; |
||||
|
using Volo.Abp.AspNetCore.MultiTenancy; |
||||
|
using Volo.Abp.Autofac; |
||||
|
using Volo.Abp.EntityFrameworkCore; |
||||
|
using Volo.Abp.EntityFrameworkCore.MySQL; |
||||
|
using Volo.Abp.Identity; |
||||
|
using Volo.Abp.Localization; |
||||
|
using Volo.Abp.Modularity; |
||||
|
using Volo.Abp.MultiTenancy; |
||||
|
using Volo.Abp.PermissionManagement.EntityFrameworkCore; |
||||
|
using Volo.Abp.PermissionManagement.HttpApi; |
||||
|
using Volo.Abp.PermissionManagement.Identity; |
||||
|
using Volo.Abp.PermissionManagement.IdentityServer; |
||||
|
using Volo.Abp.Security.Claims; |
||||
|
using Volo.Abp.SettingManagement.EntityFrameworkCore; |
||||
|
using Volo.Abp.TenantManagement.EntityFrameworkCore; |
||||
|
using AbpPermissionManagementApplicationModule = LINGYUN.Abp.PermissionManagement.AbpPermissionManagementApplicationModule; |
||||
|
|
||||
|
namespace LINGYUN.Platform |
||||
|
{ |
||||
|
[DependsOn( |
||||
|
typeof(AbpAspNetCoreMultiTenancyModule), |
||||
|
typeof(AbpPermissionManagementDomainIdentityModule), |
||||
|
typeof(AbpPermissionManagementDomainIdentityServerModule), |
||||
|
typeof(ApiGatewayApplicationContractsModule), |
||||
|
typeof(AbpIdentityApplicationContractsModule), |
||||
|
typeof(AbpIdentityServerApplicationContractsModule), |
||||
|
typeof(AbpSettingManagementApplicationContractsModule), |
||||
|
typeof(AbpPermissionManagementApplicationModule), |
||||
|
typeof(AbpTenantManagementApplicationModule), |
||||
|
typeof(AbpTenantManagementHttpApiModule), |
||||
|
typeof(AbpPermissionManagementHttpApiModule), |
||||
|
typeof(AbpEntityFrameworkCoreMySQLModule), |
||||
|
typeof(AbpTenantManagementEntityFrameworkCoreModule), |
||||
|
typeof(AbpSettingManagementEntityFrameworkCoreModule), |
||||
|
typeof(AbpPermissionManagementEntityFrameworkCoreModule), |
||||
|
typeof(AbpCAPEventBusModule), |
||||
|
typeof(AbpAutofacModule) |
||||
|
)] |
||||
|
public class PlatformHttpApiHostModule : AbpModule |
||||
|
{ |
||||
|
public override void PreConfigureServices(ServiceConfigurationContext context) |
||||
|
{ |
||||
|
var configuration = context.Services.GetConfiguration(); |
||||
|
|
||||
|
PreConfigure<CapOptions>(options => |
||||
|
{ |
||||
|
options |
||||
|
.UseMySql(configuration.GetConnectionString("Default")) |
||||
|
.UseRabbitMQ(rabbitMQOptions => |
||||
|
{ |
||||
|
configuration.GetSection("CAP:RabbitMQ").Bind(rabbitMQOptions); |
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
public override void ConfigureServices(ServiceConfigurationContext context) |
||||
|
{ |
||||
|
var hostingEnvironment = context.Services.GetHostingEnvironment(); |
||||
|
var configuration = hostingEnvironment.BuildConfiguration(); |
||||
|
// 配置Ef
|
||||
|
Configure<AbpDbContextOptions>(options => |
||||
|
{ |
||||
|
options.UseMySQL(); |
||||
|
}); |
||||
|
|
||||
|
// 多租户
|
||||
|
Configure<AbpMultiTenancyOptions>(options => |
||||
|
{ |
||||
|
options.IsEnabled = true; |
||||
|
}); |
||||
|
|
||||
|
Configure<AbpTenantResolveOptions>(options => |
||||
|
{ |
||||
|
options.TenantResolvers.Insert(0, new AuthorizationTenantResolveContributor()); |
||||
|
}); |
||||
|
|
||||
|
// Swagger
|
||||
|
context.Services.AddSwaggerGen( |
||||
|
options => |
||||
|
{ |
||||
|
options.SwaggerDoc("v1", new OpenApiInfo { Title = "Platform API", Version = "v1" }); |
||||
|
options.DocInclusionPredicate((docName, description) => true); |
||||
|
options.CustomSchemaIds(type => type.FullName); |
||||
|
}); |
||||
|
|
||||
|
// 支持本地化语言类型
|
||||
|
Configure<AbpLocalizationOptions>(options => |
||||
|
{ |
||||
|
options.Languages.Add(new LanguageInfo("en", "en", "English")); |
||||
|
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); |
||||
|
}); |
||||
|
|
||||
|
context.Services.AddAuthentication("Bearer") |
||||
|
.AddIdentityServerAuthentication(options => |
||||
|
{ |
||||
|
options.Authority = configuration["AuthServer:Authority"]; |
||||
|
options.RequireHttpsMetadata = false; |
||||
|
options.ApiName = configuration["AuthServer:ApiName"]; |
||||
|
AbpClaimTypes.UserId = JwtClaimTypes.Subject; |
||||
|
AbpClaimTypes.UserName = JwtClaimTypes.Name; |
||||
|
AbpClaimTypes.Role = JwtClaimTypes.Role; |
||||
|
AbpClaimTypes.Email = JwtClaimTypes.Email; |
||||
|
}); |
||||
|
|
||||
|
context.Services.AddStackExchangeRedisCache(options => |
||||
|
{ |
||||
|
options.Configuration = configuration["RedisCache:ConnectString"]; |
||||
|
var instanceName = configuration["RedisCache:RedisPrefix"]; |
||||
|
options.InstanceName = instanceName.IsNullOrEmpty() ? "Platform_Cache" : instanceName; |
||||
|
}); |
||||
|
|
||||
|
if (!hostingEnvironment.IsDevelopment()) |
||||
|
{ |
||||
|
var redis = ConnectionMultiplexer.Connect(configuration["RedisCache:ConnectString"]); |
||||
|
context.Services |
||||
|
.AddDataProtection() |
||||
|
.PersistKeysToStackExchangeRedis(redis, "Platform-Protection-Keys"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public override void OnApplicationInitialization(ApplicationInitializationContext context) |
||||
|
{ |
||||
|
var app = context.GetApplicationBuilder(); |
||||
|
// http调用链
|
||||
|
app.UseCorrelationId(); |
||||
|
// 虚拟文件系统
|
||||
|
app.UseVirtualFiles(); |
||||
|
// 本地化
|
||||
|
app.UseAbpRequestLocalization(); |
||||
|
//路由
|
||||
|
app.UseRouting(); |
||||
|
// 认证
|
||||
|
app.UseAuthentication(); |
||||
|
// 多租户
|
||||
|
app.UseMultiTenancy(); |
||||
|
// Swagger
|
||||
|
app.UseSwagger(); |
||||
|
// Swagger可视化界面
|
||||
|
app.UseSwaggerUI(options => |
||||
|
{ |
||||
|
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Support Platform API"); |
||||
|
}); |
||||
|
// 审计日志
|
||||
|
app.UseAuditing(); |
||||
|
// 路由
|
||||
|
app.UseMvcWithDefaultRouteAndArea(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,49 @@ |
|||||
|
using Microsoft.AspNetCore.Hosting; |
||||
|
using Microsoft.Extensions.Configuration; |
||||
|
using Microsoft.Extensions.Hosting; |
||||
|
using Serilog; |
||||
|
using System; |
||||
|
using System.IO; |
||||
|
|
||||
|
namespace LINGYUN.Platform |
||||
|
{ |
||||
|
public class Program |
||||
|
{ |
||||
|
public static int Main(string[] args) |
||||
|
{ |
||||
|
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"; |
||||
|
var configuration = new ConfigurationBuilder() |
||||
|
.SetBasePath(Directory.GetCurrentDirectory()) |
||||
|
.AddJsonFile($"appsettings.{env}.json", optional: false, reloadOnChange: true) |
||||
|
.AddEnvironmentVariables() |
||||
|
.Build(); |
||||
|
Log.Logger = new LoggerConfiguration() |
||||
|
.ReadFrom.Configuration(configuration) |
||||
|
.CreateLogger(); |
||||
|
try |
||||
|
{ |
||||
|
Log.Information("Starting web host."); |
||||
|
CreateHostBuilder(args).Build().Run(); |
||||
|
return 0; |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
Log.Fatal(ex, "Host terminated unexpectedly!"); |
||||
|
return 1; |
||||
|
} |
||||
|
finally |
||||
|
{ |
||||
|
Log.CloseAndFlush(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
internal static IHostBuilder CreateHostBuilder(string[] args) => |
||||
|
Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args) |
||||
|
.ConfigureWebHostDefaults(webBuilder => |
||||
|
{ |
||||
|
webBuilder.UseStartup<Startup>(); |
||||
|
}) |
||||
|
.UseSerilog() |
||||
|
.UseAutofac(); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,20 @@ |
|||||
|
{ |
||||
|
"iisSettings": { |
||||
|
"windowsAuthentication": false, |
||||
|
"anonymousAuthentication": true, |
||||
|
"iisExpress": { |
||||
|
"applicationUrl": "http://localhost:54521", |
||||
|
"sslPort": 0 |
||||
|
} |
||||
|
}, |
||||
|
"profiles": { |
||||
|
"LINGYUN.Platform.HttpApi.Host": { |
||||
|
"commandName": "Project", |
||||
|
"launchBrowser": false, |
||||
|
"applicationUrl": "http://localhost:30010", |
||||
|
"environmentVariables": { |
||||
|
"ASPNETCORE_ENVIRONMENT": "Development" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,18 @@ |
|||||
|
using Microsoft.AspNetCore.Builder; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
|
||||
|
namespace LINGYUN.Platform |
||||
|
{ |
||||
|
public class Startup |
||||
|
{ |
||||
|
public void ConfigureServices(IServiceCollection services) |
||||
|
{ |
||||
|
services.AddApplication<PlatformHttpApiHostModule>(); |
||||
|
} |
||||
|
|
||||
|
public void Configure(IApplicationBuilder app) |
||||
|
{ |
||||
|
app.InitializeApplication(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
@echo off |
||||
|
cls |
||||
|
|
||||
|
start .\start-identity-server.bat --run |
||||
|
start .\start-apigateway-admin.bat --run |
||||
|
start .\start-platform.bat --run |
||||
@ -1,6 +0,0 @@ |
|||||
@echo off |
|
||||
cls |
|
||||
|
|
||||
start .\start-identity-server.bat --run |
|
||||
start .\start-apigateway-admin.cmd --run |
|
||||
start .\start-apigateway-host.cmd --run |
|
||||
@ -0,0 +1,29 @@ |
|||||
|
@echo off |
||||
|
cls |
||||
|
chcp 65001 |
||||
|
|
||||
|
echo. 启动平台管理服务 |
||||
|
|
||||
|
cd .\platform\LINGYUN.Platform.HttpApi.Host |
||||
|
|
||||
|
if '%1' equ '--publish' goto publish |
||||
|
if '%1' equ '--run' goto run |
||||
|
if '%1' equ '--restore' goto restore |
||||
|
if '%1' equ '' goto run |
||||
|
exit |
||||
|
|
||||
|
:publish |
||||
|
dotnet publish -c Release -o ..\..\Publish\platform --no-cache --no-restore |
||||
|
copy Dockerfile ..\..\Publish\platform\Dockerfile |
||||
|
pause |
||||
|
exit |
||||
|
|
||||
|
:run |
||||
|
dotnet run |
||||
|
pause |
||||
|
exit |
||||
|
|
||||
|
:restore |
||||
|
dotnet restore |
||||
|
pause |
||||
|
exit |
||||
@ -0,0 +1,193 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="filter-container"> |
||||
|
<el-form |
||||
|
v-if="checkPermission(['ApiGateway.AggregateRoute.ManageRouteConfig'])" |
||||
|
ref="formAggregateRouteConfig" |
||||
|
label-width="100px" |
||||
|
:model="routeConfig" |
||||
|
:rules="routeConfigRules" |
||||
|
> |
||||
|
<el-form-item |
||||
|
prop="reRouteKey" |
||||
|
:label="$t('apiGateWay.aggregateRouteKey')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="routeConfig.reRouteKey" |
||||
|
:placeholder="$t('pleaseInputBy', {key: $t('apiGateWay.aggregateRouteKey')})" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item |
||||
|
prop="parameter" |
||||
|
:label="$t('apiGateWay.aggregateParameter')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="routeConfig.parameter" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item |
||||
|
prop="jsonPath" |
||||
|
:label="$t('apiGateWay.aggregateJsonPath')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="routeConfig.jsonPath" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item |
||||
|
style="text-align: center;" |
||||
|
label-width="0px" |
||||
|
> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
style="width:180px" |
||||
|
@click="onSaveAggregateRouteConfig" |
||||
|
> |
||||
|
{{ $t('apiGateWay.createAggregateRouteConfig') }} |
||||
|
</el-button> |
||||
|
</el-form-item> |
||||
|
<el-divider /> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<el-table |
||||
|
row-key="key" |
||||
|
:data="aggregateRoute.reRouteKeysConfig" |
||||
|
border |
||||
|
fit |
||||
|
highlight-current-row |
||||
|
style="width: 100%;" |
||||
|
> |
||||
|
<el-table-column |
||||
|
:label="$t('apiGateWay.aggregateRouteKey')" |
||||
|
prop="aggregateRouteKey" |
||||
|
sortable |
||||
|
width="200px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.aggregateRouteKey }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('apiGateWay.aggregateParameter')" |
||||
|
prop="parameter" |
||||
|
sortable |
||||
|
min-width="200px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.parameter }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('apiGateWay.aggregateJsonPath')" |
||||
|
prop="jsonPath" |
||||
|
sortable |
||||
|
min-width="200px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.jsonPath }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('global.operaActions')" |
||||
|
align="center" |
||||
|
width="150px" |
||||
|
fixed="right" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<el-button |
||||
|
:disabled="!checkPermission(['ApiGateway.AggregateRoute.ManageRouteConfig'])" |
||||
|
size="mini" |
||||
|
type="primary" |
||||
|
@click="handleDeleteAggregateRouteConfig(row.reRouteKey)" |
||||
|
> |
||||
|
{{ $t('apiGateWay.deleteAggregateRouteConfig') }} |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script lang="ts"> |
||||
|
import ApiGatewayService, { AggregateReRouteConfigCreate, AggregateReRoute } from '@/api/apigateway' |
||||
|
import { Component, Vue, Prop, Watch } from 'vue-property-decorator' |
||||
|
import { checkPermission } from '@/utils/permission' |
||||
|
|
||||
|
@Component({ |
||||
|
name: 'AggregateRouteConfigEditForm', |
||||
|
methods: { |
||||
|
checkPermission |
||||
|
} |
||||
|
}) |
||||
|
export default class extends Vue { |
||||
|
@Prop({ default: '' }) |
||||
|
private aggregateRouteId!: string |
||||
|
|
||||
|
private aggregateRoute!: AggregateReRoute |
||||
|
private routeConfig: AggregateReRouteConfigCreate |
||||
|
private routeConfigRules = { |
||||
|
reRouteKey: [ |
||||
|
{ required: true, message: this.l('pleaseInputBy', { key: this.l('apiGateWay.aggregateRouteKey') }), trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
constructor() { |
||||
|
super() |
||||
|
this.aggregateRoute = AggregateReRoute.empty() |
||||
|
this.routeConfig = AggregateReRouteConfigCreate.empty() |
||||
|
} |
||||
|
|
||||
|
@Watch('aggregateRouteId', { immediate: true }) |
||||
|
private onAggregateRouteIdChanged() { |
||||
|
if (this.aggregateRouteId) { |
||||
|
ApiGatewayService.getAggregateReRouteByRouteId(this.aggregateRouteId).then(route => { |
||||
|
this.aggregateRoute = route |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private handleDeleteAggregateRouteConfig(key: string) { |
||||
|
this.$confirm(this.l('apiGateWay.deleteAggregateRouteConfigByKey', { key: key }), |
||||
|
this.l('apiGateWay.deleteAggregateRouteConfig'), { |
||||
|
callback: (action) => { |
||||
|
if (action === 'confirm') { |
||||
|
ApiGatewayService.deleteAggregateRouteConfig(this.aggregateRoute.reRouteId, key).then(() => { |
||||
|
const deleteRouteConfigIndex = this.aggregateRoute.reRouteKeysConfig.findIndex(p => p.reRouteKey === key) |
||||
|
this.aggregateRoute.reRouteKeysConfig.splice(deleteRouteConfigIndex, 1) |
||||
|
this.$message.success(this.l('apiGateWay.deleteAggregateRouteConfigSuccess', { key: key })) |
||||
|
this.$emit('closed', true) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
private onSaveAggregateRouteConfig() { |
||||
|
const frmIdentityProperty = this.$refs.formIdentityProperty as any |
||||
|
frmIdentityProperty.validate((valid: boolean) => { |
||||
|
if (valid) { |
||||
|
this.routeConfig.routeId = this.aggregateRoute.reRouteId |
||||
|
ApiGatewayService.createAggregateRouteConfig(this.routeConfig).then(routeConfig => { |
||||
|
this.aggregateRoute.reRouteKeysConfig.push(routeConfig) |
||||
|
const successMessage = this.l('apiGateWay.createAggregateRouteConfigSuccess', { key: routeConfig.reRouteKey }) |
||||
|
this.$message.success(successMessage) |
||||
|
this.resetFields() |
||||
|
this.$emit('closed', true) |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
public resetFields() { |
||||
|
this.aggregateRouteId = '' |
||||
|
this.routeConfig = AggregateReRouteConfigCreate.empty() |
||||
|
} |
||||
|
|
||||
|
private l(name: string, values?: any[] | { [key: string]: any }) { |
||||
|
return this.$t(name, values).toString() |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,142 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="filter-container"> |
||||
|
<el-form |
||||
|
ref="formTenant" |
||||
|
label-width="120px" |
||||
|
:model="tenant" |
||||
|
:rules="tenantRules" |
||||
|
> |
||||
|
<el-form-item |
||||
|
prop="name" |
||||
|
:label="$t('tenant.name')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="tenant.name" |
||||
|
:placeholder="$t('pleaseInputBy', {key: $t('tenant.name')})" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item |
||||
|
v-if="!isEditTenant" |
||||
|
prop="adminEmailAddress" |
||||
|
:label="$t('tenant.adminEmailAddress')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="tenant.adminEmailAddress" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item |
||||
|
v-if="!isEditTenant" |
||||
|
prop="adminPassword" |
||||
|
:label="$t('tenant.adminPassword')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="tenant.adminPassword" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item> |
||||
|
<el-button |
||||
|
class="cancel" |
||||
|
style="width:100px;right: 120px;position: absolute;" |
||||
|
@click="onCancel" |
||||
|
> |
||||
|
{{ $t('global.cancel') }} |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
class="confirm" |
||||
|
type="primary" |
||||
|
style="width:100px;right: 10px;position: absolute;" |
||||
|
@click="onSaveTenant" |
||||
|
> |
||||
|
{{ $t('global.confirm') }} |
||||
|
</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script lang="ts"> |
||||
|
import TenantService, { TenantCreateOrEdit } from '@/api/tenant' |
||||
|
import { Component, Prop, Vue, Watch } from 'vue-property-decorator' |
||||
|
|
||||
|
@Component({ |
||||
|
name: 'TenantCreateOrEditForm' |
||||
|
}) |
||||
|
export default class extends Vue { |
||||
|
@Prop({ default: '' }) |
||||
|
private tenantId!: string |
||||
|
|
||||
|
private tenant!: TenantCreateOrEdit |
||||
|
|
||||
|
get isEditTenant() { |
||||
|
if (this.tenantId) { |
||||
|
return true |
||||
|
} |
||||
|
return false |
||||
|
} |
||||
|
|
||||
|
private tenantRules = { |
||||
|
name: [ |
||||
|
{ required: true, message: this.l('pleaseInputBy', { key: this.l('tenant.name') }), trigger: 'blur' } |
||||
|
], |
||||
|
adminEmailAddress: [ |
||||
|
{ required: true, message: this.l('pleaseInputBy', { key: this.l('tenant.adminEmailAddress') }), trigger: 'blur' }, |
||||
|
{ type: 'email', message: this.l('pleaseInputBy', { key: this.l('global.correctEmailAddress') }), trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
constructor() { |
||||
|
super() |
||||
|
this.tenant = TenantCreateOrEdit.empty() |
||||
|
} |
||||
|
|
||||
|
@Watch('tenantId', { immediate: true }) |
||||
|
private onTenantIdChanged() { |
||||
|
if (this.tenantId) { |
||||
|
TenantService.getTenantById(this.tenantId).then(tenant => { |
||||
|
this.tenant.name = tenant.name |
||||
|
}) |
||||
|
} else { |
||||
|
this.tenant = TenantCreateOrEdit.empty() |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private onSaveTenant() { |
||||
|
const frmTenant = this.$refs.formTenant as any |
||||
|
frmTenant.validate((valid: boolean) => { |
||||
|
if (valid) { |
||||
|
if (this.isEditTenant) { |
||||
|
TenantService.changeTenantName(this.tenantId, this.tenant.name).then(tenant => { |
||||
|
const message = this.l('tenant.tenantNameChanged', { name: tenant.name }) |
||||
|
this.$message.success(message) |
||||
|
this.reset() |
||||
|
this.$emit('closed', true) |
||||
|
}) |
||||
|
} else { |
||||
|
TenantService.createTenant(this.tenant).then(tenant => { |
||||
|
const message = this.l('tenant.createTenantSuccess', { name: tenant.name }) |
||||
|
this.$message.success(message) |
||||
|
this.reset() |
||||
|
this.$emit('closed', true) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
private onCancel() { |
||||
|
this.reset() |
||||
|
this.$emit('closed', false) |
||||
|
} |
||||
|
|
||||
|
private reset() { |
||||
|
this.tenant = TenantCreateOrEdit.empty() |
||||
|
} |
||||
|
|
||||
|
private l(name: string, values?: any[] | { [key: string]: any }) { |
||||
|
return this.$t(name, values).toString() |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,189 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="filter-container"> |
||||
|
<el-form |
||||
|
v-if="checkPermission(['AbpTenantManagement.Tenants.ManageConnectionStrings'])" |
||||
|
ref="formTenantConnection" |
||||
|
label-width="100px" |
||||
|
:model="tenantConnection" |
||||
|
:rules="tenantConnectionRules" |
||||
|
> |
||||
|
<el-form-item |
||||
|
prop="name" |
||||
|
:label="$t('tenant.connectionName')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="tenantConnection.name" |
||||
|
:placeholder="$t('pleaseInputBy', {key: $t('tenant.connectionName')})" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item |
||||
|
prop="value" |
||||
|
:label="$t('tenant.connectionString')" |
||||
|
> |
||||
|
<el-input |
||||
|
v-model="tenantConnection.value" |
||||
|
:placeholder="$t('pleaseInputBy', {key: $t('tenant.connectionString')})" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item |
||||
|
style="text-align: center;" |
||||
|
label-width="0px" |
||||
|
> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
style="width:180px" |
||||
|
@click="onSaveTenantConnection" |
||||
|
> |
||||
|
{{ $t('tenant.setTenantConnection') }} |
||||
|
</el-button> |
||||
|
</el-form-item> |
||||
|
<el-divider /> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<el-table |
||||
|
row-key="key" |
||||
|
:data="tenantConnections" |
||||
|
border |
||||
|
fit |
||||
|
highlight-current-row |
||||
|
style="width: 100%;" |
||||
|
> |
||||
|
<el-table-column |
||||
|
:label="$t('tenant.connectionName')" |
||||
|
prop="name" |
||||
|
sortable |
||||
|
width="200px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.name }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('tenant.connectionString')" |
||||
|
prop="value" |
||||
|
sortable |
||||
|
min-width="400px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.value }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('operaActions')" |
||||
|
align="center" |
||||
|
width="150px" |
||||
|
fixed="right" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<el-button |
||||
|
:disabled="!checkPermission(['AbpTenantManagement.Tenants.ManageConnectionStrings'])" |
||||
|
size="mini" |
||||
|
type="primary" |
||||
|
@click="handleDeleteTenantConnection(row.name)" |
||||
|
> |
||||
|
{{ $t('tenant.deleteConnection') }} |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script lang="ts"> |
||||
|
import TenantService, { TenantConnectionString } from '@/api/tenant' |
||||
|
import { Component, Vue, Prop, Watch } from 'vue-property-decorator' |
||||
|
import { checkPermission } from '@/utils/permission' |
||||
|
|
||||
|
@Component({ |
||||
|
name: 'TenantEditConnectionForm', |
||||
|
methods: { |
||||
|
checkPermission |
||||
|
} |
||||
|
}) |
||||
|
export default class extends Vue { |
||||
|
@Prop({ default: '' }) |
||||
|
private tenantId!: string |
||||
|
|
||||
|
private tenantConnection: TenantConnectionString |
||||
|
private tenantConnections: TenantConnectionString[] |
||||
|
private tenantConnectionRules = { |
||||
|
name: [ |
||||
|
{ required: true, message: this.l('pleaseInputBy', { key: this.l('tenant.connectionName') }), trigger: 'blur' } |
||||
|
], |
||||
|
value: [ |
||||
|
{ required: true, message: this.l('pleaseInputBy', { key: this.l('tenant.connectionString') }), trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
constructor() { |
||||
|
super() |
||||
|
this.tenantConnection = TenantConnectionString.empty() |
||||
|
this.tenantConnections = new Array<TenantConnectionString>() |
||||
|
} |
||||
|
|
||||
|
@Watch('tenantId', { immediate: true }) |
||||
|
private onTenantIdChanged() { |
||||
|
if (this.tenantId) { |
||||
|
TenantService.getTenantConnections(this.tenantId).then(connections => { |
||||
|
this.tenantConnections = connections.items |
||||
|
}) |
||||
|
} else { |
||||
|
this.tenantConnection = TenantConnectionString.empty() |
||||
|
this.tenantConnections = new Array<TenantConnectionString>() |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private handleDeleteTenantConnection(name: string) { |
||||
|
this.$confirm(this.l('tenant.deleteTenantConnectionName', { name: name }), |
||||
|
this.l('tenant.deleteConnection'), { |
||||
|
callback: (action) => { |
||||
|
if (action === 'confirm') { |
||||
|
TenantService.deleteTenantConnectionByName(this.tenantId, name).then(() => { |
||||
|
const deleteTenantConnectionIndex = this.tenantConnections.findIndex(p => p.name === name) |
||||
|
this.tenantConnections.splice(deleteTenantConnectionIndex, 1) |
||||
|
this.$message.success(this.l('tenant.deleteTenantConnectionSuccess', { name: name })) |
||||
|
this.resetFields() |
||||
|
this.$emit('closed', true) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
private onSaveTenantConnection() { |
||||
|
const frmTenantConnection = this.$refs.formTenantConnection as any |
||||
|
frmTenantConnection.validate((valid: boolean) => { |
||||
|
if (valid) { |
||||
|
TenantService.setTenantConnection(this.tenantId, this.tenantConnection).then(connection => { |
||||
|
const tenantConnection = this.tenantConnections.find(tc => tc.name === connection.name) |
||||
|
if (tenantConnection) { |
||||
|
tenantConnection.value = connection.value |
||||
|
} else { |
||||
|
this.tenantConnections.push(connection) |
||||
|
} |
||||
|
this.$message.success(this.l('tenant.setTenantConnectionSuccess', { name: name })) |
||||
|
this.resetFields() |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
public resetFields() { |
||||
|
this.tenantConnection = TenantConnectionString.empty() |
||||
|
} |
||||
|
|
||||
|
private l(name: string, values?: any[] | { [key: string]: any }) { |
||||
|
return this.$t(name, values).toString() |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.full-select { |
||||
|
width: 100%; |
||||
|
} |
||||
|
</style> |
||||
@ -1,2 +1,311 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="filter-container"> |
||||
|
<label |
||||
|
class="radio-label" |
||||
|
style="padding-left:10px;" |
||||
|
>{{ $t('global.queryFilter') }}</label> |
||||
|
<el-input |
||||
|
v-model="tenantGetPagedFilter.filter" |
||||
|
:placeholder="$t('filterString')" |
||||
|
style="width: 250px;margin-left: 10px;" |
||||
|
class="filter-item" |
||||
|
/> |
||||
|
<el-button |
||||
|
class="filter-item" |
||||
|
style="margin-left: 10px; text-alignt" |
||||
|
type="primary" |
||||
|
@click="handleGetTenants" |
||||
|
> |
||||
|
{{ $t('global.searchList') }} |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
class="filter-item" |
||||
|
type="primary" |
||||
|
:disabled="!checkPermission(['AbpTenantManagement.Tenants.Create'])" |
||||
|
@click="handleShowCreateOrEditTenantDialog('')" |
||||
|
> |
||||
|
{{ $t('tenant.createTenant') }} |
||||
|
</el-button> |
||||
|
</div> |
||||
|
|
||||
|
<el-table |
||||
|
v-loading="tenantListLoading" |
||||
|
row-key="id" |
||||
|
:data="tenantList" |
||||
|
border |
||||
|
fit |
||||
|
highlight-current-row |
||||
|
style="width: 100%;" |
||||
|
@sort-change="handleSortChange" |
||||
|
> |
||||
|
<el-table-column |
||||
|
:label="$t('tenant.id')" |
||||
|
prop="id" |
||||
|
sortable |
||||
|
width="150px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.id }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('tenant.name')" |
||||
|
prop="name" |
||||
|
sortable |
||||
|
width="150px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span>{{ row.name }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('global.creationTime')" |
||||
|
prop="creationTime" |
||||
|
width="170px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span> |
||||
|
<el-tag> |
||||
|
{{ row.creationTime | datetimeFilter }} |
||||
|
</el-tag> |
||||
|
</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('global.lastModificationTime')" |
||||
|
prop="lastModificationTime" |
||||
|
width="170px" |
||||
|
align="center" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<span> |
||||
|
<el-tag type="warning"> |
||||
|
{{ row.lastModificationTime | datetimeFilter }} |
||||
|
</el-tag> |
||||
|
</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
:label="$t('global.operaActions')" |
||||
|
align="center" |
||||
|
width="250px" |
||||
|
fixed="right" |
||||
|
> |
||||
|
<template slot-scope="{row}"> |
||||
|
<el-button |
||||
|
:disabled="!checkPermission(['AbpTenantManagement.Tenants.Update'])" |
||||
|
size="mini" |
||||
|
type="primary" |
||||
|
@click="handleShowCreateOrEditTenantDialog(row.id)" |
||||
|
> |
||||
|
{{ $t('tenant.updateTenant') }} |
||||
|
</el-button> |
||||
|
<el-dropdown |
||||
|
class="options" |
||||
|
@command="handleCommand" |
||||
|
> |
||||
|
<el-button |
||||
|
v-permission="['AbpTenantManagement.Tenants']" |
||||
|
size="mini" |
||||
|
type="info" |
||||
|
> |
||||
|
{{ $t('global.otherOpera') }}<i class="el-icon-arrow-down el-icon--right" /> |
||||
|
</el-button> |
||||
|
<el-dropdown-menu slot="dropdown"> |
||||
|
<el-dropdown-item |
||||
|
:command="{key: 'connection', row}" |
||||
|
:disabled="!checkPermission(['AbpTenantManagement.Tenants.ManageConnectionStrings'])" |
||||
|
> |
||||
|
{{ $t('tenant.connectionOptions') }} |
||||
|
</el-dropdown-item> |
||||
|
<el-dropdown-item |
||||
|
divided |
||||
|
:command="{key: 'delete', row}" |
||||
|
:disabled="!checkPermission(['AbpTenantManagement.Tenants.Delete'])" |
||||
|
> |
||||
|
{{ $t('tenant.deleteTenant') }} |
||||
|
</el-dropdown-item> |
||||
|
</el-dropdown-menu> |
||||
|
</el-dropdown> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<Pagination |
||||
|
v-show="tenantListCount>0" |
||||
|
:total="tenantListCount" |
||||
|
:page.sync="tenantGetPagedFilter.skipCount" |
||||
|
:limit.sync="tenantGetPagedFilter.maxResultCount" |
||||
|
@pagination="handleGetTenants" |
||||
|
@sort-change="handleSortChange" |
||||
|
/> |
||||
|
|
||||
|
<el-dialog |
||||
|
v-el-draggable-dialog |
||||
|
width="800px" |
||||
|
:visible.sync="showCreateOrEditTenantDialog" |
||||
|
:title="$t('tenant.updateTenant')" |
||||
|
custom-class="modal-form" |
||||
|
:show-close="false" |
||||
|
@closed="handleCreateOrEditTenantFormClosed" |
||||
|
> |
||||
|
<TenantCreateOrEditForm |
||||
|
ref="formCreateOrEditTenant" |
||||
|
:tenant-id="editTenantId" |
||||
|
@closed="handleCreateOrEditTenantFormClosed" |
||||
|
/> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<el-dialog |
||||
|
v-el-draggable-dialog |
||||
|
width="800px" |
||||
|
:visible.sync="showEditTenantConnectionDialog" |
||||
|
:title="$t('tenant.connectionOptions')" |
||||
|
custom-class="modal-form" |
||||
|
:show-close="false" |
||||
|
@closed="handleTenantConnectionEditFormClosed" |
||||
|
> |
||||
|
<TenantEditConnectionForm |
||||
|
ref="formEditTenantConnection" |
||||
|
:tenant-id="editTenantId" |
||||
|
@closed="handleTenantConnectionEditFormClosed" |
||||
|
/> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
<script lang="ts"> |
<script lang="ts"> |
||||
|
import { Component, Vue } from 'vue-property-decorator' |
||||
|
import TenantService, { TenantDto, TenantGetByPaged } from '@/api/tenant' |
||||
|
import { dateFormat } from '@/utils/index' |
||||
|
import { checkPermission } from '@/utils/permission' |
||||
|
import Pagination from '@/components/Pagination/index.vue' |
||||
|
import TenantCreateOrEditForm from './components/TenantCreateOrEditForm.vue' |
||||
|
import TenantEditConnectionForm from './components/TenantEditConnectionForm.vue' |
||||
|
|
||||
|
@Component({ |
||||
|
name: 'RoleList', |
||||
|
components: { |
||||
|
Pagination, |
||||
|
TenantCreateOrEditForm, |
||||
|
TenantEditConnectionForm |
||||
|
}, |
||||
|
methods: { |
||||
|
checkPermission |
||||
|
}, |
||||
|
filters: { |
||||
|
datetimeFilter(val: string) { |
||||
|
const date = new Date(val) |
||||
|
return dateFormat(date, 'YYYY-mm-dd HH:MM') |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
export default class extends Vue { |
||||
|
private editTenantId: string |
||||
|
private tenantList: TenantDto[] |
||||
|
private tenantListCount: number |
||||
|
private tenantListLoading: boolean |
||||
|
private tenantGetPagedFilter: TenantGetByPaged |
||||
|
|
||||
|
private showEditTenantConnectionDialog: boolean |
||||
|
private showCreateOrEditTenantDialog: boolean |
||||
|
|
||||
|
constructor() { |
||||
|
super() |
||||
|
this.editTenantId = '' |
||||
|
this.tenantListCount = 0 |
||||
|
this.tenantListLoading = false |
||||
|
this.tenantList = new Array<TenantDto>() |
||||
|
this.tenantGetPagedFilter = new TenantGetByPaged() |
||||
|
|
||||
|
this.showCreateOrEditTenantDialog = false |
||||
|
this.showEditTenantConnectionDialog = false |
||||
|
} |
||||
|
|
||||
|
mounted() { |
||||
|
this.handleGetTenants() |
||||
|
} |
||||
|
|
||||
|
private handleGetTenants() { |
||||
|
this.tenantListLoading = true |
||||
|
TenantService.getTenants(this.tenantGetPagedFilter).then(tenants => { |
||||
|
this.tenantList = tenants.items |
||||
|
this.tenantListCount = tenants.totalCount |
||||
|
this.tenantListLoading = false |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
private handleCommand(command: {key: string, row: TenantDto}) { |
||||
|
switch (command.key) { |
||||
|
case 'connection' : |
||||
|
this.editTenantId = command.row.id |
||||
|
this.showEditTenantConnectionDialog = true |
||||
|
break |
||||
|
case 'delete' : |
||||
|
this.handleDeleteTenant(command.row.id, command.row.name) |
||||
|
break |
||||
|
default: break |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private handleShowCreateOrEditTenantDialog(id: string) { |
||||
|
this.editTenantId = id |
||||
|
this.showCreateOrEditTenantDialog = true |
||||
|
} |
||||
|
|
||||
|
private handleDeleteTenant(id: string, name: string) { |
||||
|
this.$confirm(this.l('tenant.deleteTenantByName', { name: name }), |
||||
|
this.l('tenant.deleteTenant'), { |
||||
|
callback: (action) => { |
||||
|
if (action === 'confirm') { |
||||
|
TenantService.deleteTenant(id).then(() => { |
||||
|
this.$message.success(this.l('tenant.deleteTenantSuccess', { name: name })) |
||||
|
this.handleGetTenants() |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
private handleTenantConnectionEditFormClosed(changed: boolean) { |
||||
|
this.showEditTenantConnectionDialog = false |
||||
|
this.editTenantId = '' |
||||
|
if (changed) { |
||||
|
this.handleGetTenants() |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private handleCreateOrEditTenantFormClosed(changed: boolean) { |
||||
|
this.showCreateOrEditTenantDialog = false |
||||
|
this.editTenantId = '' |
||||
|
if (changed) { |
||||
|
this.handleGetTenants() |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private handleSortChange(column: any) { |
||||
|
this.tenantGetPagedFilter.sorting = column.prop |
||||
|
} |
||||
|
|
||||
|
private l(name: string, values?: any[] | { [key: string]: any }) { |
||||
|
return this.$t(name, values).toString() |
||||
|
} |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.options { |
||||
|
vertical-align: top; |
||||
|
margin-left: 20px; |
||||
|
} |
||||
|
.el-dropdown + .el-dropdown { |
||||
|
margin-left: 15px; |
||||
|
} |
||||
|
.el-icon-arrow-down { |
||||
|
font-size: 12px; |
||||
|
} |
||||
|
</style> |
||||
|
|||||
Loading…
Reference in new issue