5.1 KiB
Sistema de Reações
O kit CMS fornece um sistema de reações para adicionar recursos de reações a qualquer tipo de recurso, como postagens de blog ou comentários.
O componente de reação permite que os usuários reajam ao seu conteúdo por meio de ícones/emojis pré-definidos. Aqui está como o componente de reações pode parecer:
Você também pode personalizar os ícones de reação mostrados no componente de reação.
Habilitando o Recurso de Reação
Por padrão, os recursos do CMS Kit estão desabilitados. Portanto, você precisa habilitar os recursos que deseja antes de começar a usá-lo. Você pode usar o sistema de Recurso Global para habilitar/desabilitar recursos do CMS Kit durante o desenvolvimento. Alternativamente, você pode usar o Sistema de Recursos do ABP Framework para desabilitar um recurso do CMS Kit em tempo de execução.
Verifique a seção "Como Instalar" da documentação do Módulo CMS Kit para ver como habilitar/desabilitar recursos do CMS Kit durante o desenvolvimento.
Opções
O sistema de reação fornece um mecanismo para agrupar reações por tipos de entidade. Por exemplo, se você deseja usar o sistema de reação para produtos, você precisa definir um tipo de entidade chamado Produto e, em seguida, adicionar reações sob o tipo de entidade definido.
CmsKitReactionOptions pode ser configurado na camada de domínio, no método ConfigureServices do seu módulo. Exemplo:
Configure<CmsKitReactionOptions>(options =>
{
options.EntityTypes.Add(
new ReactionEntityTypeDefinition(
"Produto",
reactions: new[]
{
new ReactionDefinition(StandardReactions.Smile),
new ReactionDefinition(StandardReactions.ThumbsUp),
new ReactionDefinition(StandardReactions.ThumbsDown),
new ReactionDefinition(StandardReactions.Confused),
new ReactionDefinition(StandardReactions.Eyes),
new ReactionDefinition(StandardReactions.Heart)
}));
});
Se você estiver usando os recursos Comentário ou Blogging, o framework ABP define reações predefinidas para esses recursos automaticamente.
Propriedades de CmsKitReactionOptions:
EntityTypes: Lista de tipos de entidade definidos (CmsKitReactionOptions) no sistema de reação.
Propriedades de ReactionEntityTypeDefinition:
EntityType: Nome do tipo de entidade.Reactions: Lista de reações definidas (ReactionDefinition) no tipo de entidade.
O Widget de Reações
O sistema de reação fornece um widget de reação para permitir que os usuários enviem reações para recursos. Você pode colocar o widget em uma página da seguinte forma:
@await Component.InvokeAsync(typeof(ReactionSelectionViewComponent), new
{
entityType = "Produto",
entityId = "..."
})
entityType foi explicado na seção anterior. entityId deve ser o id único do produto, neste exemplo. Se você tiver uma entidade Produto, pode usar seu Id aqui.
Internos
Camada de Domínio
Agregados
Este módulo segue o guia de Melhores Práticas e Convenções de Entidades.
UserReaction
Uma reação do usuário representa uma reação específica de um usuário.
UserReaction(raiz do agregado): Representa uma reação específica no sistema.
Repositórios
Este módulo segue o guia de Melhores Práticas e Convenções de Repositórios.
Os seguintes repositórios personalizados são definidos para este recurso:
IUserReactionRepository
Serviços de Domínio
Este módulo segue o guia de Melhores Práticas e Convenções de Serviços de Domínio.
Reaction Manager
ReactionManager é usado para realizar algumas operações para a raiz do agregado UserReaction.
Camada de Aplicação
Serviços de Aplicação
ReactionPublicAppService(implementaIReactionPublicAppService): Implementa os casos de uso do sistema de reação.
Provedores de Banco de Dados
Comum
Prefixo da tabela/collection e esquema
Todas as tabelas/collections usam o prefixo Cms por padrão. Defina propriedades estáticas na classe CmsKitDbProperties se você precisar alterar o prefixo da tabela ou definir um nome de esquema (se suportado pelo seu provedor de banco de dados).
String de conexão
Este módulo usa CmsKit como nome da string de conexão. Se você não definir uma string de conexão com esse nome, ela será usada a string de conexão Default.
Consulte a documentação de strings de conexão para obter detalhes.
Entity Framework Core
Tabelas
- CmsUserReactions
MongoDB
Coleções
- CmsUserReactions
