Share via


Criar uma página de remoção

Você pode estender e aprimorar a experiência do usuário dando suporte a opções de remoção e modificação em seu aplicativo. O Teams permite que os usuários renomeiem ou removam uma guia de canal ou grupo e você pode permitir que os usuários reconfigurem sua guia após a instalação. Além disso, a experiência de remoção de guia fornece aos usuários opções pós-remoção para excluir ou arquivar conteúdo.

Observação

Este tópico reflete a versão 2.0.x da biblioteca de clientes JavaScript do Microsoft Teams (TeamsJS). Se você estiver usando uma versão anterior, consulte a visão geral da biblioteca do TeamsJS para obter diretrizes sobre as diferenças entre o TeamsJS mais recente e as versões anteriores.

Habilitar a reconfiguração da guia após a instalação

Seu manifest.json define os recursos e funcionalidades da guia. A propriedade da instância canUpdateConfiguration da guia usa um valor booliano que indica se um usuário pode modificar ou reconfigurar a guia após a criação. A tabela a seguir fornece os detalhes da propriedade:

Nome Tipo Tamanho máximo Obrigatório Descrição
canUpdateConfiguration Booliano Um valor que indica se uma instância da configuração da guia pode ser atualizada pelo usuário após a criação. O padrão é true.

Quando sua guia é carregada em um canal ou chat em grupo, o Teams adiciona um menu suspenso com o botão direito do mouse para sua guia. As opções disponíveis são determinadas pela configuração canUpdateConfiguration . A tabela a seguir fornece os detalhes da configuração:

canUpdateConfiguration verdadeiro falso description
Configurações A configurationUrl página é recarregada em um iFrame permitindo que o usuário reconfigure a guia.
Renomear O usuário pode alterar o nome da guia conforme ele aparece na barra de guias.
Remover Se a propriedade e o removeURL valor forem incluídos na página de configuração, a página de remoção será carregada em um iFrame e apresentada ao usuário. Se uma página de remoção não estiver incluída, o usuário será apresentado com uma caixa de diálogo confirmar.

Criar uma página de remoção de guia para seu aplicativo

A página de remoção opcional é uma página HTML que você hospeda e é exibida quando a guia é removida. A URL da página de remoção é designada pelo método (ou setSettings() antes do setConfig() TeamsJS v.2.0.0) na página de configuração. Assim como em todas as páginas em seu aplicativo, a página de remoção deve estar em conformidade com pré-requisitos da guia Teams.

Registrar um manipulador de remoção

Opcionalmente, dentro da lógica da página de remoção, você pode invocar o registerOnRemoveHandler((RemoveEvent) => {} manipulador de eventos quando o usuário remover uma configuração de guia existente. O método usa a interface RemoveEvent e executa o código no manipulador quando um usuário tenta remover o conteúdo. O método é usado para executar operações de limpeza, como remover o recurso subjacente que a energia do conteúdo da guia. Por vez, somente um, o manipulador de remoção pode ser registrado.

A interface RemoveEvent descreve um objeto com dois métodos:

  • A função notifySuccess() é necessária. Indica que a remoção do recurso subjacente foi bem-sucedida e seu conteúdo pode ser removido.

  • A função notifyFailure(string) é opcional. Ele indica que a remoção do recurso subjacente falhou e seu conteúdo não pode ser removido. O parâmetro de cadeia de caracteres opcional especifica um motivo para a falha. Se fornecido, essa cadeia de caracteres será exibida para o usuário; caso contrário, um erro genérico será exibido.

Use a função getConfig().

Você pode usar getConfig() (anteriormente getSettings()) para atribuir o conteúdo da guia a ser removido. A getConfig() função retorna uma promessa que é resolvida com o objeto Config e fornece os valores de propriedade de configurações válidas que podem ser recuperados.

Use a função getContext().

Você pode usar getContext() para obter o contexto atual no qual o quadro está sendo executado. A getContext() função retorna uma promessa que é resolvida com o objeto Context. O objeto Context fornece valores de propriedade válidos Context que você pode usar na lógica da página de remoção para determinar o conteúdo a ser exibido na página de remoção.

Incluir autenticação

A autenticação é necessária antes de permitir que um usuário exclua o conteúdo da guia. Informações de contexto podem ser usadas para ajudar a construir solicitações de autenticação e URLs de página de autorização. ConsulteFluxo de autenticação do Microsoft Teams para guias. Verifique se todos os domínios usados em suas páginas de guia estão listados na matriz do validDomains manifesto do aplicativo.

O exemplo a seguir é um exemplo de bloco de código de remoção de guias:

<body>
  <button onclick="onClick()">Delete this tab and all underlying data?</button>
  <script>
    await microsoftTeams.app.initialize();
    pages.config.registerOnRemoveHandler((removeEvent) => {
      // Here you can designate the tab content to be removed and/or archived.
        const configPromise = pages.getConfig();
        configPromise.
            then((configuration) => {
                configuration.contentUrl = "...";
                removeEvent.notifySuccess()}).
            catch((error) => {removeEvent.notifyFailure("failure message")});
    });

    const onClick() => {
        pages.config.setValidityState(true);
    }
  </script>
</body>

Quando um usuário seleciona Remover do menu suspenso da guia, o Teams carrega a página opcional removeUrl atribuída em sua página de configuração em um iFrame. O usuário é mostrado um botão carregado com a onClick() função que chama pages.config.setValidityState(true) e habilita o botão Remover mostrado na parte inferior da página de remoção iFrame.

Depois que o manipulador de remoção é executado, removeEvent.notifySuccess() ou removeEvent.notifyFailure() notifica o Teams sobre o resultado da remoção de conteúdo.

Observação

  • Para garantir que o controle de um usuário autorizado sobre uma guia não seja inibido, o Teams remove a guia em casos de sucesso e falha.
  • Depois de invocar o registerOnRemoveHandler manipulador de eventos, responda ao método dentro de 15 segundos. O aplicativo deve chamar setValidityState(true) para habilitar o botão Remover e para que o manipulador de remoção seja invocado.
  • Quando o usuário seleciona Remover, o Teams remove a guia após 30 segundos, independentemente de as ações serem concluídas ou não.

Próxima etapa

Confira também