prefațăPână acum, am realizat două sau trei proiecte, inclusiv educație, forumuri și CMS, iar fiecare proiect folosește funcția de comentarii, așa că vreau să scot secțiunea de comentarii separat și să o transform într-un modul componentizat. Nu doar că economisește muncă de dezvoltare, dar îți permite și să înțelegi mai bine funcțiile acestui modul. Deoarece în prezent dezvolt în principal cu cadrul TP, următoarele exemple vor fi prezentate în sintaxa cadrului TP. Dar, de fapt, personal consider că partea de bază a metodei este insuficientă și nu am folosit funcția modelului de asociere. Asta voi implementa în următoarea actualizare. În esență, vă voi povesti în principal despre diferitele moduri de sisteme de comentarii la care am fost expus până acum, voi analiza avantajele și dezavantajele lor respective și voi oferi o idee despre proiectarea tabelelor de date și extragerea datelor, sperând să vă fie de ajutor. Dacă există ceva nepotrivit, oricine este binevenit să corecteze.
Sistem de comentarii
Există trei tipuri principale de sisteme comune de comentarii: construirea în interiorul unei clădiri, modul de streaming și modul de citare (fiecare pe care le-am dat propriile mele nume), iar următorul se concentrează pe avantajele și dezavantajele acestor trei și modul de implementare a acestora.
1. Modul de construcție într-o clădire Așa-numita clădire în cadrul unui model de clădire înseamnă că fiecare comentariu ocupă parterul, iar toate răspunsurile la comentariu sunt afișate în clădire, cum ar fi sistemul de comentarii al Baidu Tieba și Jianshu.
Avantaj:Răspunde la comentarii cu o perspectivă concentrată care să facă ușor de înțeles conversația pe care o stârnesc.
Dezavantaje:Când este prea mult conținut, trebuie să fie paginare, ceea ce este mai complicat.
Designul fișei tehnice:
- id (cheie primară auto-adăugată)
- target_id (ID-ul subiectului comentariului, care poate fi schimbat în article_id, course_id etc. după nevoie)
- parent_id (ID comentariu principal)
- reply_uid (Înregistrează ID-ul utilizatorului comentatului, 0 când răspunzi la comentariul principal)
- UID (ID utilizator care a lăsat comentariul)
- Conținut (Conținut de comentarii)
- Alte domenii... (Timp, statut etc.)
Logica de afaceri din back-end:
2. Modul de flux
Modul de flux, după cum sugerează și numele, este similar cu fluxul de informații, fie că este un comentariu sau un răspuns, fiecare mesaj ocupând un strat, cum ar fi sistemul de comentarii al comunității Laravel-China.
Avantaj:Logica este simplă și ușor de implementat
Dezavantaje:Conținutul dialogului nu poate fi prezentat centralizat și nu este ușor de înțeles conținutul dialogului.
Designul fișei tehnice:
- id (cheie primară auto-adăugată)
- target_id (ID-ul subiectului comentariului, care poate fi schimbat în article_id, course_id etc. după nevoie)
- reply_uid (Înregistrează ID-ul utilizatorului comentatului, 0 când răspunzi la comentariul principal)
- UID (ID utilizator care a lăsat comentariul)
- Conținut (Conținut de comentarii)
- Alte domenii... (Timp, statut etc.)
Logica de afaceri back-end
3. Mod de citare
Modul de citare este similar cu modul de streaming, cu excepția faptului că conținutul răspunsului este publicat împreună cu conținutul citat.
Avantaj:Înțelegerea către ce comentariu se adresează răspunsul te poate ajuta să înțelegi despre ce este vorba în conversație. Este relativ ușor de implementat.
Dezavantaje:Similar cu Stream Mode, nu reprezintă întreaga conversație în întregime. Analizând avantajele și dezavantajele, se poate constata că modelul de referință este un compromis între clădirea din interiorul clădirii și modul de flux.
Designul fișei tehnice:
- id (cheie primară auto-adăugată)
- target_id (ID-ul subiectului comentariului, care poate fi schimbat în article_id, course_id etc. după nevoie)
- reply_id (ID-ul comentariului comentat, comentariul principal este 0)
- UID (ID utilizator care a lăsat comentariul)
- Conținut (Conținut de comentarii)
- Alte domenii... (Timp, statut etc.)
Logica de afaceri din back-end:
Pentru a obține lista recenziilor, poți conecta tabelul de comentarii pentru a obține informațiile utilizatorilor și comentariile care citează comentariile. Apoi fă un proces simplu de paginare.
Cele de mai sus reprezintă un rezumat preliminar al celor trei moduri de comentariu, partea de stil nu a fost încă clarificată, iar după finalizarea proiectului de blog, va fi adăugată și partea de stil front-end. Pentru conținutul de mai sus, dacă există neajunsuri, sper să oferi îndrumare.
|