uni-app Android平台上架要求的隐私政策提示配置方法【跨端开发系列】
文章目录
- 前言📖
- 一、前言
- 二、DCloud 数据采集说明
- 三、配置方式
- 3.1 HBuilderX3.2.1及以上版本配置方式
- 3.2 HBuilderX3.2.0及以下版本配置方法
- 3.3 模板提示框
- 3.4 无提示框
- 四、离线打包配置方式
- 五、模板提示框
- 六、二次确认提示框
- 七、国际化
- 八、隐私协议内容需要注意的问题
- 8.1 uni-app默认集成三方SDK
- 8.2 uni原生插件
- 8.3 其它
- 🎀🎀🎀uni-app 跨端开发系列 🎀🎀🎀
前言📖
uni-app
是一个使用 Vue.js
开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
uni-app
在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势。
从下面 uni-app
功能框架图可看出, uni-app
在跨平台的过程中,不牺牲平台特色,可优雅的调用平台专有能力,真正做到海纳百川、各取所长。
🎯今日探讨主题:Android平台上架要求的隐私政策提示配置方法
的问题。
一、前言
根据工业和信息化部关于开展 APP
侵害用户权益专项整治要求,App提交到应用市场必须满足以下条件:
- 应用启动运行时需弹出 隐私政策协议,说明应用采集用户数据 这里将详细介绍如何配置弹出
“隐私协议和政策”
提示框 - 应用不能强制要求用户授予权限,即不能
“不给权限不让用”
如不希望应用启动时申请“读写手机存储”和“
访问设备信息”权限,请参考:https://ask.dcloud.net.cn/article/36549
🔖为了兼顾隐私政策提示框的易用性和灵活性,解决 弹出隐私政策提示框
之前可能弹出 系统授权框
的问题。Android
平台提供了以下隐私政策提示配置策略:
template
使用原生提供的隐私政策模板提示框,应用启动时在 splash
界面弹出。
🎖️优点:在系统授权提示框之前显示,用户点击确认后才会进入应用。
🪫缺点:只能配置提示文本及链接地址,无法自定义提示框样式。
🚫none 不处理隐私政策,不提交到应用市场时使用。
二、DCloud 数据采集说明
为了持续优化应用及提供统计报表功能,在运行过程中会采集应用启动时间、异常错误日志等数据,其中包含设备唯一识别码。
DCloud 通过了国家信息安全等级保护三级,证书编号:11010813802-20001,保障相关数据的安全性 DCloud 并非大数据公司,采集的数据是为开发者提供统计服务和产品持续优化,不包含个人隐私信息。
📌请在 《隐私政策》
中必告知用户您的应用基于 DCloud uni-app(5+ App/Wap2App)
开发,增加如下参考条款:
我们的产品基于DCloud uni-app(5+ App/Wap2App)开发,应用运行期间需要收集您的设备唯一识别码(IMEI/android ID/DEVICE_ID/IDFA、SIM 卡 IMSI 信息、OAID)以提供统计分析服务,并通过应用启动数据及异常错误日志分析改进性能和用户体验,为用户提供更好的服务。详情内容请访问《DCloud用户服务条款》。(DCloud用户服务条款超链至:https://ask.dcloud.net.cn/protocol.html)
三、配置方式
3.1 HBuilderX3.2.1及以上版本配置方式
从 HBuilderX3.2.1+
版本开始新增 androidPrivacy.json
文件配置隐私政策提示框,支持真机运行查看效果,在 androidPrivacy.json
中也支持配置部分样式(如背景颜色、标题颜色、按钮颜色等)。 打开项目的 manifest.json
文件,切换到“App启动界面配置”,在 “Android启动界面样式”
中勾选 “使用原生隐私政策提示框”
🎯注意!androidPrivacy.json
不要添加注释,会影响隐私政策提示框的显示!!!
勾选后会在项目中自动添加 androidPrivacy.json
文件,可以双击打开自定义配置以下内容:
{"version": "1","prompt": "template","title": "服务协议和隐私政策","message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。","buttonAccept": "同意并接受","buttonRefuse": "暂不同意","hrefLoader": "system","backToExit":"false","second": {"title": "确认提示","message": " 进入应用前,你需先同意<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>,否则将退出应用。","buttonAccept": "同意并继续","buttonRefuse": "退出应用"},"disagreeMode":{"support": false,"loadNativePlugins": false,"visitorEntry": false,"showAlways": false},"styles": {"backgroundColor": "#00FF00","borderRadius":"5px","title": {"color": "#ff00ff"},"buttonAccept": {"color": "#ffff00"},"buttonRefuse": {"color": "#00ffff"},"buttonVisitor": {"color": "#00ffff"}}
}
version
隐私政策版本号,如果应用升级后希望重新弹出隐私政策提示框,则需要设置新版本。prompt
是否使用原生隐私政策提示框,值为“template”
表示使用,“none”
表示不使用。title
隐私政策提示框标题文本内容。message
隐私政策提示框正文内容,支持富文本richtext
类型字符串,支持a/font/br
等节点,点击a
链接会调用内置页面打开其href
属性中链接地址。 注意:务必配置
此提示内容,参考上面示例内容并修改《服务协议》和《隐私政策》链接地址。buttonAccept
模板提示框上接受按钮的文本,默认值为“同意”。buttonRefuse
模板提示框上拒绝按钮的文本,默认不显示此按钮。hrefLoader
HX 3.4.13之后版本新增,system
使用系统webview
打开隐私协议链接,默认使用uni-app
内置web
组件 隐私政策提示框中的链接地址加载方式,可取值:system
- 表示使用系统浏览器打开(注意此模式下不支持项目内路径);default
- 表示使用应用内置webview
页面打开。默认值为default
。 注意:可能有些检测机构认为webview
会读取隐私信息,这时可以配置为system
来解决此问题backToExit
HX 3.6.20之后版本新增。用来设置弹出隐私弹窗时,用户点击系统回退按钮 是否能退出应用。默认为false
不退出。部分应用市场不接受此行为,则开发者可以设置为true
,允许用户点击回退按钮时,退出应用。disagreeMode
用户不同意隐私协议的响应配置 具体配置及说明查看https://uniapp.dcloud.io/app-disagreemodesupport
用户拒绝隐私协议后,是否直接进入游客模式,默认false关闭loadNativePlugins
表示在disagreeMode
模式是否加载uni
原生插件,true
表示加载;false
表示不加载(此时调用uni.requireNativePlugin
加载插件扩展Module
返回undefined
,扩展组件Component
也无法使用)。默认值为true
。visitorEntry
HBuilderX 3.6.7 版本后支持,默认false
,当设置为true
,隐私协议弹窗 会出现 游客模式 按钮showAlways
HBuilderX 3.6.10 版本后支持,默认false
标记用户拒绝协议后,下次启动是否继续弹出,默认false,拒绝后不弹出
second
配置二次确认提示框显示内容,message
属性值不为空时弹出二次确认提示框title
二次确认提示框上的标题message
二次确认提示框上的内容,支持富文本richtext
类型字符串buttonAccept
二次确认提示框上接受按钮的文本buttonRefuse
二次确认提示框上拒绝按钮的文本
styles
配置隐私政策提示框样式backgroundColor
提示框背景颜色,#RRGGBB格式字符串borderRadius
提示框背景圆角半径,单位为px
(逻辑像素)title
提示框标题样式,其下仅支持color
属性配置文本颜色,值为#RRGGBB格式字符串buttonAccept
接受按钮样式,其下仅支持color
属性配置文本颜色,值为#RRGGBB格式字符串buttonRefuse
拒绝按钮样式,其下仅支持color
属性配置文本颜色,值为#RRGGBB格式字符串buttonVisitor
HX 3.6.7 版本后支持,游客模式按钮样式,其下仅支持color
属性配置文本颜色,值为#RRGGBB格式字符串
uni-app
项目可以使用uni
原生插件能支持更多自定义隐私政策提示框样式,可参考:https://ext.dcloud.net.cn/plugin?id=5581
3.2 HBuilderX3.2.0及以下版本配置方法
打开项目的 manifest.json
文件,切换到“源码视图”项
- uni-app 项目 在
"app-plus" -> "privacy"
节点下添加prompt
节点 - 5+ App 项目 在
"plus" -> "privacy"
节点下添加prompt
节点
privacy
节点数据格式如下:
"privacy": {"prompt": "template", //可取值template、none"template": { //prompt取值为template时有效,用于配置模板提示框上显示的内容}}
prompt
字符串类型,必填,隐私政策提示框配置策略,可取值template
,none
,默认值为none
template
使用原生提示框模板,可自定义标题、内容已经按钮上的文本。none
不弹出隐私政策提示框。
template json
格式,可选,模板提示框上显示的内容。
3.3 模板提示框
配置 promt
属性值为 template
时,表示 使用
原生模板隐私政策提示框,效果如下:
应用启动前,在 Splash
页面时显示此提示框,用户 点击同意
按钮后才会进入应用
可使用以下配置模板提示框内容:
"privacy": {"prompt": "template","template": {"title": "服务协议和隐私政策","message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。","buttonAccept": "同意","buttonRefuse": "暂不同意","second": {"title": "温馨提示","message": " 进入应用前,你需先同意<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>,否则将退出应用。","buttonAccept": "同意并继续","buttonRefuse": "退出应用",}}}
-
title
模板提示框上的标题,默认为“服务协议和隐私政策”
message
模板提示框上的内容,richtext
类型字符串,支持a/font/br
等节点,点击a
链接会调用内置页面打开其href
属性中链接地址。- HBuilderX3.2.5 以下版本
a
链接的href
属性仅支持网络地址,以http:
或https:
开头,如 “https://www.dcloud.io/privacy.html”。 - HBuilder3.2.5 及以上版本
a
链接的href
属性支持本地地址,相对于应用根目录,如“static/privacy.html”
注意:务必配置此提示内容,参考上面示例内容并修改《服务协议》和《隐私政策》链接地址。
- HBuilderX3.2.5 以下版本
-
buttonAccept
模板提示框上接受按钮的文本,默认值为“同意”, 注意:接受按钮设置为“我知道了”在部分应用市场上架时会审核不通过。 -
buttonRefuse
模板提示框上拒绝按钮的文本,默认不显示此按钮 。 -
second
HBuilderX3.1.12+版本新增支持隐私提示框二次确认提示,用于配置二次确认提示框显示内容,message属性值不为空时弹出二次确认提示框。 -
title
二次确认提示框上的标题。 -
message
二次确认提示框上的内容,支持richtext
类型字符串 。 -
buttonAccept
二次确认提示框上接受按钮的文本 。 -
buttonRefuse
二次确认提示框上拒绝按钮的文本。
配置后提交云端打包后生效
提供 5+ API
设置/获取状态:
- 获取是否同意隐私政策 参考规范:
plus.runtime.isAgreePrivacy
应用启动时调用此API查下状态,如果用户未同意则弹出自定义隐私政策提示框。
if(!plus.runtime.isAgreePrivacy()){//弹出自定义隐私政策提示框}
- 设置为同意隐私政策 参考规范:
plus.runtime.agreePrivacy
在自定义隐私政策提示界面用,用户点击“同意”按钮时需调用此API设置状态 - 设置为不同意隐私政策 参考规范:
plus.runtime.disagreePrivacy
在自定义隐私政策提示界面用,用户点击“不同意”按钮时需调用此API设置状态
🎯注意: 用户同意隐私政策前不要调用可能弹出系统授权框的API,如定位(plus.geolocation)、录音(plus.audio.getRecorder)等
3.4 无提示框
配置 prompt
属性值为 none
时,表示不显示隐私政策提示框。 如果不提交到应用市场,可以使用此模式。
四、离线打包配置方式
HBuilderX3.2.1+ 版本新增 androidPrivacy.json
配置隐私政策提示框,优先级高于原生环境配置,HBuilderX3.2.1+版本建议使用 androidPrivacy.json
替代本章节的离线打包配置。
在原生工程中应用的 AndroidManifest.xml
中配置隐私提供框模式,在 application
节点下添加 meta-data
节点数据,如下:
<application>
<meta-data android:name="DCLOUD_PRIVACY_PROMPT" android:value="template"/>
</application>
android:value
可取值为 "template"、"none"
。
配置使用 “template” 模板提示框时,需要按以下方法配置提示框内容 在原生工程的res/values目录下的 strings.xml
配置默认语言内容(为了兼容用户设置不同语言的清空,此文件必须配置)。中文还需要创建 res/values-zh
目录下的strings.xml
文件并配置中文内容。
五、模板提示框
请在原生工程的 strings.xml
中添加以下字段配置模板提示框内容。
<resources><string name="dcloud_privacy_prompt_title">弹窗标题</string><string name="dcloud_privacy_prompt_accept_button_text">接收按钮文字配置字段(不存在该字段,即使用默认内容“同意”)</string><string name="dcloud_privacy_prompt_refuse_button_text">拒绝按钮文字配置字段(没有该字段或该字段内容为空,拒绝按钮不显示)</string><string name="dcloud_privacy_prompt_message"><Data><![CDATA[弹窗内容,如果内容中有富文本,请将内容放入cdata下,如当前配置]]></Data></string>
</resources>
六、二次确认提示框
HBuilderX3.1.12+ 版本新增支持模板隐私提示框二次确认功能,点击隐私模板提示框时用户选择“拒绝”按钮并且二次确认提示框内容dcloud_second_privacy_prompt_message
配置不为空时会弹出二次确认提示框。
请在原生工程的 strings.xml
中添加以下字段配置二次确认提示框内容。
<string name="dcloud_second_privacy_prompt_title">二级弹窗标题</string>
<string name="dcloud_second_privacy_prompt_accept_button_text">接收按钮文字配置字段(不存在该字段,即使用默认内容“确定”)</string>
<string name="dcloud_second_privacy_prompt_message"><![CDATA[协议内容]]></string>
<string name="dcloud_second_privacy_prompt_refuse_button_text">拒绝按钮文字配置字段(没有该字段或该字段内容
七、国际化
HBuilderX3.2.12+版本androidPrivacy.json支持国际化
- uni-app项目 可参考
page.json
文件国际化方式处理,详见:uni-app项目 pages.json 国际化 - 5+ App项目 不支持
uni-app
形式的国际化配置,可以对androidPrivacy.json
文件中需要国际化处理的字段添加Locales
,示例如下:
{"prompt": "template","buttonAccept" : "默认接受按钮文本"
}
添加 buttonAcceptLocales
处理 buttonAccept
的国际化文本,如下
{"prompt": "template","buttonAccept" : "默认接受按钮文本","buttonAcceptLocales": {"en": "英文接受按钮文本","zh-Hans":"中文简体接受按钮文本","zh-Hant": "中文繁体接受按钮文本"}
}
八、隐私协议内容需要注意的问题
需要在《隐私政策》中必告知用户您的应用基于DCloud uni-app(5+ App/Wap2App)开发,添加如下参考条款:
我们的产品基于DCloud uni-app(5+
App/Wap2App)开发,应用运行期间需要收集您的设备唯一识别码(IMEI/android ID/DEVICE_ID/IDFA、SIM
卡 IMSI 信息、OAID)以提供统计分析服务,并通过应用启动数据及异常错误日志分析改进性能和用户体验,为用户提供更好的服务。
另外隐私政策中需要补充使用到的三方SDK,参考:
8.1 uni-app默认集成三方SDK
请参考文档Android平台各功能模块隐私合规条款
8.2 uni原生插件
如果应用使用了uni原生插件,需要注意一下几点:
- 使用插件时请查看插件详情页面中的 隐私、权限声明 。(插件使用什么sdk?获取了什么用户信息?都应由插件作者提供并填写在 隐私、权限声明中)
- 将插件中用到的三方SDK信息添加到用户隐私协议中。例如集成了百度定位。就需要在隐私协议中说明集成了百度定位SDK。获取了xxx用户信息!用于xxx.
- 如果发现插件有获取用户信息而插件详情页并没有提供隐私、权限声明,请与插件开发者或与我们反馈共同督促进行补充。
8.3 其它
《隐私政策》必须非常清楚、全面地说明(不要用可能收集、了解用户信息这种模糊不清晰的词语)收集用户个人信息的目的、方式和范围。 如果应用使用“通讯录”、“短信”等相关功能,请根据应用业务场景进行描述。
🎀🎀🎀uni-app 跨端开发系列 🎀🎀🎀
一、uni-app 组成和跨端原理
二、uni-app 各端差异注意事项
三、uni-app 离线本地存储方案
四、uni-app UI库、框架、组件选型指南
五、uni-app 蓝牙开发
六、uni-app 导航栏开发指南
七、uni-app 原生控件层级过高无法覆盖的解决方案
八、uni-app 设置缓存过期时间
九、uni-app H5端使用注意事项
相关文章:
uni-app Android平台上架要求的隐私政策提示配置方法【跨端开发系列】
文章目录 前言📖一、前言二、DCloud 数据采集说明三、配置方式3.1 HBuilderX3.2.1及以上版本配置方式3.2 HBuilderX3.2.0及以下版本配置方法3.3 模板提示框3.4 无提示框 四、离线打包配置方式五、模板提示框六、二次确认提示框七、国际化八、隐私协议内容需要注意的…...
在Ubuntu上使用docker compose安装N卡GPU的Ollama服务
在现代计算环境中,利用 GPU 进行计算加速变得越来越重要。下面将讲解如何在Ubuntu上使用docker compose安装N卡GPU的Ollama服务。 1、安装 NVIDIA 容器工具 首先,需要确保你的系统已经安装了 NVIDIA 容器工具 nvidia-container-toolkit。这是让 Docker 容器访问 GPU 的关键…...
中文分词学习
1.安装 jieba 库 !pip install jieba jieba 库是用于中文分词的工具,它通过精确的分词算法来处理文本。通过分词可以将中文句子拆分成单独的词语,这对于自然语言处理任务非常重要,比如文本分类、情感分析、关键词提取。 2.中文文本分词处理…...
Seata 分布式事务
1. 分布式事务介绍 传统单体应用场景下,系统的数据保存在一个数据库实例中,通常场景的关系数据库都能自动提供事务保证,并且这种情况下的事务称为本地事务,能保证原子性、一致性、隔离性、持久性(ACID 特性)…...
Burp入门(10)-IP伪造插件
声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:IP伪造和爬虫审计_哔哩哔哩_bilibili 本文详细介绍IP伪造插件Burp Fake IP使用。 一、插件安装 打开Burp Suite。进入扩展标签页。点击添加&…...
idea连接SQL Server数据库_idea连接sqlserver数据库
4.设置密码(这一步可以在安装数据库时就可以完成),如果觉得用户名有问题,也可以修改用户名 5.查看SQL Server端口号(默认端口:1433),选择SQL Server2019配置管理器 6.打开SQL Server…...
SQL汇总数据:聚集函数
我们经常需要汇总数据而无需实际检索出这些数据,为此SQL提供了专门的函数。使用这些函数,SQL查询能够高效地检索数据,以便进行分析和报表生成。这类检索的例子包括: 确定表中行数(或者满足某个条件或包含某个特定值的…...
Next.js系统性教学:服务器操作与数据变更
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 什么是服务器操作和数据变更? 1.1 服务器操作 (Server Actions) 1.2 数据变更 (Mutations) 2. Next.js中的服务器操作与数据变更 2.1 引入:…...
Python Selenium 各浏览器驱动下载与配置使用(详细流程)
大家好啊!我是NiJiMingCheng 这是我的博客:NiJiMingCheng 这节课我们来学习安装selenium和对应的各个浏览器驱动,个人比较喜欢使用谷歌浏览器驱动,所以接下来以谷歌浏览器来为大家做示例!!! Sel…...
python flask 框架模块介绍
Flask 是一个轻量级、可扩展的 Python Web 框架,特别适合构建小型和中型应用程序。它的设计哲学是简单、灵活,允许开发者根据需要选择或创建功能模块。以下是 Flask 框架的核心模块和其功能的详细讲解: 1. Flask 核心模块 (1) flask.Flask 类…...
手把手搭建基于.NET 8.0的Web API项目
1.背景 工作以后,大部分时间都是在做基于业务的CRUD工作,软件产品或者项目的框架基本都早就搭建好了,程序员只需要在框架内去填格子打代码就行了。于是,我抽了时间来搭建个简单的三层架构模式的web api项目,技术点大概…...
SQL注入基础入门篇 注入思路及常见的SQL注入类型总结
目录 前言一、了解mysql数据库1、了解sql增删改查2、了解sql查询 二、sql注入基础三、学习sql注入漏洞1、union注入1、判断数字型注入还是字符型型注入:2、判断闭合方式(字符型注入):3、判断回显位4、查询库名,表名&am…...
部门操作和日志
PostMapping("/depts") public Result add(RequestBody Dept dept){System.out.println("添加部门: " dept);deptService.add(dept);return Result.success(); }Override public void add(Dept dept) {dept.setCreateTime(LocalDateTime.now());dept.setU…...
如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档
本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能,通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1.WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…...
禁用SAP Hana错误密码锁定用户功能
背景 公司项目适配多种数据库其中包含SAP Hana,由于有同事的数据库连接工具保存了某个在用的数据库的旧密码,导致时不时会被锁用户。通过查询官方文档已解决,这里统一记录一下。 禁用密码锁定方法 以下按系统管理员和普通用户的解法分别列…...
uni-app 个人课程表页面
uni-app 个人课程表页面 插件参考地址 大部分代码都是参考了上述代码,只对代码做出了优化 1. 页面模板 在 schedule.vue 文件中,编写页面结构: <template><view><u-navbar title"个人中心"><view class&q…...
实现盘盈单自动化处理:吉客云与金蝶云星空数据对接
盘盈单103v2对接其他入库:吉客云数据集成到金蝶云星空 在企业信息化管理中,数据的高效流转和准确性至关重要。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将吉客云的数据无缝对接到金蝶云星空,实现盘盈单…...
如何查看内网设备访问互联网时的出口 IP 地址?
在企业VPC中我们通常是一个机房公用一个公网IP,也就是所有的设备共用同一个出口IP。 那么如何查看如何查看内网设备访问互联网时的出口 IP 地址呢? 要查看一台 Linux 内网设备访问互联网时的出口 IP 地址,可以使用以下几种方法:…...
JavaCV之FFmpegFrameFilter视频转灰度
1、代码 package com.example.demo.ffpemg;import lombok.SneakyThrows; import org.bytedeco.javacv.*;public class FFmpegFrameFilterVideoExample {SneakyThrowspublic static void main(String[] args) {// 输入视频文件路径String inputVideoPath "f:/2222.mp4&qu…...
MySQL | 尚硅谷 | 第16章_变量、流程控制与游标
MySQL笔记:第16章_变量、流程控制与游标 文章目录 MySQL笔记:第16章_变量、流程控制与游标第16章_变量、流程控制与游标 1. 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量 1.2 用户变量1.2.1 用户变量分类1.2.2 会话用户变量 1.2.3 局部变量1.2…...
css矩形样式,两边圆形
废话不多说,代码如下,直接拷贝即可使用: index.vue文件 <template><view class"wrap"><view class"tabs"><view class"tab active"><view class"name">标签</view…...
【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(7)
1.问题描述: 推送通知到手机,怎么配置拉起应用指定的页面? 解决方案: 1、如果点击通知栏打开默认Ability的话, actionType可以设置为0, 同时可以在.clickAction.data中,指定待跳转的page页面…...
孚盟云 MailAjax.ashx SQL注入漏洞复现
0x01 产品简介 上海孚盟软件有限公司是一家外贸SaaS服务提供商,也是专业的外贸行业解决方案专业提供商。 全新的孚盟云产品,让用户可以用云模式实现信息化管理,让用户的异地办公更加流畅,大大降低中小企业在信息化上成本,用最小的投入享受大型企业级别的信息化服务,主要…...
Windows平台Unity3D下RTMP播放器低延迟设计探讨
技术背景 好多开发者希望我们分享下大牛直播SDK是如何在Unity下实现低延迟的RTMP播放的,以下是一些降低 Unity 中 RTMP 播放器延迟的方法: 一、选择合适的播放插件或工具 评估和选用专业的流媒体插件 市场上有一些专门为 Unity 设计的流媒体插件&…...
数据结构---队列(Queue)
1. 简介 队列(Queue)是一种常用的数据结构,它遵循先进先出(FIFO,First In First Out)的原则。这意味着第一个进入队列的元素将是第一个被移除的元素。队列在计算机科学中有着广泛的应用,比如任…...
软件测试丨Appium 源码分析与定制
在本文中,我们将深入Appium的源码,探索它的底层架构、定制化使用方法和给软件测试带来的优势。我们将详细介绍这些技术如何解决实际问题,并与大家分享一些实用的案例,以帮助读者更好地理解和应用这一技术。 Appium简介 什么是App…...
selenium学习:等待方式
隐式等待 1.针对查找元素设置最大的超时时间 2.可以全局性的设置 3.不满足时,提示no such element driver.implicitly_wait(5) #对查找元素最大的超时时间,如果超过最大等待时间后,没有找到元素,则会报错:no such #e…...
京准电钟分享:医院网络内NTP时间同步服务器作用是什么?
京准电钟分享:医院网络内NTP时间同步服务器作用是什么? 京准电钟分享:医院网络内NTP时间同步服务器作用是什么? 时间同步技术必定将是整个大数据处理系统的重要支撑和保障。时间同步技术使数据产生与处理系统的所有节点具有全局…...
Excel 合并工具 将文件复制到目标工作表中与操作日志记录
指定文件夹中读取符合条件的 Excel 文件,将其中的数据按照一定规则复制到目标工作表中,并进行相关的日志记录和工作簿保存操作。 先看下 excel 的结构 合并的结果 log 记录 vba 代码 Sub DeltaCheck()作者和创建时间的注释 定义工作表变量Dim ws As Wor…...
Linux 内核源码
Linux 内核的源代码可以在以下位置获取: • 官方网站:https://www.kernel.org/是Linux内核源代码的官方获取渠道,该网站提供了各种版本的内核源代码压缩包,用户可按需选择版本下载. • Git 仓库:使用Git工具可克隆Li…...
Windows中MySQL8.3.4 MSI版本——详细安装教程
一、下载MySQL安装文件。 下载地址:MySQL官网 进入后点击下面的MySQL社区版下载 点击MySQL Comunity Server。 我这里选择的是版本8.4.3LTS版本,在线对应的msi文件。 点击No thanks,直接下载。 二、安装MySQL 2.1、双击刚刚下载好的msi文件,…...
STM32F103单片机使用STM32CubeMX新建IAR工程步骤
打开STM32CubeMX软件,选择File 选择新建工程 在打开的窗口输入单片机型号 在右下角选择单片机型号,然后点右上角 start project,开始新建工程。 接下来设置调试接口,在左边System Core中选择 SYS,然后在右右边debu…...
使用 WebRtcStreamer 实现实时视频流播放
WebRtcStreamer 是一个基于 WebRTC 协议的轻量级开源工具,可以在浏览器中直接播放 RTSP 视频流。它利用 WebRTC 的强大功能,提供低延迟的视频流播放体验,非常适合实时监控和其他视频流应用场景。 本文将介绍如何在Vue.js项目中使用 WebRtcSt…...
Java中内存存储与Redis存储的动态同步示例
在web应用程序中,缓存的使用越来越普遍。Redis,作为一种高性能的键值数据库,常被用作数据缓存。本文将说明如何在 Java 应用中使用 Redis 存储,并确保在内存中的值发生变化时,Redis 中的值也能动态更新。 Redis&#…...
Vue3的表单提交控制:条件启用和禁用按钮
目录 前言1. 需求分析2. Demo 前言 主要总结基本的知识点、需求归类以及模版的总结 新增的时候只有点击某个按钮,后续才能触发保存 但是为了规避 编辑的时候同一个表单,需要加入一个type,避开update而不是create 以下Demo主要作为分析使…...
FastAPI解决跨域报错net::ERR_FAILED 200 (OK)
目录 一、跨域问题的本质 二、FastAPI中的CORS处理 1. 安装FastAPI和CORS中间件 2. 配置CORS中间件 3. 运行FastAPI应用 三、解决跨域报错的步骤 四、案例:解决Vue.js与FastAPI的跨域问题 1. Vue.js前端应用 2. FastAPI后端API 3. 配置CORS中间件 4. 运行和测试 五…...
使用SQLark分析达梦慢SQL执行计划的一次实践
最近刚参加完达梦的 DCP 培训与考试,正好业务系统有个 sql 查询较慢,就想着练练手。 在深入了解达梦的过程中,发现达梦新出了一款叫 SQLark 百灵连接的工具。 我首先去官网大致浏览了下。虽然 SQLark 在功能深度上不如 DM Manager 和 PL/SQ…...
12-从TypeScript到ArkTS的适配规则(2)
12-从TypeScript到ArkTS的适配规则(2) 不支持this类型 **规则:**arkts-no-typing-with-this 级别:错误 ArkTS不支持this类型,改用显式具体类型。 TypeScript interface ListItem { getHead(): this} class C { …...
Flink WebUI解析(待更新)
写在前面 2024-05-23:对于flink webUI的查看,首先还是根据先整体观看一下Task的划分,然后根据Exception去寻找对应的TaskManager相关信息,然后双向确定是什么原因造成的;作为metrics,虽然看起来花里胡哨&a…...
C语言(十五)---- 编译和链接
编译和链接 编译和链接翻译环境和运行环境翻译环境 编译预处理(预编译)编译词法分析语法分析语义分析 汇编 链接运行环境 翻译环境和运行环境 在实现C语言代码文件的过程中存在两个不同的环境,分别有着不同的作用。 翻译环境:在…...
Java已死,大模型才是未来?
一、引言 在数字技术的浪潮中,编程语言始终扮演着至关重要的角色。Java,自1995年诞生以来,便以其跨平台的特性和丰富的生态系统,成为了全球范围内开发者们最为青睐的编程语言之一 然而,随着技术的不断进步和新兴语言的…...
Vue3页面内跳转锚点-scrollIntoView()
scrollIntoView() scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。 element.scrollIntoView(); // 等同于element.scrollIntoView(true) element.scrollIntoView(alignToTop); //布尔参…...
UE4_环境_体积云_通过蓝图来控制云彩的形状及位置。
一、体积云使用之前需要做两件事: 1、开启插件Volumetrics,重启虚幻编辑器。 2、确定视图选项中“显示引擎内容”被勾选。 二、开始使用体积云 1、找到体积云,并拖拽到场景中 2、我们可以调节参数来设置体积云。 3、我们找到Volumetrics内容…...
【优选算法-滑动窗口】长度最小的子数组、无重复字符的最长子串、最大连续1的个数、将x减为0的最小操作数、水果成篮
一、长度最小的子数组 题目链接: 209. 长度最小的子数组 - 力扣(LeetCode) 题目介绍: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, .…...
在Spring Boot项目中整合Redis:高效数据存储与缓存的最佳实践
目录 1. 引入依赖 2. 创建序列化配置类 2.1 序列化的选择 3. 配置YAML文件 3.1 连接池的配置 4. 使用Redis 4.1 复杂数据类型的存储 4.2 列表、集合和哈希的使用 4.2.1 列表示例 4.2.2 集合示例 4.2.3 哈希示例 5. 处理事务和管道 5.1 事务示例 5.2 管道示例 6…...
什么是自动化办公
自动化办公是指使用技术工具或软件,通过预设流程或脚本,自动执行日常办公任务,从而提升效率、减少错误、节约时间的办公模式。它适用于需要重复性、规则明确的工作流程,让员工将精力集中在更具创造性和战略性的工作上。 自动化办公…...
搜索引擎是如何理解你的查询并提供精准结果的?
目录 一、搜索引擎简单介绍 二、搜索引擎整体架构和工作过程 (一)整体分析 (二)爬虫系统 三个基本点 爬虫系统的工作流程 关键考虑因素和挑战 (三)索引系统 网页处理阶段 预处理阶段 反作弊分析…...
国内外网络安全政策动态(2024年11月)
▶︎ 1.13项网络安全国家标准自11月1日起实施 11月1日起,《网络安全技术 信息技术安全评估准则》等13项网络安全国家标准开始实施,其中,《网络安全技术 信息技术安全评估准则 第1-5部分》《网络安全技术 信息技术安全评估方法》等6项推荐性国…...
服务器---centos上前端从0到1配置项目部署
在进行前端开发时,我们经常会面临将项目部署到服务器上的需求。为了更好地管理和保护我们的前端应用,我们通常会使用反向代理来实现对后端服务的访问。而对于使用CentOS系统的开发者来说,Nginx就是一个非常强大且可靠的工具。 在本文中,我们将探讨如何在CentOS系统上配置Ng…...
【前端】深入解析 JavaScript 中的 instanceof 运算符与 number 数据类型 和 Number 对象 区别辨析
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯理论基础:instanceof 运算符的设计初衷与核心功能基础定义与应用示例解析代码分解 💯typeof 与 instanceof:两种类型检测方法的语义与…...