Один компонент решает проблему авторизации конфиденциальности для мини-программ|Специальный тренировочный лагерь по техническому созданию, этап 1.
Один компонент решает проблему авторизации конфиденциальности для мини-программ|Специальный тренировочный лагерь по техническому созданию, этап 1.

8 луна 10 Официальное объявление японского WeChat Объявление об установлении правил защиты конфиденциальности для мини-программ,от 2023 Год 9 луна 15 Отныне разработчики должны нажать кнопку «Согласиться с политикой защиты конфиденциальности» и синхронизировать ее с WeChat, прежде чем разработчики смогут вызвать интерфейс конфиденциальности, предоставляемый WeChat.

Запросить соответствующую информацию

Интерфейсы или компоненты, связанные с конфиденциальностью, включают сбор псевдонимов/аватаров, информации о местоположении, номеров мобильных телефонов, выбранных файлов и т. д. 18 группа, которую можно посмотреть в официальной документации мини программы Интерфейс, связанный с конфиденциальностью,Большинство небольших программ должны иметь как минимум один или два интерфейса конфиденциальности.,Если не обработано,9 луна После 15-го числа интерфейсы, связанные с приватностью, будут недоступны.,Все, что нужно сделать разработчику, — это создать всплывающее окно, предлагающее пользователям прочитать правила защиты конфиденциальности.,существует Пользователь нажимает кнопку «Согласен», а затем синхронизирует его с WeChat.,Только тогда WeChat позволил разработчикам вызывать интерфейсы конфиденциальности.,Он также определяет, нажал ли пользователь кнопку.

Официальный пример
Официальный пример

первый,Когда дело доходит до конфиденциальности, Мини-программа должна установить «Руководство по защите конфиденциальности пользователей мини-программы» в «Бэкэнде управления мини-программой».,WeChat предоставляет разработчикам в общей сложности 4 интерфейса.,Они есть

  1. wx.getPrivacySetting:Проверьте статус авторизации конфиденциальности
  2. wx.openPrivacyContract:Перейти на страницу соглашения о конфиденциальности
  3. wx.onNeedPrivacyAuthorization:Интерфейс мониторинга конфиденциальности требует событий авторизации пользователя
  4. wx.requirePrivacyAuthorize : Имитация вызовов интерфейса конфиденциальности и запуск логики всплывающих окон конфиденциальности.

анализировать

Разработчики могут открыть всплывающее окно, когда им нужно вызвать интерфейс конфиденциальности или когда мини-программа открыта, и им нужно авторизовать ее только один раз. После авторизации, пока пользователь не удаляет мини-программу, они могут продолжать работу. вызвать все используемые интерфейсы конфиденциальности. После некоторых исследований я выбираю, требуется ли авторизация при отображении страницы. После авторизации авторизация больше не требуется. Окончательный процесс определения выглядит следующим образом.

  1. Когда страница отображаетсяиспользовать wx.getPrivacySetting Интерфейс определяет, требуется ли авторизация, и при необходимости отображает всплывающее окно;
  2. Пользователь нажимает, чтобы просмотреть рекомендации по защите конфиденциальности,использовать wx.openPrivacyContract Интерфейс открывает страницу руководства по защите конфиденциальности;
  3. Пользователь возвращается на всплывающую страницу;
  4. Пользователь нажимает «Отклонить», чтобы напрямую закрыть мини-программу, и пользователь нажимает «Согласен», чтобы синхронизировать ее с WeChat и закрыть всплывающее окно;

Учитывая, что пользователи могут напрямую входить в интерфейс, которому необходимо вызывать интерфейс конфиденциальности посредством совместного использования, сканирования QR-кодов и т. д., а код необходимо использовать повторно несколько раз, более целесообразно писать его напрямую как компонент. вне компонента, тем лучше.

Компоненты разработки

Всплывающий интерфейс
Всплывающий интерфейс

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

Язык кода:javascript
копировать
<!--component/privacy/privacy.wxml-->
<view class="privacy" wx:if="{{showPrivacy}}">
    <view class="content">
        <view class="title">Рекомендации по конфиденциальности</view>
        <view class="des">
            существоватьиспользоватьдо настоящего мини-программного сервиса,Пожалуйста, прочитайте внимательно<text class="link" bind:tap="openPrivacyContract">{{privacyContractName}}</text>。если ты согласен{{privacyContractName}},Пожалуйста, нажмите «Согласен», чтобы начать.
        </view>
        <view class="btns">
            <button class="item reject" bind:tap="exitMiniProgram">отклонять</button>
            <button id="agree-btn" class="item agree" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">соглашаться</button>
        </view>
    </view>
</view>
Язык кода:javascript
копировать
/* component/privacy/privacy.wxss */
.privacy {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content {
    width: 632rpx;
    padding: 48rpx;
    box-sizing: border-box;
    background: #fff;
    border-radius: 16rpx;
}

.content .title {
    text-align: center;
    color: #333;
    font-weight: bold;
    font-size: 32rpx;
}

.content .des {
    font-size: 26rpx;
    color: #666;
    margin-top: 40rpx;
    text-align: justify;
    line-height: 1.6;
}

.content .des .link {
    color: #07c160;
    text-decoration: underline;
}

.btns {
    margin-top: 48rpx;
    display: flex;
}

.btns .item {
    justify-content: space-between;
    width: 244rpx;
    height: 80rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16rpx;
    box-sizing: border-box;
    border: none;
}

.btns .reject {
    background: #f4f4f5;
    color: #909399;
}

.btns .agree {
    background: #07c160;
    color: #fff;
}
Язык кода:javascript
копировать
// component/privacy/privacy.js
Component({
    /**
     * Исходные данные компонента
     */
    data: {
        privacyContractName: '',
        showPrivacy: false
    },
    /**
     * Жизненный цикл компонента
     */
    pageLifetimes: {
        show() {
            const _ = this
            wx.getPrivacySetting({
                success(res) {
                    if (res.needAuthorization) {
                        _.setData({
                            privacyContractName: res.privacyContractName,
                            showPrivacy: true
                        })
                    }
                }
            })
        }
    },
    /**
     * Список методов компонента
     */
    methods: {
        // Откройте страницу соглашения о конфиденциальности
        openPrivacyContract() {
            const _ = this
            wx.openPrivacyContract({
                fail: () => {
                    wx.showToast({
                        title: «Обнаружена ошибка»,
                        icon: 'error'
                    })
                }
            })
        },
        // Отклонить соглашение о конфиденциальности
        exitMiniProgram() {
            // Выйдите из мини-программы напрямую
            wx.exitMiniProgram()
        },
        // Согласен с политикой конфиденциальности
        handleAgreePrivacyAuthorization() {
            const _ = this
            _.setData({
                showPrivacy: false
            })
        },
    },
})

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

использовать

1. использоватьчас,существовать page.json Импортируйте компоненты в

Язык кода:javascript
копировать
{
    "usingComponents": {
        "Privacy": "/component/privacy/privacy"
    }
}

2. существовать page.wxml серединаиспользоватькомпоненты

Язык кода:javascript
копировать
<Privacy />

3. Вы можете добавить этот компонент во все существующие интерфейсы конфиденциальности. После авторизации один раз все интерфейсы конфиденциальности больше не требуют авторизации.

На что следует обратить внимание

  1. 2023 Год 9 луна 15 До создания учетной записи функции, связанные с конфиденциальностью, не были включены по умолчанию, поэтому необходимость во всплывающих окнах не была обнаружена. Вы можете существовать. app.json Средняя конфигурация "__usePrivacyCheck__": true После этого интерфейс может определить, необходимо ли всплывающее окно. Личная реальная ситуация: Я существую Инструменты разработчика Средний конфигурация Понятно "__usePrivacyCheck__": true ,wx.getPrivacySetting Интерфейс res.needAuthorization В любом случае возвращается то, что false, но его можно вернуть в реальном машинном моделировании и в Интернете. true ,возвращаться true Указывает, что требуется авторизация, и отображается всплывающее окно.
  2. Для автоматического открытия существующего интерфейса руководства по защите конфиденциальности требуется «Бэкенд управления мини-программой» для настройки «Руководства по защите конфиденциальности пользователей мини-программы».,Подробную информацию см.Инструкция по заполнению официального руководства по защите конфиденциальности пользователей

Как отменить авторизацию для отладки

  • В WeChat вы можете отменить авторизацию, удалив мини-программу в «Выпадающий список WeChat — недавние — недавние мини-программы».
  • «Очистить кэш эмулятора — очистить данные авторизации» в инструментах разработчика позволяет отменить авторизацию.

Открытый исходный код

Код статьи существует GitHub Открытый исходный код,Ссылка на проект:https://github.com/94xy/miniprogram-privacy

Идеи выбора темы

После анонса «Настройки мини-программы по защите конфиденциальности» были выпущены.,Разработчикам необходимо, чтобы существующие пользователи согласились с политикой защиты конфиденциальности, прежде чем они смогут использовать интерфейс конфиденциальности, предоставляемый WeChat. В этой статье мы хотим рассказать, как установить правила защиты конфиденциальности в существующей мини-программе.,А компонент use реализует функцию всплывающего окна, предлагающего пользователям прочитать правила защиты конфиденциальности. В статье кратко изложены конкретный процесс и метод использования.,и предоставил Открытый исходный код-код предоставляет разработчикам способ решить эту проблему.

Творческий план

  1. Введение в предысторию
  2. Введение соответствующей информации
  3. анализировать Лучшее решение
  4. Процесс разработки компонента и код
  5. Компоненты, разработанные использовать
  6. На что следует обратить внимание
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода