public async Task <IAimeSelectResponse> SelectAimeAsync(IAimeSelectRequest request)
        {
            var selectAimeContent = new FormUrlEncodedContent(new Dictionary <string, string>()
            {
                { "idx", request.AimeIndex.ToString() },
                { "token", token },
            });

            var   selectAime = client.PostAsync(ChunithmNetUrl.CreateUrl("aimeList/submit"), selectAimeContent);
            await selectAime;

            var   home = client.GetAsync(ChunithmNetUrl.CreateUrl("home"));
            await home;

            var response = new AimeSelectResponse(home.Result);

            return(response);
        }
        public async Task <IAimeSelectResponse> SelectAimeAsync(IAimeSelectRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (WebBrowserNavigator.WebBrowser.Url?.AbsoluteUri != ChunithmNetUrl.AimeList)
            {
                await WebBrowserNavigator.NavigateAsync(ChunithmNetUrl.AimeList);
            }

            var   select = WebBrowserNavigator.InvokeScriptAsync("formSubmit", new[] { $"aime_login_{request.AimeIndex}" });
            await select;

            var response = new AimeSelectResponse(WebBrowserNavigator.WebBrowser);

            return(response);
        }
示例#3
0
        public async Task <IAimeSelectResponse> SelectAimeAsync(IAimeSelectRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (WebBrowserNavigator.WebBrowser.Address != ChunithmNetUrl.AimeList)
            {
                await WebBrowserNavigator.LoadAsync(ChunithmNetUrl.AimeList);
            }

            await WebBrowserNavigator.EvaluatePageMoveScriptAsync($@"
formSubmit('aime_login_{request.AimeIndex}');
");

            var   responseAsync = AimeSelectResponse.CreateResponseAsync(WebBrowserNavigator.WebBrowser);
            await responseAsync;
            var   response = responseAsync.Result;

            return(response);
        }