przedmowaDo tej pory zrealizowałem dwa lub trzy projekty, w tym edukację, fora i CMS, i każdy z nich korzysta z funkcji komentarzy, więc chcę osobno usunąć sekcję komentarzy i przekształcić ją w moduł komponentowy. Nie tylko oszczędza to prace programistyczne, ale także pozwala lepiej zrozumieć funkcje tego modułu. Ponieważ obecnie głównie rozwijam z wykorzystaniem ram TP, poniższe przykłady zostaną przedstawione w składni ramy TP. Ale osobiście uważam, że część oparta na metodzie rdzeniowej jest niewystarczająca i nie wykorzystałem funkcji modelu asocjacji. To właśnie wdrożę w następnej aktualizacji. W głównej części opowiem głównie o różnych trybach systemów komentarzy, z którymi miałem do tej pory styczność, przeanalizuję ich zalety i wady oraz przedstawię pomysł na projektowanie i ekstrakcję tabel danych, mając nadzieję, że pomogę Wam. Jeśli coś jest niestosowne, każdy może to poprawić.
System komentarzy
Istnieją trzy główne typy systemów wspólnych komentarzy: budowanie w budynku, tryb streamingu oraz tryb cytowania (wszystkie z nich nadam własne imiona), a poniżej skupia się na zaletach i wadach tych trzech oraz sposobach ich implementacji.
1. Tryb budowy w budynku Tak zwany model budynku w budynku oznacza, że każdy komentarz zajmuje pierwsze piętro, a wszystkie odpowiedzi na nie są wyświetlane w budynku, na przykład system komentarzy Baidu Tieba i Jianshu.
Korzyść:Odpowiadaj na komentarze z ukierunkowanym spojrzeniem, które ułatwi zrozumienie rozmowy, którą wywołują.
Wady:Gdy treści jest za dużo, trzeba być paginacją, co jest bardziej skomplikowane.
Projekt arkusza danych:
- id (samododany klucz główny)
- target_id (ID tematu komentarza, który można zmienić na article_id, course_id itd. w razie potrzeby)
- parent_id (główny komentarz id)
- reply_uid (Zapisz identyfikator użytkownika komentującego, 0 podczas odpowiadania na główny komentarz)
- UID (Identyfikator użytkownika, kto zostawił komentarz)
- Treść (Treść komentarza)
- Inne dziedziny... (Czas, status itd.)
Logika biznesowa backendu:
2. Tryb przepływu
Tryb przepływu, jak sama nazwa wskazuje, jest podobny do przepływu informacji; niezależnie od tego, czy jest to komentarz, czy odpowiedź, każda wiadomość zajmuje warstwę, na przykład system komentarzy społeczności laravel-chin.
Korzyść:Logika jest prosta i łatwa do wdrożenia
Wady:Treść dialogu nie może być przedstawiona centralnie, a zrozumienie jego treści nie jest łatwe.
Projekt arkusza danych:
- id (samododany klucz główny)
- target_id (ID tematu komentarza, który można zmienić na article_id, course_id itd. w razie potrzeby)
- reply_uid (Zapisz identyfikator użytkownika komentującego, 0 podczas odpowiadania na główny komentarz)
- UID (Identyfikator użytkownika, kto zostawił komentarz)
- Treść (Treść komentarza)
- Inne dziedziny... (Czas, status itd.)
Logika biznesowa backendu
3. Tryb cytowania
Tryb cytowania jest podobny do trybu streamingowego, z tą różnicą, że treść odpowiedzi jest publikowana wraz z cytowaną treścią.
Korzyść:Zrozumienie, do którego komentarza skierowana jest odpowiedź, pomoże ci zrozumieć, o czym jest rozmowa. Jest stosunkowo łatwy do wdrożenia.
Wady:Podobnie jak tryb streamingowy, nie reprezentuje całej rozmowy w całości. Analizując zalety i wady, można stwierdzić, że wzorzec odniesienia jest kompromisem między budynkiem w budynku a trybem przepływu.
Projekt arkusza danych:
- id (samododany klucz główny)
- target_id (ID tematu komentarza, który można zmienić na article_id, course_id itd. w razie potrzeby)
- reply_id (ID komentarza komentowanego, główny komentarz to 0)
- UID (Identyfikator użytkownika, kto zostawił komentarz)
- Treść (Treść komentarza)
- Inne dziedziny... (Czas, status itd.)
Logika biznesowa backendu:
Aby uzyskać listę recenzji, możesz połączyć tabelę komentarzy, aby uzyskać informacje o użytkowniku oraz komentarze cytujące te komentarze. Następnie wykonaj prosty proces paginacji.
Powyższe to wstępne podsumowanie trzech trybów komentarzy, część stylistyczna nie została jeszcze ustalona, a po ukończeniu projektu blogowego dodana zostanie także część stylizacji front-end. Jeśli dotyczą powyższych treści, jeśli są jakieś niedociągnięcia, mam nadzieję, że udzielisz wskazówek.
|