Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

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:

reactions

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 (implementa IReactionPublicAppService): 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