prefácioAté agora, já fiz dois ou três projetos, incluindo educação, fóruns e CMS, e cada projeto usa a função de comentários, então quero tirar a seção de comentários separadamente e transformá-la em um módulo componentizado. Isso não só economiza trabalho de desenvolvimento, como também permite que você tenha uma melhor compreensão das funções desse módulo. Como atualmente estou desenvolvendo principalmente com o framework TP, os exemplos a seguir serão apresentados na sintaxe do framework TP. Mas, na verdade, pessoalmente sinto que a parte central do método é insuficiente, e não utilizei a função do modelo de associação. É isso que vou implementar na próxima atualização. Na parte principal, vou falar principalmente sobre os vários modos de sistemas de comentários aos quais fui exposto até agora, analisar suas respectivas vantagens e desvantagens, e fornecer uma ideia do design e extração de tabelas de dados, esperando ser útil para você. Se houver algo inadequado, todos também são bem-vindos para corrigir.
Sistema de comentários
Existem três tipos principais de sistemas comuns de comentários: construção dentro de um prédio, modo streaming e modo de citação (todos os quais dei meus próprios nomes), e o seguinte foca nas vantagens e desvantagens desses três e em como implementá-los.
1. Modo construção dentro do prédio O chamado edifício dentro de um modelo de edifício significa que cada comentário ocupa o primeiro andar, e todas as respostas ao comentário são exibidas no prédio, como o sistema de comentários de Baidu Tieba e Jianshu.
Vantagem:Responda aos comentários com uma visão focada que facilite a compreensão da conversa que eles geram.
Desvantagens:Quando há conteúdo demais, é preciso paginação, que é mais complicada.
Design da ficha de dados:
- id (chave primária auto-adicionada)
- target_id (ID do tópico do comentário, que pode ser alterado para article_id, course_id, etc., conforme necessário)
- parent_id (ID do comentário principal)
- reply_uid (Registre o ID de usuário do comentário, 0 ao responder ao comentário principal)
- UID (ID de usuário que deixou o comentário)
- conteúdo (Conteúdo dos comentários)
- Outras áreas... (Hora, status, etc.)
Lógica de negócios do back-end:
2. Modo de fluxo
O modo de fluxo, como o nome sugere, é semelhante ao fluxo de informação, seja um comentário ou uma resposta, cada mensagem ocupa uma camada, como o sistema de comentários da comunidade laravel-China.
Vantagem:A lógica é simples e fácil de implementar
Desvantagens:O conteúdo do diálogo não pode ser apresentado centralmente, e não é fácil entender o conteúdo do diálogo.
Design da ficha de dados:
- id (chave primária auto-adicionada)
- target_id (ID do tópico do comentário, que pode ser alterado para article_id, course_id, etc., conforme necessário)
- reply_uid (Registre o ID de usuário do comentário, 0 ao responder ao comentário principal)
- UID (ID de usuário que deixou o comentário)
- conteúdo (Conteúdo dos comentários)
- Outras áreas... (Hora, status, etc.)
Lógica de negócios back-end
3. Modo de citação
O modo de citação é semelhante ao modo streaming, exceto que o conteúdo da resposta é publicado junto com o conteúdo citado.
Vantagem:Entender para qual comentário a resposta se dirige pode ajudar você a entender sobre o que é a conversa. É relativamente fácil de implementar.
Desvantagens:Semelhante ao Modo Stream, ele não representa toda a conversa em sua totalidade. Ao analisar as vantagens e desvantagens, pode-se constatar que o padrão de referência é um compromisso entre o edifício dentro do edifício e o modo de fluxo.
Design da ficha de dados:
- id (chave primária auto-adicionada)
- target_id (ID do tópico do comentário, que pode ser alterado para article_id, course_id, etc., conforme necessário)
- reply_id (ID do comentário do comentário, comentário principal é 0)
- UID (ID de usuário que deixou o comentário)
- conteúdo (Conteúdo dos comentários)
- Outras áreas... (Hora, status, etc.)
Lógica de negócios do back-end:
Para obter a lista de avaliações, você pode conectar a tabela de comentários para obter as informações dos usuários e comentários que citam os comentários. Depois faça um processo simples de paginação.
O que foi mencionado acima é um resumo preliminar dos três modos de comentário, a parte de estilo ainda não foi resolvida e, após concluir o projeto do blog, a parte de estilo front-end também será adicionada. Para o conteúdo acima, se houver alguma falha, espero que você possa me orientar.
|