Создать страницу удаления

Вы можете расширить и улучшить взаимодействие с пользователем, поддерживая параметры удаления и изменения в своем приложении. Teams позволяет пользователям переименовывать или удалять вкладку канала или группы, и вы можете разрешить пользователям изменять конфигурацию вкладки после установки. Кроме того, функция удаления вкладки предоставляет пользователям возможность после удаления удалить или заархивировать содержимое.

Примечание.

В этом разделе представлена версия 2.0.x клиентской библиотеки JavaScript (TeamsJS) Microsoft Teams. Если вы используете более раннюю версию, ознакомьтесь с обзором библиотеки TeamsJS , чтобы узнать о различиях между последней версией TeamsJS и более ранними версиями.

Включить перенастройку вкладки после установки

manifest.json определяет функции и возможности вкладки. Свойство экземпляра canUpdateConfiguration табуляции принимает логическое значение, указывающее, может ли пользователь изменить или перенастроить вкладку после ее создания. В следующей таблице приведены сведения о свойстве:

Имя Тип Максимальный размер Обязательный Описание
canUpdateConfiguration Логический Значение, указывающее, может ли пользователь обновлять конфигурацию вкладки после ее создания. Значение по умолчанию: true.

При отправке вкладки в канал или групповой чат Teams добавляет раскрывающееся меню правой кнопкой мыши для вкладки. Доступные параметры определяются параметром canUpdateConfiguration . В следующей таблице приведены сведения о настройках:

canUpdateConfiguration true false description
Settings Страница configurationUrl перезагружается в iFrame, что позволяет пользователю перенастроить вкладку.
Переименовать Пользователь может изменить отображение имени вкладки на панели вкладок.
Удалить removeURL Если свойство и значение включены на страницу конфигурации, страница удаления загружается в iFrame и представляется пользователю. Если страница удаления не включена, пользователю будет предоставлено диалоговое окно подтверждения.

Создайте страницу удаления вкладки для своего приложения

Необязательная страница удаления — это HTML-страница, которая отображается при удалении вкладки. URL-адрес страницы удаления определяется методом setConfig() (или setSettings() до TeamsJS версии 2.0.0) на странице конфигурации. Как и все страницы в приложении, страница удаления должна соответствовать предварительным требованиям вкладки Teams.

Зарегистрировать обработчик удаления

При необходимости в логике страницы удаления можно вызвать registerOnRemoveHandler((RemoveEvent) => {} обработчик событий, когда пользователь удаляет существующую конфигурацию вкладки. Метод принимает интерфейс RemoveEvent и выполняет код в обработчике, когда пользователь пытается удалить содержимое. Этот метод используется для выполнения операций очистки, таких как удаление базового ресурса, питающего содержимое вкладки. Одновременно можно зарегистрировать только один обработчик удаления.

Интерфейс RemoveEvent описывает объект двумя способами:

  • ФункцияnotifySuccess() обязательна. Это указывает на то, что удаление базового ресурса прошло успешно и его содержимое может быть удалено.

  • Функция notifyFailure(string) необязательна. Это означает, что удаление базового ресурса завершилось сбоем и его содержимое не может быть удалено. Необязательный параметр строки указывает причину сбоя. Если эта строка задана, она отображается для пользователя; иначе отображается общая ошибка.

Использование функции getConfig()

Вы можете использовать getConfig() (ранее getSettings()) для назначения содержимого вкладки для удаления. Функция getConfig() возвращает обещание, которое разрешается с объектом Config и предоставляет допустимые значения свойств параметров, которые можно извлечь.

Использование функции getContext()

Вы можете использовать getContext() для получения текущего контекста, в котором запущен фрейм. Функция getContext() возвращает обещание, которое разрешается с объектом Context. Объект Context предоставляет допустимые Context значения свойств, которые можно использовать в логике страницы удаления для определения содержимого, отображаемого на странице удаления.

Включить проверку подлинности

Перед тем, как разрешить пользователю удалять содержимое вкладки, требуется проверка подлинности. Контекстные сведения можно использовать для создания запросов аутентификации и URL-адресов страниц авторизации. См. Поток проверки подлинности Microsoft Teams для вкладок Убедитесь, что все домены, используемые на страницах вкладок, перечислены в массиве validDomains манифеста приложения.

В следующем примере приведен пример блока кода удаления табуляции.

<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>

Когда пользователь выбирает Удалить в раскрывающемся меню вкладки, Teams загружает необязательную removeUrl страницу, назначенную на странице конфигурации, в iFrame. Пользователю отображается кнопка, загруженная с onClick() функцией, которая вызывает pages.config.setValidityState(true) и включает кнопку Удалить , показанную в нижней части страницы удаления iFrame.

После действия обработчика удаленияremoveEvent.notifySuccess() или removeEvent.notifyFailure() уведомления Teams о результатах удаления содержимого.

Примечание.

  • Чтобы убедиться, что контроль авторизованного пользователя над вкладкой не заблокирован, Teams удаляет вкладку как в случае успешного, так и в случае сбоя.
  • После вызова обработчика registerOnRemoveHandler событий ответьте на метод в течение 15 секунд. Приложение должно вызвать setValidityState(true) , чтобы включить кнопку Удалить и вызвать обработчик удаления.
  • Когда пользователь выбирает Удалить, Teams удаляет вкладку через 30 секунд независимо от того, завершены ли действия.

Следующий этап

Дополнительные ресурсы