préfaceJusqu’à présent, j’ai réalisé deux ou trois projets, dont l’éducation, les forums et le CMS, et chaque projet utilise la fonction de commentaires, donc je veux retirer la section des commentaires séparément et en faire un module composanté. Cela permet non seulement d’économiser du travail de développement, mais vous permet aussi de mieux comprendre les fonctions de ce module. Comme je développe principalement avec le cadre TP, les exemples suivants seront présentés dans la syntaxe du cadre TP. Mais en réalité, je pense personnellement que la partie de la méthode de base est insuffisante, et je n’ai pas utilisé la fonction du modèle d’association. C’est ce que je vais mettre en œuvre dans la prochaine mise à jour. Dans la partie principale, je vais principalement vous parler des différents modes de systèmes de commentaires auxquels j’ai été exposé jusqu’à présent, analyser leurs avantages et inconvénients respectifs, et vous donner une idée de la conception et de l’extraction de données de tables, en espérant vous être utile. S’il y a quelque chose d’inapproprié, tout le monde est également le bienvenu pour le corriger.
Système de commentaires
Il existe trois principaux types de systèmes de commentaires courants : le mode de construction dans un bâtiment, le mode de diffusion et le mode de citation (dont j’ai tous donné mon propre nom), et ce qui suit se concentre sur les avantages et inconvénients de ces trois systèmes ainsi que sur la manière de les mettre en œuvre.
1. Mode construction dans un bâtiment Le fait que le bâtiment soit dans un modèle de bâtiment signifie que chaque commentaire occupe le premier étage, et toutes les réponses au commentaire sont affichées dans le bâtiment, comme le système de commentaires de Baidu Tieba et Jianshu.
Avantage:Répondez aux commentaires avec une vision ciblée qui facilite la compréhension de la conversation qu’ils suscitent.
Inconvénients :Quand il y a trop de contenu, il faut la pagination, ce qui est plus compliqué.
Conception de la fiche technique :
- id (clé primaire auto-ajoutée)
- target_id (ID du sujet du commentaire, qui peut être changé en article_id, course_id, etc. selon les besoins)
- parent_id (identifiant principal du commentaire)
- reply_uid (Enregistrer l’identifiant utilisateur du commentaire, 0 lors de la réponse au commentaire principal)
- UID (ID utilisateur ayant laissé le commentaire)
- Contenu (Contenu des commentaires)
- D’autres domaines... (Heure, statut, etc.)
Logique métier back-end :
2. Mode de flux
Le mode de flux, comme son nom l’indique, est similaire au flux d’information, qu’il s’agisse d’un commentaire ou d’une réponse, chaque message occupant une couche, comme le système de commentaires de la communauté laravel-chinoise.
Avantage:La logique est simple et facile à mettre en œuvre
Inconvénients :Le contenu du dialogue ne peut pas être présenté de manière centrale, et il n’est pas facile de comprendre le contenu du dialogue.
Conception de la fiche technique :
- id (clé primaire auto-ajoutée)
- target_id (ID du sujet du commentaire, qui peut être changé en article_id, course_id, etc. selon les besoins)
- reply_uid (Enregistrer l’identifiant utilisateur du commentaire, 0 lors de la réponse au commentaire principal)
- UID (ID utilisateur ayant laissé le commentaire)
- Contenu (Contenu des commentaires)
- D’autres domaines... (Heure, statut, etc.)
Logique métier en arrière-plan
3. Mode de citation
Le mode citation est similaire au mode streaming, sauf que le contenu de la réponse est publié avec le contenu cité.
Avantage:Comprendre à quel commentaire la réponse s’adresse peut vous aider à comprendre de quoi il s’agit. C’est relativement facile à mettre en œuvre.
Inconvénients :Comme le mode stream, il ne représente pas toute la conversation dans son ensemble. En analysant les avantages et inconvénients, on peut constater que le modèle de référence constitue un compromis entre le bâtiment à l’intérieur du bâtiment et le mode d’écoulement.
Conception de la fiche technique :
- id (clé primaire auto-ajoutée)
- target_id (ID du sujet du commentaire, qui peut être changé en article_id, course_id, etc. selon les besoins)
- reply_id (identifiant de commentaire du commentaire, le commentaire principal est 0)
- UID (ID utilisateur ayant laissé le commentaire)
- Contenu (Contenu des commentaires)
- D’autres domaines... (Heure, statut, etc.)
Logique métier back-end :
Pour obtenir la liste des avis, vous pouvez connecter le tableau des commentaires pour obtenir les informations utilisateur et les commentaires qui citent les commentaires. Ensuite, fais un simple processus de pagination.
Ce qui précède est un résumé préliminaire des trois modes de commentaires, la partie style n’a pas encore été réglée, et après avoir terminé le projet de blog, la partie style front-end sera également ajoutée. Pour ce qui précède, s’il y a des défauts, j’espère que vous pourrez vous guider.
|