private static SmartWeChatOptions CheckOptions(SmartWeChatOptions options) { if (string.IsNullOrEmpty(options.Host)) { options.Host = "https://api.weixin.qq.com"; } if (string.IsNullOrEmpty(options.AppId)) { throw new SmartWeChatException("app id not found"); } if (string.IsNullOrEmpty(options.AppSecret)) { throw new SmartWeChatException("app secret not found"); } if (options.UsePassiveMessageProcessor && string.IsNullOrEmpty(options.ReceiveToken)) { throw new SmartWeChatException("Passive Message Processor can not missing ReceiveToken"); } if (options.UsePassiveMessageProcessor && options.ReceiveMessageMode != ReceiveMessageMode.Clear && string.IsNullOrEmpty(options.AESKey)) { throw new SmartWeChatException("can not missing AESKey when use encrypt mode or compatibility mode"); } return(options); }
public TokenManager(ILogger <TokenManager> logger , SmartWeChatOptions options , DefaultRequest sRequest) { _logger = logger; _options = options; _request = sRequest; _memoryCache = new MemoryCache(new MemoryCacheOptions()); }
public SmartWeChatConfig(SmartWeChatOptions options, ILoggerFactory loggerFactory = null) { if (loggerFactory != null) { LoggerFactory = loggerFactory; } Options = CheckOptions(options); InitConfig(); }
public WXBizMsgCrypt(SmartWeChatOptions smartWeChatOptions) { if (string.IsNullOrEmpty(smartWeChatOptions.AppId)) { throw new SmartWeChatException("AppId Not Found"); } if (string.IsNullOrEmpty(smartWeChatOptions.AESKey)) { throw new SmartWeChatException("AESKey Not Found"); } if (string.IsNullOrEmpty(smartWeChatOptions.ReceiveToken)) { throw new SmartWeChatException("Token Not Found"); } Token = smartWeChatOptions.ReceiveToken; EncodingAESKey = smartWeChatOptions.AESKey; AppId = smartWeChatOptions.AppId; }
public PassiveMessageProcessor(SmartWeChatOptions options, ILoggerFactory loggerFactory) { _options = options; _logger = loggerFactory.CreateLogger <PassiveMessageProcessor>(); }
public SmartWeChatRequest(SmartWeChatOptions options, ILoggerFactory loggerFactory = null) { SmartWeChatConfig = new SmartWeChatConfig(options, loggerFactory); }
private static void AddHttpClient(IServiceCollection services, SmartWeChatOptions setupOptions) { services.AddHttpClient("SmartWeChat", client => { client.BaseAddress = new Uri(setupOptions.Host); }); }
public static void AddSmartWeChat(this IServiceCollection services, SmartWeChatOptions setupOptions, ILoggerFactory loggerFactory = null) { services.AddSingleton(new SmartWeChatRequest(setupOptions, loggerFactory)); }
public SmartWeChatHttpClientFactory(SmartWeChatOptions options) { Host = options.Host; }