Browse Source

Merge pull request #321 from colinin/4.4

Fix the backlog of known problems
pull/364/head
yx lin 4 years ago
committed by GitHub
parent
commit
af85e9bffd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainer.cs
  2. 54
      aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/Features/WeChatMiniProgramFeatureDefinitionProvider.cs
  3. 30
      aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/Features/WeChatMiniProgramFeatures.cs
  4. 16
      aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/WeChatMiniProgramNotificationPublishProvider.cs

2
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainer.cs

@ -515,6 +515,8 @@ namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
blobPath = Path.Combine(blobPath, "tenants", CurrentTenant.Id.Value.ToString("D")); blobPath = Path.Combine(blobPath, "tenants", CurrentTenant.Id.Value.ToString("D"));
} }
// fix bug: 新租户可能无法检索不存在的目录,blob的根目录将自动创建
DirectoryHelper.CreateIfNotExists(blobPath);
if (fileSystemConfiguration.AppendContainerNameToBasePath && if (fileSystemConfiguration.AppendContainerNameToBasePath &&
!bucketName.IsNullOrWhiteSpace()) !bucketName.IsNullOrWhiteSpace())

54
aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/Features/WeChatMiniProgramFeatureDefinitionProvider.cs

@ -1,54 +0,0 @@
using LINGYUN.Abp.WeChat.Features;
using LINGYUN.Abp.WeChat.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;
namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram.Features
{
public class WeChatMiniProgramFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var wechatGroup = context.GetGroupOrNull(WeChatFeatures.GroupName);
if (wechatGroup != null)
{
var weappFeature = wechatGroup
.AddFeature(
WeChatMiniProgramFeatures.GroupName,
true.ToString(),
L("Features:MiniProgram"),
L("Features:MiniProgramDescription"),
new ToggleStringValueType(new BooleanValueValidator()));
var weappNofitication = weappFeature
.CreateChild(
WeChatMiniProgramFeatures.Notifications.Default,
true.ToString(),
L("Features:Notifications"),
L("Features:Notifications"),
new ToggleStringValueType(new BooleanValueValidator()));
weappNofitication
.CreateChild(
WeChatMiniProgramFeatures.Notifications.PublishLimit,
WeChatMiniProgramFeatures.Notifications.DefaultPublishLimit.ToString(),
L("Features:PublishLimit"),
L("Features:PublishLimitDescription"),
new ToggleStringValueType(new NumericValueValidator(0, 100000)));
weappNofitication
.CreateChild(
WeChatMiniProgramFeatures.Notifications.PublishLimitInterval,
WeChatMiniProgramFeatures.Notifications.DefaultPublishLimitInterval.ToString(),
L("Features:PublishLimitInterval"),
L("Features:PublishLimitIntervalDescription"),
new ToggleStringValueType(new NumericValueValidator(1, 12)));
}
}
protected LocalizableString L(string name)
{
return LocalizableString.Create<WeChatResource>(name);
}
}
}

30
aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/Features/WeChatMiniProgramFeatures.cs

@ -1,30 +0,0 @@
using LINGYUN.Abp.WeChat.Features;
namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram.Features
{
public static class WeChatMiniProgramFeatures
{
public const string GroupName = WeChatFeatures.GroupName + ".MiniProgram";
public static class Notifications
{
public const string Default = GroupName + ".Notifications";
/// <summary>
/// 发布次数上限
/// </summary>
public const string PublishLimit = Default + ".PublishLimit";
/// <summary>
/// 发布次数上限时长
/// </summary>
public const string PublishLimitInterval = Default + ".PublishLimitInterval";
/// <summary>
/// 默认发布次数上限
/// </summary>
public const int DefaultPublishLimit = 1000;
/// <summary>
/// 默认发布次数上限时长
/// </summary>
public const int DefaultPublishLimitInterval = 1;
}
}
}

16
aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/WeChatMiniProgramNotificationPublishProvider.cs

@ -1,5 +1,4 @@
using LINGYUN.Abp.Notifications.WeChat.MiniProgram.Features; using LINGYUN.Abp.WeChat.MiniProgram.Messages;
using LINGYUN.Abp.WeChat.MiniProgram.Messages;
using LINGYUN.Abp.WeChat.Security.Claims; using LINGYUN.Abp.WeChat.Security.Claims;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
@ -7,7 +6,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Features;
namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram
{ {
@ -18,9 +16,6 @@ namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram
{ {
public const string ProviderName = "WeChat.MiniProgram"; public const string ProviderName = "WeChat.MiniProgram";
public override string Name => ProviderName; public override string Name => ProviderName;
private IFeatureChecker _featureChecker;
protected IFeatureChecker FeatureChecker => LazyGetRequiredService(ref _featureChecker);
protected ISubscribeMessager SubscribeMessager { get; } protected ISubscribeMessager SubscribeMessager { get; }
protected AbpNotificationsWeChatMiniProgramOptions Options { get; } protected AbpNotificationsWeChatMiniProgramOptions Options { get; }
public WeChatMiniProgramNotificationPublishProvider( public WeChatMiniProgramNotificationPublishProvider(
@ -35,15 +30,6 @@ namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram
protected override async Task PublishAsync(NotificationInfo notification, IEnumerable<UserIdentifier> identifiers, CancellationToken cancellationToken = default) protected override async Task PublishAsync(NotificationInfo notification, IEnumerable<UserIdentifier> identifiers, CancellationToken cancellationToken = default)
{ {
// 先检测微信小程序的功能限制
var publishEnabled = await FeatureChecker.GetAsync(WeChatMiniProgramFeatures.Notifications.Default, false);
if (!publishEnabled)
{
return;
}
// step1 默认微信openid绑定的就是username, // step1 默认微信openid绑定的就是username,
// 如果不是,需要自行处理openid获取逻辑 // 如果不是,需要自行处理openid获取逻辑

Loading…
Cancel
Save