当前位置: 首页 > news >正文

鸿蒙Next开发中三方库使用指南之-nutpi-privacy_dialog集成示例

隐私协议静态共享库

隐私协议对话框静态共享库模块是使用Static Library静态共享库模块实现隐私协议对话框和隐私协议显示,对话框使用自定义对话框实现,隐私协议显示在一个Webview组件页面上,支持本地html文件和http或https返回html文件。

本库由 坚果派狼哥原创。

一、下载安装

ohpm install @nutpi/privacy_dialog

OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包

二、使用

1.在EntryAbility.ts文件里创建首选项数据库

import { PreferencesUtil } from '@nutpi/privacy_dialog'
let preferencesUtil = new PreferencesUtil();onCreate(want, launchParam) {// 创建首选项数据库preferencesUtil.createPrivacyPreferences(this.context);// 设置隐私协议默认不同意preferencesUtil.saveDefaultPrivacy(false);}

2.在Index.ets页面,调用对话框

import { CustomDialogPrivacy,PreferencesUtil,RouterParams } from '@nutpi/privacy_dialog'
let preferencesUtil = new PreferencesUtil();import('@nutpi/privacy_dialog/src/main/ets/components/PrivacyPage');  // 引入静态共享包中的命名路由页面// 开始显示隐私协议对话框/*** 如果localHtml参数为true,urlPage参数为空,显示默认隐私协议* 如果localHtml参数为true,urlPage参数不为空,显示urlPage参数本地html文件* 如果localHtml参数为false,urlPage参数为空,显示默认隐私协议* 如果localHtml参数为false,urlPage参数不为空,显示urlPage参数http或https返回html文件*/// PrivacyPage为三方库里的routeName// RouterParams参数1为localHtml=true时,使用本地rawfile目录下html文件,为false时,使用远程http隐私协议// RouterParams参数2根据参数1而定,为true时,写本地html文件名如:privacy.html,为false时,如:http://xxxx/zh-cn_userAgreement.htmlopenPrivacyPage() {try {router.pushNamedRoute({name: 'PrivacyPage',params: new RouterParams(true, 'privacy.html')}).then(() => {console.info("xx push page success");}).catch((err: BusinessError) => {console.error(`xx pushUrl failed, code: ${err.code}, msg: ${err.message}`);})} catch (err) {let message = (err as BusinessError).messagelet code = (err as BusinessError).codeconsole.error(`xx pushNamedRoute failed, code is ${code}, message is ${message}`);}}onConfirm() {// 此处可以写点击同意后跳转到主界面或其它逻辑}privacyDialogController: CustomDialogController = new CustomDialogController({builder: CustomDialogPrivacy({openPrivacy: this.openPrivacyPage,onConfirm: this.onConfirm}),autoCancel: false,alignment: DialogAlignment.Center,customStyle: true})onPageShow() {console.info('xx onPageShow 显示隐私协议')preferencesUtil.getChangePrivacy().then((value) => {console.info(`xx onPageShow 获取隐私协议状态:${value}`)if (!value) {this.privacyDialogController.open()}})}onPageHide() {console.info(`xx Index -> onPageHide Close Start`)this.privacyDialogController.close()console.info(`xx Index -> onPageHide Close End`)}aboutToDisappear() {console.info(`xx Index -> aboutToDisappear`)this.privacyDialogController.close()}// 结束显示隐私协议对话框

创建对话框时,可选参数以下:

  // 隐私协议标题private title?: string = '协议和隐私政策提示'// 前辍隐私协议信息private prefixMessage?: string = '感谢您选择xxx元服务!我们非常重视您的个人信息和隐私保护。为更好地保障您的个人权益,在使用产品前,请您认真阅读'// 后辍隐私协议信息private suffixMessage?: string = '的全部内容。'// 隐私协议信息,点击可以跳转private privacyMessage?: string = '《协议与隐私政策》'

3.点击设备桌面图标运行查看效果

输入图片说明
输入图片说明

三、开源协议

本项目基于 Apache ,请自由地享受和参与开源。欢迎大家与坚果派建立联系。

http://www.lqws.cn/news/591769.html

相关文章:

  • 用“做饭”理解数据分析流程(Excel三件套实战)​
  • 网站崩溃的幕后黑手:GPTBot爬虫的流量冲击
  • 论文阅读:Align and Prompt (ALPRO 2021.12)
  • 零开始git使用教程-传html文件
  • 浅谈Docker Kicks in的应用
  • 51单片机制作万年历
  • 观察者模式
  • 新版本 Spring Data Jpa + QueryDSL 使用教程
  • TensorFlow源码深度阅读指南
  • 【科研绘图系列】基于R语言的复杂热图绘制教程:环境因素与染色体效应的可视化
  • C#程序设计简介
  • 9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
  • Milvus docker-compose 部署
  • 从苹果事件看 ARM PC市场的未来走向
  • 2025年Java后端开发岗面试的高频项目场景题 + 八股文(100w字)
  • SAFNet:一种基于CNN的轻量化故障诊断模型
  • 【os】标准库
  • Rust 学习笔记:比较数值
  • 分布式锁——学习流程
  • 设计模式精讲 Day 20:状态模式(State Pattern)
  • 从零到一搭建远程图像生成系统:Stable Diffusion 3.5+内网穿透技术深度实战
  • 深入解析NumPy的核心函数np.array()
  • Linux 终止进程
  • 企业级应用技术-ELK日志分析系统
  • Text2SQL主流实现方案
  • js代码09
  • matlab/Simulink-全套50个汽车性能建模与仿真源码模型9
  • Next.js 安装使用教程
  • UniApp完全支持快应用QUICKAPP-以及如何采用 Uni 模式开发发行快应用优雅草卓伊凡
  • Spring Boot 启动加载执行链路分析