Partilhar 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 cliente JavaScript do Microsoft Teams (TeamsJS). Se estiver a utilizar uma versão anterior, consulte a descrição geral da biblioteca do TeamsJS para obter orientações sobre as diferenças entre as versões mais recentes do TeamsJS e 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 de separador utiliza um valor Booleano que indica se um utilizador pode modificar ou reconfigurar o separador depois de ser criado. 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 o seu separador é carregado para um canal ou chat de grupo, o Teams adiciona um menu pendente de clique com o botão direito do rato para o seu separador. As opções disponíveis são determinadas pela canUpdateConfiguration definição. A tabela a seguir fornece os detalhes da configuração:

canUpdateConfiguration verdadeiro falso description
Configurações A configurationUrl página é recarregada num iFrame que permite ao utilizador reconfigurar o separador.
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 estiverem incluídos na página de configuração, a página de remoção é carregada para um iFrame e apresentada ao utilizador. Se uma página de remoção não estiver incluída, é apresentada ao utilizador 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. O URL da página de remoção é designado pelo método (ou setSettings() antes do setConfig() TeamsJS v.2.0.0) na sua 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, na lógica da página de remoção, pode invocar o registerOnRemoveHandler((RemoveEvent) => {} processador de eventos quando o utilizador remover uma configuração de separador 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. De cada vez, apenas um, o processador de remoção pode ser registado.

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. Indica que a remoção do recurso subjacente falhou e o respetivo 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().

Pode utilizar getConfig() (anteriormente getSettings()) para atribuir o conteúdo do separador a ser removido. A getConfig() função devolve uma promessa que resolve com o objeto Config e fornece os valores de propriedade de definições válidos que podem ser obtidos.

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 devolve uma promessa que é resolvida com o objeto De contexto. O objeto De contexto fornece valores de propriedade válidos Context que pode utilizar na lógica da página de remoção para determinar o conteúdo a apresentar 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. Certifique-se de que todos os domínios utilizados nas suas páginas de separador estão listados na validDomains matriz do manifesto da sua aplicação.

O exemplo seguinte é um exemplo de bloco de código de remoção de separadores:

<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 utilizador seleciona Remover do menu pendente do separador, o Teams carrega a página opcional removeUrl atribuída na sua página de configuração para um iFrame. É apresentado ao utilizador um botão carregado com a onClick() função que chama pages.config.setValidityState(true) e ativa o botão Remover apresentado 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 controlo de um utilizador autorizado sobre um separador não é inibido, o Teams remove o separador em casos de êxito e falha.
  • Depois de invocar o registerOnRemoveHandler processador de eventos, responda ao método dentro de 15 segundos. A aplicação tem de chamar setValidityState(true) para ativar o botão Remover e para que o processador de remoção seja invocado. O botão Remover é ativado após cinco segundos.
  • 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