public void DoDailyTask()
        {
            if (_securityOptions.IsSkipDailyTask)
            {
                _logger.LogWarning("已配置为跳过每日任务\r\n");
                return;
            }

            _logger.LogInformation("-----开始每日任务-----\r\n");

            UserInfo      userInfo      = Login();
            DailyTaskInfo dailyTaskInfo = GetDailyTaskStatus();

            WatchAndShareVideo(dailyTaskInfo);
            AddCoinsForVideo();
            MangaSign();
            LiveSign();
            ExchangeSilver2Coin();

            ReceiveVipPrivilege(ref userInfo);
            ReceiveMangaVipReward(userInfo);
            Charge(userInfo);

            _logger.LogInformation("-----全部任务已执行结束-----\r\n");
        }
        public void WatchAndShareVideo(DailyTaskInfo dailyTaskStatus)
        {
            Tuple <string, string> targetVideo = null;

            if (!dailyTaskStatus.Watch || !dailyTaskStatus.Share)
            {
                targetVideo = GetRandomVideoForWatchAndShare();
                _logger.LogInformation("获取随机视频:{title}", targetVideo.Item2);
            }

            if (!dailyTaskStatus.Watch)
            {
                WatchVideo(targetVideo.Item1, targetVideo.Item2);
            }
            else
            {
                _logger.LogInformation("今天已经观看过了,不需要再看啦");
            }

            if (!dailyTaskStatus.Share)
            {
                ShareVideo(targetVideo.Item1, targetVideo.Item2);
            }
            else
            {
                _logger.LogInformation("今天已经分享过了,不要再分享啦");
            }
        }
Exemple #3
0
        public void WatchAndShareVideo(DailyTaskInfo dailyTaskStatus)
        {
            VideoInfoDto targetVideo = null;

            if (!dailyTaskStatus.Watch || !dailyTaskStatus.Share)
            {
                targetVideo = GetRandomVideoForWatchAndShare();
                _logger.LogInformation("获取随机视频:{title}", targetVideo.Title);
            }

            if (!dailyTaskStatus.Watch && _dailyTaskOptions.IsWatchVideo)
            {
                WatchVideo(targetVideo);
            }
            else
            {
                _logger.LogInformation("今天已经观看过了,不需要再看啦");
            }

            if (!dailyTaskStatus.Share && _dailyTaskOptions.IsShareVideo)
            {
                ShareVideo(targetVideo);
            }
            else
            {
                _logger.LogInformation("今天已经分享过了,不用再分享啦");
            }
        }
Exemple #4
0
        public void DoDailyTask()
        {
            if (_securityOptions.IsSkipDailyTask)
            {
                _logger.LogWarning("已配置为跳过每日任务\r\n");
                return;
            }

            _logger.LogInformation("-----开始每日任务-----\r\n");

            if (_securityOptions.RandomSleepMaxMin > 0)
            {
                int randomMin = new Random().Next(1, ++_securityOptions.RandomSleepMaxMin);
                _logger.LogInformation("随机休眠{min}分钟 \r\n", randomMin);
                Thread.Sleep(randomMin * 1000 * 60);
            }

            UserInfo      userInfo      = Login();
            DailyTaskInfo dailyTaskInfo = GetDailyTaskStatus();

            WatchAndShareVideo(dailyTaskInfo);
            AddCoinsForVideo();
            MangaSign();
            LiveSign();
            ExchangeSilver2Coin();

            ReceiveVipPrivilege(ref userInfo);
            ReceiveMangaVipReward(userInfo);
            Charge(userInfo);

            _logger.LogInformation("-----全部任务已执行结束-----\r\n");
        }
 private void WatchAndShareVideo(DailyTaskInfo dailyTaskInfo)
 {
     if (!_dailyTaskOptions.IsWatchVideo && !_dailyTaskOptions.IsShareVideo)
     {
         _logger.LogInformation("已配置为关闭,跳过任务");
         return;
     }
     _videoDomainService.WatchAndShareVideo(dailyTaskInfo);
 }
Exemple #6
0
        public void WatchAndShareVideo(DailyTaskInfo dailyTaskStatus)
        {
            VideoInfoDto targetVideo = null;

            //至少有一项未完成,获取视频
            if (!dailyTaskStatus.Watch || !dailyTaskStatus.Share)
            {
                targetVideo = GetRandomVideoForWatchAndShare();
                _logger.LogInformation("【随机视频】{title}", targetVideo.Title);
            }

            bool watched = false;

            //观看
            if (!dailyTaskStatus.Watch && _dailyTaskOptions.IsWatchVideo)
            {
                WatchVideo(targetVideo);
                watched = true;
            }
            else
            {
                _logger.LogInformation("今天已经观看过了,不需要再看啦");
            }

            //分享
            if (!dailyTaskStatus.Share && _dailyTaskOptions.IsShareVideo)
            {
                //如果没有打开观看过,则分享前先打开视频
                if (!watched)
                {
                    try
                    {
                        OpenVideo(targetVideo);
                    }
                    catch (Exception e)
                    {
                        //ignore
                        _logger.LogError("打开视频异常:{msg}", e.Message);
                    }
                }
                ShareVideo(targetVideo);
            }
            else
            {
                _logger.LogInformation("今天已经分享过了,不用再分享啦");
            }
        }
Exemple #7
0
        public override void DoTask()
        {
            _logger.LogInformation("-----开始每日任务-----\r\n");

            UserInfo      userInfo      = Login();
            DailyTaskInfo dailyTaskInfo = GetDailyTaskStatus();

            WatchAndShareVideo(dailyTaskInfo);
            AddCoinsForVideo();
            MangaSign();
            LiveSign();
            ExchangeSilver2Coin();

            ReceiveVipPrivilege(ref userInfo);
            ReceiveMangaVipReward(userInfo);
            Charge(userInfo);

            _logger.LogInformation("-----每日任务全部已执行结束-----\r\n");
        }
        /// <summary>
        /// 获取每日任务完成情况
        /// </summary>
        /// <returns></returns>
        public DailyTaskInfo GetDailyTaskStatus()
        {
            var result      = new DailyTaskInfo();
            var apiResponse = _dailyTaskApi.GetDailyTaskRewardInfo().Result;

            if (apiResponse.Code == 0)
            {
                //_logger.LogInformation("请求本日任务完成状态成功");
                result = apiResponse.Data;
            }
            else
            {
                _logger.LogWarning("获取今日任务完成状态失败:{result}", JsonSerializer.Serialize(apiResponse));
                result = _dailyTaskApi.GetDailyTaskRewardInfo().Result.Data;
                //todo:偶发性请求失败,再请求一次,这么写很丑陋,待用polly再框架层面实现
            }

            return(result);
        }
        public override void DoTask()
        {
            //每日任务赚经验:
            UserInfo      userInfo      = Login();
            DailyTaskInfo dailyTaskInfo = GetDailyTaskStatus();

            WatchAndShareVideo(dailyTaskInfo);
            AddCoinsForVideo();

            //签到:
            LiveSign();
            MangaSign();

            ExchangeSilver2Coin();

            //领福利:
            ReceiveVipPrivilege(ref userInfo);
            ReceiveMangaVipReward(userInfo);

            Charge(userInfo);
        }
Exemple #10
0
 private void WatchAndShareVideo(DailyTaskInfo dailyTaskInfo)
 {
     _videoDomainService.WatchAndShareVideo(dailyTaskInfo);
 }