EasyNotice
EasyNotice copied to clipboard
建议改进 UseDingTalk、UseWeixin中,传入配置的方式
目前在使用 UseDingTalk时,只能从配置文件中读取配置,没法使用IServiceProvider 获取数据访问服务,从数据库中查询配置信息,建议改进UseDingTalk的参数,如下:
public static EasyNoticeOptions UseDingTalk(
this EasyNoticeOptions options,
Action<DingtalkOptions, IServiceProvider> configure
)
将configure的参数增加一个 IServiceProvider,有了它,可以实现从任何服务中加载配置信息,例如从数据库中、从网络源等,不再是局限于配置文件
config.UseDingTalk((option, serviceProvider) =>
{
//从数据库中加载配置信息
var context = serviceProvider.GetRequiredService<DbContext>();
var entity = context.Db.Queryable<Config>().First(it => it.Id == 1);
option.WebHook = entity.DingTalkWebHook;
option.Secret = entity.DingTalkSecret;
});