14 changed files with 138 additions and 125 deletions
@ -1,50 +1,24 @@ |
|||
using LINGYUN.Abp.WeChat.MiniProgram.Settings; |
|||
using Microsoft.Extensions.Options; |
|||
using System.Collections.Generic; |
|||
using Microsoft.Extensions.Options; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Options; |
|||
using Volo.Abp.Settings; |
|||
using Volo.Abp.Threading; |
|||
using Volo.Abp.DependencyInjection; |
|||
|
|||
namespace LINGYUN.Abp.WeChat.MiniProgram |
|||
{ |
|||
public class AbpWeChatMiniProgramOptionsFactory : AbpOptionsFactory<AbpWeChatMiniProgramOptions> |
|||
public class AbpWeChatMiniProgramOptionsFactory : ITransientDependency |
|||
{ |
|||
protected ISettingProvider SettingProvider { get; } |
|||
public AbpWeChatMiniProgramOptionsFactory( |
|||
ISettingProvider settingProvider, |
|||
IEnumerable<IConfigureOptions<AbpWeChatMiniProgramOptions>> setups, |
|||
IEnumerable<IPostConfigureOptions<AbpWeChatMiniProgramOptions>> postConfigures) |
|||
: base(setups, postConfigures) |
|||
{ |
|||
SettingProvider = settingProvider; |
|||
} |
|||
|
|||
public override AbpWeChatMiniProgramOptions Create(string name) |
|||
{ |
|||
var options = base.Create(name); |
|||
protected IOptions<AbpWeChatMiniProgramOptions> Options { get; } |
|||
|
|||
OverrideOptions(options); |
|||
|
|||
return options; |
|||
} |
|||
|
|||
protected virtual void OverrideOptions(AbpWeChatMiniProgramOptions options) |
|||
public AbpWeChatMiniProgramOptionsFactory( |
|||
IOptions<AbpWeChatMiniProgramOptions> options) |
|||
{ |
|||
AsyncHelper.RunSync(() => OverrideOptionsAsync(options)); |
|||
Options = options; |
|||
} |
|||
|
|||
protected virtual async Task OverrideOptionsAsync(AbpWeChatMiniProgramOptions options) |
|||
public virtual async Task<AbpWeChatMiniProgramOptions> CreateAsync() |
|||
{ |
|||
var appId = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.AppId); |
|||
var appSecret = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.AppSecret); |
|||
var token = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.Token); |
|||
var aesKey = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.EncodingAESKey); |
|||
await Options.SetAsync(); |
|||
|
|||
options.AppId = appId ?? options.AppId; |
|||
options.AppSecret = appSecret ?? options.AppSecret; |
|||
options.Token = token ?? options.Token; |
|||
options.EncodingAESKey = aesKey ?? options.EncodingAESKey; |
|||
return Options.Value; |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,34 @@ |
|||
using LINGYUN.Abp.WeChat.MiniProgram.Settings; |
|||
using Microsoft.Extensions.Options; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Options; |
|||
using Volo.Abp.Settings; |
|||
|
|||
namespace LINGYUN.Abp.WeChat.MiniProgram |
|||
{ |
|||
public class AbpWeChatMiniProgramOptionsManager : AbpDynamicOptionsManager<AbpWeChatMiniProgramOptions> |
|||
{ |
|||
protected ISettingProvider SettingProvider { get; } |
|||
|
|||
public AbpWeChatMiniProgramOptionsManager( |
|||
ISettingProvider settingProvider, |
|||
IOptionsFactory<AbpWeChatMiniProgramOptions> factory) |
|||
: base(factory) |
|||
{ |
|||
SettingProvider = settingProvider; |
|||
} |
|||
|
|||
protected override async Task OverrideOptionsAsync(string name, AbpWeChatMiniProgramOptions options) |
|||
{ |
|||
var appId = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.AppId); |
|||
var appSecret = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.AppSecret); |
|||
var token = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.Token); |
|||
var aesKey = await SettingProvider.GetOrNullAsync(WeChatMiniProgramSettingNames.EncodingAESKey); |
|||
|
|||
options.AppId = appId ?? options.AppId; |
|||
options.AppSecret = appSecret ?? options.AppSecret; |
|||
options.Token = token ?? options.Token; |
|||
options.EncodingAESKey = aesKey ?? options.EncodingAESKey; |
|||
} |
|||
} |
|||
} |
|||
@ -1,52 +1,24 @@ |
|||
using LINGYUN.Abp.WeChat.Official.Settings; |
|||
using Microsoft.Extensions.Options; |
|||
using System.Collections.Generic; |
|||
using Microsoft.Extensions.Options; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Options; |
|||
using Volo.Abp.Settings; |
|||
using Volo.Abp.Threading; |
|||
using Volo.Abp.DependencyInjection; |
|||
|
|||
namespace LINGYUN.Abp.WeChat.Official |
|||
{ |
|||
public class AbpWeChatOfficialOptionsFactory : AbpOptionsFactory<AbpWeChatOfficialOptions> |
|||
public class AbpWeChatOfficialOptionsFactory : ITransientDependency |
|||
{ |
|||
protected ISettingProvider SettingProvider { get; } |
|||
public AbpWeChatOfficialOptionsFactory( |
|||
ISettingProvider settingProvider, |
|||
IEnumerable<IConfigureOptions<AbpWeChatOfficialOptions>> setups, |
|||
IEnumerable<IPostConfigureOptions<AbpWeChatOfficialOptions>> postConfigures) |
|||
: base(setups, postConfigures) |
|||
{ |
|||
SettingProvider = settingProvider; |
|||
} |
|||
|
|||
public override AbpWeChatOfficialOptions Create(string name) |
|||
{ |
|||
var options = base.Create(name); |
|||
protected IOptions<AbpWeChatOfficialOptions> Options { get; } |
|||
|
|||
OverrideOptions(options); |
|||
|
|||
return options; |
|||
} |
|||
|
|||
protected virtual void OverrideOptions(AbpWeChatOfficialOptions options) |
|||
public AbpWeChatOfficialOptionsFactory( |
|||
IOptions<AbpWeChatOfficialOptions> options) |
|||
{ |
|||
AsyncHelper.RunSync(() => OverrideOptionsAsync(options)); |
|||
Options = options; |
|||
} |
|||
|
|||
protected virtual async Task OverrideOptionsAsync(AbpWeChatOfficialOptions options) |
|||
public virtual async Task<AbpWeChatOfficialOptions> CreateAsync() |
|||
{ |
|||
var appId = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.AppId); |
|||
var appSecret = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.AppSecret); |
|||
var url = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.Url); |
|||
var token = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.Token); |
|||
var aesKey = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.EncodingAESKey); |
|||
await Options.SetAsync(); |
|||
|
|||
options.AppId = appId ?? options.AppId; |
|||
options.AppSecret = appSecret ?? options.AppSecret; |
|||
options.Url = url ?? options.Url; |
|||
options.Token = token ?? options.Token; |
|||
options.EncodingAESKey = aesKey ?? options.EncodingAESKey; |
|||
return Options.Value; |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,35 @@ |
|||
using LINGYUN.Abp.WeChat.Official.Settings; |
|||
using Microsoft.Extensions.Options; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Options; |
|||
using Volo.Abp.Settings; |
|||
|
|||
namespace LINGYUN.Abp.WeChat.Official |
|||
{ |
|||
public class AbpWeChatOfficialOptionsManager : AbpDynamicOptionsManager<AbpWeChatOfficialOptions> |
|||
{ |
|||
protected ISettingProvider SettingProvider { get; } |
|||
public AbpWeChatOfficialOptionsManager( |
|||
ISettingProvider settingProvider, |
|||
IOptionsFactory<AbpWeChatOfficialOptions> factory) |
|||
: base(factory) |
|||
{ |
|||
SettingProvider = settingProvider; |
|||
} |
|||
|
|||
protected override async Task OverrideOptionsAsync(string name, AbpWeChatOfficialOptions options) |
|||
{ |
|||
var appId = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.AppId); |
|||
var appSecret = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.AppSecret); |
|||
var url = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.Url); |
|||
var token = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.Token); |
|||
var aesKey = await SettingProvider.GetOrNullAsync(WeChatOfficialSettingNames.EncodingAESKey); |
|||
|
|||
options.AppId = appId ?? options.AppId; |
|||
options.AppSecret = appSecret ?? options.AppSecret; |
|||
options.Url = url ?? options.Url; |
|||
options.Token = token ?? options.Token; |
|||
options.EncodingAESKey = aesKey ?? options.EncodingAESKey; |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue