1 00:00:02,190 --> 00:00:08,710 Teraz upewnijmy się, że możemy się również zalogować i do tego w kreatorze akcji auth, więc w folderze 2 00:00:08,710 --> 00:00:12,720 akcji sklepu w pliku auth możemy zduplikować kreatora akcji rejestracji, 3 00:00:12,930 --> 00:00:18,210 skopiować go i zmienić nazwę tej kopii, aby się zalogować, a to też będzie 4 00:00:18,220 --> 00:00:22,870 potrzebne e-mail i hasło, ale wyśle żądanie pod nieco inny adres URL. 5 00:00:22,870 --> 00:00:26,620 Jeśli rzucisz okiem na oficjalne dokumenty do logowania, to 6 00:00:26,620 --> 00:00:30,370 jest twój adres URL. Teraz może wyglądać prawie tak 7 00:00:30,490 --> 00:00:37,170 samo, ale tutaj różnica polega na tym, że należy zalogować się przy użyciu hasła zamiast rejestrować się po dwukropku konta. 8 00:00:37,170 --> 00:00:40,380 Właśnie to musimy zmienić, aby znów mieć prawidłowy adres 9 00:00:40,400 --> 00:00:46,110 URL, dlatego oczywiście możesz również pomyśleć o sposobach scalenia tej funkcji w jedną funkcję i ponownego użycia 10 00:00:46,110 --> 00:00:51,750 kodu. Pozwolę, że podzielę się tutaj, aby było naprawdę jasne, że tutaj mamy dwie oddzielne funkcje, 11 00:00:51,750 --> 00:00:57,940 a teraz wysyłamy zapytanie na ten adres URL. Nadal musimy dołączyć adres e-mail, hasło i 12 00:00:57,970 --> 00:01:03,250 to pole bezpiecznego tokena zwrotnego, co zawsze powinno być prawdziwe, a otrzymamy prawie 13 00:01:03,250 --> 00:01:08,630 takie same dane, jak podczas rejestracji, tylko jedno dodatkowe pole, które w zasadzie 14 00:01:08,650 --> 00:01:16,100 mówi nam, czy ten e-mail jest częścią istniejącego konta. Poza tym wysyłamy tutaj te same dane, możemy je pozostawić 15 00:01:16,150 --> 00:01:17,160 takie, jakie 16 00:01:17,160 --> 00:01:22,300 są, chcemy mieć tę kontrolę tutaj, a zatem tutaj mogę również zapisać moje dane odpowiedzi. 17 00:01:22,300 --> 00:01:30,320 Oczywiście nie chcę tutaj wysłać akcji rejestracji, ale zamiast tego wysłać nową akcję logowania, chociaż na razie też nic tam 18 00:01:30,340 --> 00:01:31,890 nie robimy, wkrótce 19 00:01:31,900 --> 00:01:34,120 to zrobimy, mogę już zmienić 20 00:01:34,120 --> 00:01:37,500 to, co wysłaliśmy . Dzięki temu zobaczmy, czy 21 00:01:37,510 --> 00:01:38,490 to działa, 22 00:01:38,500 --> 00:01:44,290 ale do tego oczywiście konieczne są pewne zmiany na ekranie uwierzytelniania, ponieważ teraz tam, zawsze 23 00:01:44,290 --> 00:01:51,190 kiedy naciskamy ten przycisk, zawsze rejestrujemy się teraz i nie tego chcę, zamiast zawsze się rejestruję, chcę się 24 00:01:51,190 --> 00:01:58,210 zarejestrować lub zalogować w zależności od tego, w jakim trybie się znajdujemy, a ten tryb powinien być zmieniany za 25 00:01:58,210 --> 00:02:01,730 pomocą tego przycisku, który pozwala nam przełączać się między trybami. 26 00:02:02,110 --> 00:02:07,990 Aby więc móc przełączać się między trybami, musimy zarządzać jakimś dodatkowym stanem na ekranie uwierzytelniania, w zasadzie stanem, 27 00:02:07,990 --> 00:02:12,940 który pozwala nam dowiedzieć się, czy jesteśmy w trybie logowania, czy w trybie rejestracji. 28 00:02:12,940 --> 00:02:22,560 Więc tutaj używam mojego stanu i zaczynam od fałszu, ponieważ powinienem powiedzieć, że rejestracja i konfiguracja to rejestracja, a zatem mówi nam, czy obecnie 29 00:02:22,560 --> 00:02:28,300 jesteśmy w trybie rejestracji, czy to fałsz, jeśli zasadniczo jesteśmy w trybie logowania ponieważ 30 00:02:28,300 --> 00:02:29,040 to 31 00:02:29,040 --> 00:02:31,680 są dwa tryby, które mamy, prawda? 32 00:02:31,710 --> 00:02:37,190 Tak więc rejestracja jest początkowo fałszywa, ponieważ początkowo chcę być w trybie logowania, a teraz 33 00:02:37,190 --> 00:02:42,450 możemy użyć rejestracji, aby ustalić, co się stanie, gdy klikniemy przycisk logowania, ale także 34 00:02:42,480 --> 00:02:45,740 jaki tekst tam wyprowadzimy. Więc zacznijmy od tekstu, 35 00:02:45,790 --> 00:02:48,090 tutaj nie zawsze chcę powiedzieć login, 36 00:02:48,140 --> 00:02:51,320 zamiast tego chcę sprawdzić, czy rejestracja jest prawdą, tutaj 37 00:02:51,380 --> 00:02:57,020 chcę powiedzieć rejestracja i chcę tylko zalogować się, jeśli to nie jest prawda i tutaj oczywiście nie 38 00:02:57,020 --> 00:03:00,350 zawsze chcę powiedzieć przełącznik, aby się zarejestrować, to, co tu 39 00:03:00,350 --> 00:03:03,020 mówię, zależy od trybu, w jakim się znajdujemy. 40 00:03:03,020 --> 00:03:13,050 Więc tutaj użyję teraz tyknięć z przełącznikiem na, aby tutaj mógł wstrzyknąć wartość dynamiczną, która teraz zależy od rejestracji, a 41 00:03:13,050 --> 00:03:20,190 następnie wartość dynamiczna jest ciągiem, w którym mówię logowanie, ponieważ jeśli rejestracja jest prawdą, przełączamy 42 00:03:20,280 --> 00:03:25,340 się do trybu logowania lub jeśli rejestracja jest fałszywa, 43 00:03:25,470 --> 00:03:32,360 przełączamy się do trybu rejestracji, ponieważ jesteśmy w trybie logowania, co powoduje zmianę tekstu. 44 00:03:32,360 --> 00:03:39,890 Teraz tutaj, w tej funkcji, chcę wywołać set to zarejestruj się i w zasadzie to odwróć, do tego 45 00:03:39,890 --> 00:03:47,000 możemy użyć tej formy funkcji do aktualizacji tego, skąd otrzymujemy nasz poprzedni stan, więc gdzie przekazuję funkcję 46 00:03:47,000 --> 00:03:52,740 do funkcji setter tutaj i Zwracam to, co poprzedni stan nie jest. 47 00:03:52,880 --> 00:03:58,430 Tak więc poprzedni stan to oczywiście wartość logiczna, ponieważ dzięki rejestracji, zarządzamy stanem 48 00:03:58,460 --> 00:04:00,390 logicznym, który początkowo jest 49 00:04:00,620 --> 00:04:06,200 fałszywy, a teraz tutaj otrzymuję ten stan bieżący i ustawiam przeciwnie jako nowy stan. 50 00:04:06,200 --> 00:04:10,420 Więc jeśli jest to obecnie prawdą, ustawiam na fałsz, jeśli to fałsz, ustawiam na 51 00:04:10,430 --> 00:04:11,980 prawdę, tak właśnie się dzieje. 52 00:04:12,810 --> 00:04:19,000 Teraz musimy tylko upewnić się, że dzieją się tutaj różne rzeczy, dlatego zmienię nazwę z procedury 53 00:04:19,000 --> 00:04:28,060 obsługi rejestracji na procedurę obsługi autoryzacji, aby była bardziej ogólna pod względem nazewnictwa i oczywiście powiąże moją procedurę obsługi autoryzacji tam i teraz w 54 00:04:28,810 --> 00:04:33,130 tej funkcji obsługi autoryzacji funkcję, możemy sprawdzić w jakim trybie jesteśmy. 55 00:04:33,370 --> 00:04:37,180 Więc tutaj mogę sprawdzić, czy rejestracja jest prawdą, a jeśli 56 00:04:37,180 --> 00:04:45,110 tak, to oczywiście chcę wysłać tę akcję, więc nie ma sprawy. W przeciwnym razie, jeśli to nie jest 57 00:04:45,110 --> 00:04:50,060 prawda, chcę wysłać inną akcję, a zatem możemy 58 00:04:50,060 --> 00:04:53,280 nawet trochę to zmienić, wysłać 59 00:04:53,540 --> 00:04:57,890 tam i zdefiniować naszą akcję tutaj, a 60 00:04:57,890 --> 00:05:10,190 teraz moja akcja początkowo jest niezdefiniowana, a następnie ustawiam akcję na tę lub ustawiam akcja równa się autoryzacjom akcji logowanie 61 00:05:10,190 --> 00:05:24,250 przy użyciu wartości wejściowych stanu formularza e-mail i wartości wejściowych stanu formularza hasło, podobnie jak teraz, a teraz akcja jest zmienną, którą mogę przekazać, 62 00:05:24,580 --> 00:05:26,940 aby tam wysłać. 63 00:05:26,980 --> 00:05:33,880 Dlatego zawsze wysyłam tę akcję, ale jest ona wynikiem rejestracji akcji uwierzytelniania lub logowania akcji uwierzytelniania w zależności od tego, 64 00:05:33,910 --> 00:05:40,750 czy jesteśmy w trybie rejestracji, czy w trybie logowania. Dzięki temu jesteśmy bardzo elastyczni i teraz, jeśli 65 00:05:40,750 --> 00:05:48,860 to zapiszemy, jeśli przełączy się tutaj, zobaczysz także tutaj aktualizacje tekstowe na Androidzie, a zatem teraz przejdę do trybu 66 00:05:48,910 --> 00:05:56,390 logowania, więc jeśli to powie, zaloguj się i spróbuję się zalogować tutaj, upewnij się, że wprowadzasz te same 67 00:05:56,390 --> 00:06:02,130 dane uwierzytelniające, których użyłeś wcześniej do utworzenia tego, i naciskam login, wygląda to 68 00:06:02,130 --> 00:06:03,300 całkiem nieźle, 69 00:06:03,300 --> 00:06:06,730 otrzymuję dane wyjściowe mojej konsoli z danymi, które 70 00:06:06,840 --> 00:06:09,240 ten adres URL powinien zwrócić. 71 00:06:09,240 --> 00:06:15,930 Wygląda na to, że działa i dzięki temu jesteśmy w stanie zarejestrować się i zalogować, ale oczywiście 72 00:06:15,930 --> 00:06:17,930 nie robimy teraz nic z 73 00:06:17,970 --> 00:06:22,740 tym tokenem i oczywiście nie mamy zarządzania błędami ani zarządzania stanem ładowania. 74 00:06:22,830 --> 00:06:24,690 Te rzeczy też będziemy musieli dodać.