Exemplo n.º 1
0
        /// <summary>
        /// 开始运行
        /// </summary>
        public static void StartRun()
        {
            using (var serviceScope = RayContainer.Root.CreateScope())
            {
                var logger = serviceScope.ServiceProvider.GetRequiredService <ILogger <Program> >();

                logger.LogInformation("版本号:{version}", typeof(Program).Assembly.GetCustomAttribute <AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "未知");
                logger.LogInformation("开源地址:{url} \r\n", Constants.SourceCodeUrl);

                BiliBiliCookieOptions biliBiliCookieOptions = serviceScope.ServiceProvider.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue;
                if (!biliBiliCookieOptions.Check(logger))
                {
                    throw new Exception($"请正确配置Cookie后再运行,配置方式见 {Constants.SourceCodeUrl}");
                }

                IDailyTaskAppService dailyTask = serviceScope.ServiceProvider.GetRequiredService <IDailyTaskAppService>();
                var pushService = serviceScope.ServiceProvider.GetRequiredService <PushService>();

                try
                {
                    dailyTask.DoDailyTask();
                }
                catch
                {
                    pushService.SendStringWriter();
                    throw;
                }

                pushService.SendStringWriter();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 开始运行
        /// </summary>
        private static void StartRun()
        {
            using IServiceScope serviceScope = Global.ServiceProviderRoot.CreateScope();
            IServiceProvider di = serviceScope.ServiceProvider;

            ILogger <Program> logger = di.GetRequiredService <ILogger <Program> >();

            LogAppInfo(logger);

            BiliBiliCookieOptions biliBiliCookieOptions = di.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue;

            biliBiliCookieOptions.Check(logger);//todo:使用配置检查

            IDailyTaskAppService dailyTask = di.GetRequiredService <IDailyTaskAppService>();

            try
            {
                dailyTask.DoDailyTask();
            }
            catch (Exception ex)
            {
                logger.LogError("程序异常终止,原因:{msg}", ex.Message);
            }
            finally
            {
                logger.LogInformation("开始推送");
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 开始运行
        /// </summary>
        public static void StartRun()
        {
            using (var serviceScope = RayContainer.Root.CreateScope())
            {
                var logger = serviceScope.ServiceProvider.GetRequiredService <ILogger <Program> >();

                BiliBiliCookieOptions biliBiliCookieOptions = serviceScope.ServiceProvider.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue;
                if (!biliBiliCookieOptions.Check(logger))
                {
                    throw new Exception("请正确配置Cookie后再运行,配置方式见 https://github.com/RayWangQvQ/BiliBiliTool");
                }

                IDailyTaskAppService dailyTask = serviceScope.ServiceProvider.GetRequiredService <IDailyTaskAppService>();
                var  pushService = serviceScope.ServiceProvider.GetRequiredService <PushService>();
                bool isPushed    = false;

                try
                {
                    dailyTask.DoDailyTask();
                }
                catch
                {
                    pushService.SendStringWriter();
                    isPushed = true;
                }

                if (!isPushed)
                {
                    pushService.SendStringWriter();
                }
            }
        }
Exemplo n.º 4
0
 public AccountDomainService(ILogger <AccountDomainService> logger,
                             IDailyTaskApi dailyTaskApi,
                             IOptionsMonitor <BiliBiliCookieOptions> cookie)
 {
     _logger       = logger;
     _dailyTaskApi = dailyTaskApi;
     _cookie       = cookie.CurrentValue;
 }
Exemplo n.º 5
0
 public ChargeDomainService(ILogger <ChargeDomainService> logger,
                            IOptionsMonitor <DailyTaskOptions> dailyTaskOptions,
                            IDailyTaskApi dailyTaskApi,
                            IOptionsMonitor <BiliBiliCookieOptions> cookieOptions)
 {
     _logger           = logger;
     _dailyTaskOptions = dailyTaskOptions.CurrentValue;
     _dailyTaskApi     = dailyTaskApi;
     _cookieOptions    = cookieOptions.CurrentValue;
 }
 public AccountDomainService(ILogger <AccountDomainService> logger,
                             IDailyTaskApi dailyTaskApi,
                             IOptionsMonitor <BiliBiliCookieOptions> cookie,
                             IOptionsMonitor <Dictionary <string, int> > dicOptions)
 {
     _logger       = logger;
     _dailyTaskApi = dailyTaskApi;
     _cookie       = cookie.CurrentValue;
     _expDic       = dicOptions.Get(Constants.OptionsNames.ExpDictionaryName);
 }
Exemplo n.º 7
0
 public CoinDomainService(ILogger <CoinDomainService> logger,
                          IHttpClientFactory httpClientFactory,
                          IOptionsMonitor <BiliBiliCookieOptions> biliBiliCookieOptions,
                          IAccountApi accountApi)
 {
     _logger                = logger;
     _httpClientFactory     = httpClientFactory;
     _biliBiliCookieOptions = biliBiliCookieOptions.CurrentValue;
     _accountApi            = accountApi;
 }
 public VipPrivilegeDomainService(ILogger <VipPrivilegeDomainService> logger,
                                  IDailyTaskApi dailyTaskApi,
                                  IOptionsMonitor <BiliBiliCookieOptions> biliBiliCookieOptions,
                                  IOptionsMonitor <DailyTaskOptions> dailyTaskOptions)
 {
     _logger                = logger;
     _dailyTaskApi          = dailyTaskApi;
     _dailyTaskOptions      = dailyTaskOptions.CurrentValue;
     _biliBiliCookieOptions = biliBiliCookieOptions.CurrentValue;
 }
Exemplo n.º 9
0
        public BiliCookie(ILogger <BiliCookie> logger,
                          IOptionsMonitor <BiliBiliCookieOptions> optionsMonitor,
                          IConfiguration configuration) : base(optionsMonitor.CurrentValue.CookieStr)
        {
            _logger        = logger;
            _configuration = configuration;
            _options       = optionsMonitor.CurrentValue;

            CookieStr    = _options.CookieStr ?? "";
            UserId       = _options.UserId ?? "";
            BiliJct      = _options.BiliJct ?? "";
            SessData     = _options.SessData ?? "";
            OtherCookies = _options.OtherCookies ?? "";

            if (_options.DedeUserID.IsNotNullOrEmpty())
            {
                UserId = _options.DedeUserID;
            }
            if (_options.Bili_jct.IsNotNullOrEmpty())
            {
                BiliJct = _options.Bili_jct;
            }

            if (CookieStr.IsNotNullOrEmpty())
            {
                foreach (var str in CookieStr.Split(';'))
                {
                    if (str.IsNullOrEmpty())
                    {
                        continue;
                    }
                    var list = str.Split('=').ToList();
                    if (list.Count >= 2)
                    {
                        CookieDictionary[list[0].Trim()] = list[1].Trim();
                    }
                }
            }

            if (CookieDictionary.TryGetValue(GetPropertyDescription(nameof(UserId)), out string userId))
            {
                UserId = userId;
            }
            if (CookieDictionary.TryGetValue(GetPropertyDescription(nameof(BiliJct)), out string jct))
            {
                BiliJct = jct;
            }
            if (CookieDictionary.TryGetValue(GetPropertyDescription(nameof(SessData)), out string sess))
            {
                SessData = sess;
            }

            Check();
        }
Exemplo n.º 10
0
 public VideoDomainService(ILogger <VideoDomainService> logger,
                           IDailyTaskApi dailyTaskApi,
                           IOptionsMonitor <BiliBiliCookieOptions> biliBiliCookieOptions,
                           IOptionsMonitor <DailyTaskOptions> dailyTaskOptions,
                           IRelationApi relationApi)
 {
     _logger                = logger;
     _dailyTaskApi          = dailyTaskApi;
     _relationApi           = relationApi;
     _biliBiliCookieOptions = biliBiliCookieOptions.CurrentValue;
     _dailyTaskOptions      = dailyTaskOptions.CurrentValue;
 }
Exemplo n.º 11
0
 public VideoDomainService(ILogger <VideoDomainService> logger,
                           IDailyTaskApi dailyTaskApi,
                           IOptionsMonitor <BiliBiliCookieOptions> biliBiliCookieOptions,
                           IOptionsMonitor <DailyTaskOptions> dailyTaskOptions,
                           IOptionsMonitor <Dictionary <string, int> > dicOptions,
                           IRelationApi relationApi)
 {
     _logger                = logger;
     _dailyTaskApi          = dailyTaskApi;
     _relationApi           = relationApi;
     _biliBiliCookieOptions = biliBiliCookieOptions.CurrentValue;
     _expDic                = dicOptions.Get(Constants.OptionsNames.ExpDictionaryName);
     _dailyTaskOptions      = dailyTaskOptions.CurrentValue;
 }
Exemplo n.º 12
0
 public VideoDomainService(ILogger <VideoDomainService> logger,
                           IDailyTaskApi dailyTaskApi,
                           IOptionsMonitor <BiliBiliCookieOptions> biliBiliCookieOptions,
                           IOptionsMonitor <DailyTaskOptions> dailyTaskOptions,
                           IAccountApi accountApi,
                           ICoinDomainService coinDomainService)
 {
     _logger                = logger;
     _dailyTaskApi          = dailyTaskApi;
     _biliBiliCookieOptions = biliBiliCookieOptions.CurrentValue;
     _dailyTaskOptions      = dailyTaskOptions.CurrentValue;
     _accountApi            = accountApi;
     _coinDomainService     = coinDomainService;
 }
 public DonateCoinDomainService(ILogger <DonateCoinDomainService> logger,
                                IDailyTaskApi dailyTaskApi,
                                IOptionsMonitor <BiliBiliCookieOptions> cookieOptions,
                                IOptionsMonitor <DailyTaskOptions> dailyTaskOptions,
                                IAccountApi accountApi,
                                ICoinDomainService coinDomainService,
                                IVideoDomainService videoDomainService,
                                IRelationApi relationApi)
 {
     _logger                = logger;
     _dailyTaskApi          = dailyTaskApi;
     _biliBiliCookieOptions = cookieOptions.CurrentValue;
     _dailyTaskOptions      = dailyTaskOptions.CurrentValue;
     _accountApi            = accountApi;
     _coinDomainService     = coinDomainService;
     _videoDomainService    = videoDomainService;
     _relationApi           = relationApi;
 }
Exemplo n.º 14
0
        /// <summary>
        /// 开始运行
        /// </summary>
        public static void StartRun()
        {
            using IServiceScope serviceScope = RayContainer.Root.CreateScope();

            //初始化DI相关的部分
            IServiceProvider di = serviceScope.ServiceProvider;

            RayContainer.SetGetServiceFunc(type => di.GetService(type));

            ILogger <Program> logger = di.GetRequiredService <ILogger <Program> >();

            logger.LogInformation(
                "版本号:{version}",
                typeof(Program).Assembly.GetCustomAttribute <AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "未知");
            logger.LogInformation("开源地址:{url} \r\n", Constants.SourceCodeUrl);
            logger.LogInformation("当前环境:{env} \r\n", RayConfiguration.Env ?? "无");

            BiliBiliCookieOptions biliBiliCookieOptions = di.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue;

            if (!biliBiliCookieOptions.Check(logger))
            {
                throw new Exception($"请正确配置Cookie后再运行,配置方式见 {Constants.SourceCodeUrl}");
            }

            IDailyTaskAppService dailyTask   = di.GetRequiredService <IDailyTaskAppService>();
            PushService          pushService = di.GetRequiredService <PushService>();

            try
            {
                dailyTask.DoDailyTask();
            }
            catch
            {
                pushService.SendStringWriter();
                throw;
            }

            pushService.SendStringWriter();
        }
 public DonateCoinDomainService(ILogger <DonateCoinDomainService> logger,
                                IDailyTaskApi dailyTaskApi,
                                IOptionsMonitor <BiliBiliCookieOptions> cookieOptions,
                                IOptionsMonitor <DailyTaskOptions> dailyTaskOptions,
                                IAccountApi accountApi,
                                ICoinDomainService coinDomainService,
                                IVideoDomainService videoDomainService,
                                IRelationApi relationApi,
                                IOptionsMonitor <Dictionary <string, int> > expDicOptions,
                                IOptionsMonitor <Dictionary <string, string> > donateContinueStatusDicOptions
                                )
 {
     _logger                  = logger;
     _dailyTaskApi            = dailyTaskApi;
     _biliBiliCookieOptions   = cookieOptions.CurrentValue;
     _dailyTaskOptions        = dailyTaskOptions.CurrentValue;
     _accountApi              = accountApi;
     _coinDomainService       = coinDomainService;
     _videoDomainService      = videoDomainService;
     _relationApi             = relationApi;
     _expDic                  = expDicOptions.Get(Constants.OptionsNames.ExpDictionaryName);
     _donateContinueStatusDic = donateContinueStatusDicOptions.Get(Constants.OptionsNames.DonateCoinCanContinueStatusDictionaryName);
 }