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

Uniapp 开发 App 端上架用户隐私协议实现指南

文章目录

  • 引言
  • 一、为什么需要用户隐私协议?
  • 二、Uniapp 中实现用户隐私协议的步骤
    • 2.1 编写隐私协议内容
    • 2.2 在 Uniapp 中集成隐私协议
    • 2.3 DCloud数据采集说明
    • 2.4 配置方式
    • 3.1 Apple App Store
    • 3.2 Google Play Store
  • 四、常见问题与解决方案
    • 4.1 隐私协议内容不完整
    • 4.2 用户不同意隐私协议
    • 4.3 隐私协议更新
  • 五、总结


在这里插入图片描述

引言

在移动应用开发中,用户隐私协议是不可或缺的一部分。无论是 iOS 还是 Android 平台,上架应用商店时都需要提供用户隐私协议。本文将详细介绍如何在 Uniapp 开发的 App 端实现用户隐私协议,并确保其符合各大应用商店的上架要求。

一、为什么需要用户隐私协议?

用户隐私协议是开发者向用户说明如何收集、使用、存储和保护用户个人信息的法律文件。随着 GDPR(通用数据保护条例)和 CCPA(加州消费者隐私法案)等隐私保护法规的实施,用户隐私协议的重要性愈发凸显。应用商店如 Apple App StoreGoogle Play Store 都要求应用在上架时提供隐私协议链接。

二、Uniapp 中实现用户隐私协议的步骤

HBuilderX2.6.3+ 版本开始支持配置隐私政策提示框 HBuilderX3.1.10+ 版本优化template 模式策略,解决应用市场检测到弹出隐私政策提示框之前读取 mac 地址和应用列表的问题 HBuilderX3.2.1+ 版本开始支持 androidPrivacy.json 文件配置隐私政策提示框,真机运行时也可生效 HBuilderX3.2.5+ 版本隐私政策提示框内容中的链接支持本地 html 页面地址。

📢注意:目前设置 custom 模式策略,并不能完全避免在弹出隐私提示框之前,读取设备信息(如 mac 地址、应用列表等)的情况,主要原因是自定义模式隐私提示框并不能阻塞应用的生命周期,使用到一些三方 SDK(如X5 Webview内核、UniPush等)在应用启动时会执行初始化操作,三方 SDK 这是可能会读取设备信息。碰到此问题的开发者请先使用 template 模式解决,我们后续会提供新的自定义隐私提示框样式解决方案。

注意: 请使用 HBuilderX3.2.15+ 版本打包,并使用 template 配置隐私弹窗否则无法正常上架应用市场 uni 小程序 SDK 暂时不支持 uniapp 自己配置隐私弹窗,需要宿主自行实现隐私弹窗。

2.1 编写隐私协议内容

首先,你需要编写一份详细的隐私协议。隐私协议通常包括以下内容:

  • 信息收集:说明应用会收集哪些用户信息(如设备信息、位置信息、用户行为数据等)。

  • 信息使用:解释收集的信息将如何被使用(如改善应用体验、个性化推荐等)。

  • 信息存储:说明用户信息的存储方式和地点。

  • 信息保护:描述如何保护用户信息,防止数据泄露。

  • 用户权利:告知用户他们有哪些权利(如访问、修改、删除个人信息等)。

  • 第三方服务:如果应用集成了第三方服务(如广告 SDK、支付 SDK 等),需说明这些服务如何收集和使用用户信息。

你可以参考一些知名应用的隐私协议,或者请法律专业人士协助编写。

2.2 在 Uniapp 中集成隐私协议

为了兼顾隐私政策提示框的易用性和灵活性,解决弹出隐私政策提示框之前可能弹出系统授权框的问题。Android 平台提供了以下隐私政策提示配置策略:

  • template 使用原生提供的隐私政策模板提示框,应用启动时在splash界面弹出。
    • 优点:在系统授权提示框之前显示,用户点击确认后才会进入应用
    • 缺点:只能配置提示文本及链接地址,无法自定义提示框样式
  • none 不处理隐私政策 不提交到应用市场时使用

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

2.4 配置方式

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-disagreemode
support 用户拒绝隐私协议后,是否直接进入游客模式,默认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.1 Apple App Store

在上架 Apple App Store 时,你需要在 App Store Connect 中提供隐私协议的链接。Apple 要求隐私协议必须清晰、易懂,并且涵盖所有信息收集和使用的情况。

3.2 Google Play Store

Google Play Store 也要求开发者提供隐私协议链接。Google 特别强调隐私协议中需要说明应用是否收集用户的敏感信息(如位置、联系人等),并且需要遵守 GDPR 等隐私保护法规。

四、常见问题与解决方案

4.1 隐私协议内容不完整

问题:隐私协议内容不完整,导致应用被应用商店拒绝。

解决方案:确保隐私协议涵盖所有信息收集和使用的情况,特别是涉及第三方 SDK 时,需详细说明其隐私政策。

4.2 用户不同意隐私协议

问题:用户不同意隐私协议,导致无法使用应用。

解决方案:在用户不同意隐私协议时,可以提示用户必须同意才能继续使用应用,或者提供退出应用的选项。

4.3 隐私协议更新

问题:隐私协议更新后,如何通知用户并重新获取同意。

解决方案:在隐私协议更新时,可以通过弹窗或通知的方式告知用户,并要求用户重新同意。

五、总结

Uniapp 开发 App 端时,实现用户隐私协议是上架应用商店的必要步骤。通过合理设计隐私协议的展示方式和内容,不仅可以满足应用商店的要求,还能增强用户对应用的信任感。希望本文能帮助你在 Uniapp 开发中顺利实现用户隐私协议,并成功上架应用商店。

相关文章:

Uniapp 开发 App 端上架用户隐私协议实现指南

文章目录 引言一、为什么需要用户隐私协议&#xff1f;二、Uniapp 中实现用户隐私协议的步骤2.1 编写隐私协议内容2.2 在 Uniapp 中集成隐私协议2.3 DCloud数据采集说明2.4 配置方式3.1 Apple App Store3.2 Google Play Store 四、常见问题与解决方案4.1 隐私协议内容不完整4.2…...

mapbox高阶,结合threejs(threebox)添加extrusion挤出几何体,并添加侧面窗户贴图和楼顶贴图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️threebox extrusion挤出几何体二、🍀…...

【Pycharm】Pycharm无法复制粘贴,提示系统剪贴板不可用

我也没有用vim的插件&#xff0c;检查了本地和ubutnu上都没有。区别是我是远程到ubutnu的pycharm&#xff0c;我本地直接控制windowes的pycharm是没问题的。现象是可以从外部复制到pycharm反之则不行。 ctl c ctlv 以及右键 都不行 参考&#xff1a;Pycharm无法复制粘贴&…...

Java泛型程序设计使用方法

Java泛型程序设计是Java语言中一项强大的特性&#xff0c;它允许你编写更加通用和类型安全的代码。以下是Java泛型程序设计的使用方法和技巧&#xff1a; 1. 基本概念 泛型类&#xff1a;可以定义一个类&#xff0c;其中的某些类型是参数化的。 public class Box<T> {pr…...

【STM32】USART串口收发HEX数据包收发文本数据包

有关串口知识参考&#xff1a;【STM32】USART串口协议&串口外设-学习笔记-CSDN博客 HEX模式/十六进制模式/二进制模式&#xff1a;以原始数据的形式显示文本模式/字符模式&#xff1a;以原始数据编码后的形式显示 参考上面文章查看ASCII编码表 HEX数据包 ​ 包头包尾和…...

Keil5下载教程及安装教程(附安装包)

文章目录 前言一、Keil5下载教程二、Keil5安装教程三、Keil5授权教程 前言 本教程详细的介绍了Keil5下载教程及安装教程&#xff0c;就像搭积木一样简单易懂&#xff0c;让你轻松迈出开发的第一步。 一、Keil5下载教程 相比旧版本&#xff0c;Keil MDK v5.40 有显著升级。新增…...

快速上手网络通信 -- Qt Network应用开发

概述 在现代应用程序开发中,网络通信是不可或缺的一部分,无论是客户端与服务器之间的数据交换,还是设备间的通信,都需要一个高效且可靠的网络库。Qt提供了强大的QT Network模块,支持多种网络协议和操作,如HTTP、FTP、TCP/IP等,本文将详细介绍如何使用Qt Network模块进行…...

Linux-进程概念

本节学习重点&#xff1a; • 认识冯诺依曼系统 • 操作系统概念与定位 • 深⼊理解进程概念&#xff0c;了解PCB • 学习进程状态&#xff0c;学会创建进程&#xff0c;掌握僵⼫进程和孤⼉进程&#xff0c;及其形成原因和危害 • 了解进程调度&#xff0c;Linux进程优先级&am…...

【LeetCode】622、设计循环队列

【LeetCode】622、设计循环队列 文章目录 一、数组实现循环队列1.1 队列 二、多语言解法 一、数组实现循环队列 1.1 队列 注意&#xff1a;题目要求了 Front() 和 Rear()&#xff0c;当 IsEmpty() 时返回 -1 // go type MyCircularQueue struct {l intr intlen intcap intar…...

基于python+django+vue.js开发的医院门诊管理系统/医疗管理系统源码+运行

功能介绍 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。源码 功能包括&#xff1a;医生管理、科室管理、护士管理、住院管理、药品管理、用户管理、日志管理、系统信息模块。 源码地址 https://github.com/geee…...

2023南京理工大学计算机复试上机真题

2023南京理工大学计算机复试上机真题 2023南京理工大学计算机复试机试真题 历年南京理工大学计算机复试上机真题 在线评测&#xff1a;传送门&#xff1a;pgcode.cn 括号匹配二 题目描述 苗苗今天刚刚学会使用括号&#xff0c;不过他分不清小括号&#xff0c;中括号&#…...

开发、科研、日常办公工具汇总(自用,持续更新)

主要记录汇总一下自己平常会用到的网站工具&#xff0c;方便查阅。 update&#xff1a;2025/2/11&#xff08;开发网站补一下&#xff09; update&#xff1a;2025/2/21&#xff08;补充一些AI工具&#xff0c;刚好在做AI视频相关工作&#xff09; update&#xff1a;2025/3/7&…...

python3GUI--模仿安卓桌面 By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.主界面2.设置页面3.更换了壁纸且切换桌面页面 三&#xff0e;项目分享1.项目代码结构2.组件代码分享 四&#xff0e;总结 文件大小25.5M&#xff0c;欢迎下载体验&#xff01;点击下载 一&#xff0e;前言 今天给大家推荐我用…...

STM32CubeIDE 下载与安装教程(以 1.18.0 版本为例)

STM32CubeIDE 下载与安装教程&#xff08;以 1.18.0 版本为例&#xff09; 软件介绍 STM32CubeIDE 是 STMicroelectronics 提供的官方集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为 STM32 微控制器系列设计。它融合了 STM32CubeMX 和 Eclipse 的强大功能&#xf…...

酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流

酒店宾馆IPTV数字电视系统&#xff1a;创新宾客体验&#xff0c;引领智慧服务新潮流 北京海特伟业科技有限公司任洪卓于2025年3月15日发布 随着智慧酒店的不断发展&#xff0c;宾客对于酒店内的娱乐和信息服务需求日益多样化&#xff0c;传统的电视服务已难以满足现代宾客的高…...

蓝桥杯刷题——第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

一、0握手问题 - 蓝桥云课 算法代码&#xff1a; #include <iostream> using namespace std; int main() {int sum0;for(int i49;i>7;i--)sumi;cout<<sum<<endl;return 0; } 直接暴力&#xff0c;题意很清晰&#xff0c;累加即可。 二、0小球反弹 - 蓝…...

MobileNet家族:从v1到v4的架构演进与发展历程

MobileNet 是一个专为移动设备和嵌入式系统设计的轻量化卷积神经网络&#xff08;CNN&#xff09;家族&#xff0c;旨在在资源受限的环境中实现高效的图像分类、对象检测和语义分割等任务。自 2017 年首次推出以来&#xff0c;MobileNet 经历了从 v1 到 v4 的多次迭代&#xff…...

PyTorch PINN实战:用深度学习求解微分方程

在人工智能与计算数学的交汇点&#xff0c;物理信息神经网络&#xff08;Physics-Informed Neural Networks&#xff0c;PINN&#xff09;正引领着一场求解微分方程的革命。传统上&#xff0c;微分方程是描述自然现象和工程问题中各种关系的重要工具&#xff0c;但其求解往往依…...

LRU(最近最少使用)算法实现

核心思想与基本思路 LRU&#xff08;Least Recently Used&#xff09;算法是一种缓存淘汰策略&#xff0c;其核心思想是淘汰最近最少使用的数据。 最近使用原则&#xff1a;最近被访问的数据在未来被访问的概率更高&#xff0c;因此应保留在缓存中。淘汰机制&#xff1a;当缓…...

【大模型实战】利用ms-swift微调框架对QwQ-32B推理模型进行微调

1. 背景介绍 之前我们在《大模型训练/微调的一些经验分享》、《利用DeepSeek-R1数据微调蒸馏ChatGLM32B让大模型具备思考能力》中做了相关模型微调的介绍。目前在基座大模型能力还没有达到足够牛的情况下&#xff0c;大模型微调在商业化、垂直领域应用依然是不可或缺&#xff0…...

蓝桥杯省赛真题C++B组-小球反弹

一、题目 有一长方形&#xff0c;长为 343720 单位长度&#xff0c;宽为 233333 单位长度。在其内部左上角顶点有一小球(无视其体积)&#xff0c;其初速度如图所示且保持运动速率不变&#xff0c;分解到长宽两个方向上的速率之比为 dx:dy 15:17。小球碰到长方形的边框时会发生…...

Web3到底解决了什么问题?

文章目录 Web3到底解决了什么问题?1. 数据所有权与控制权的转移2. 打破中心化平台的垄断3. 信任与透明度的重构4. 价值分配机制的革新5. 互操作性与开放生态6.Web3 的局限性&#xff08;附加说明&#xff09; Web3到底解决了什么问题? 1. 数据所有权与控制权的转移 问题&am…...

基于CSV构建轻量级数据库:SQL与Excel操作的双模实践

基于CSV构建轻量级数据库&#xff1a;SQL与Excel操作的双模实践 引言&#xff1a;当CSV遇到SQL和Excel CSV&#xff08;逗号分隔值&#xff09;作为最通用的数据存储格式之一&#xff0c;凭借其纯文本可读性和跨平台兼容性&#xff0c;被广泛应用于数据交换和简单存储场景。但…...

【深度学习】多源物料融合算法(一):量纲对齐常见方法

目录 一、引言 二、量纲对齐常见方法 2.1 Z-score标准化Sigmoid归一化 2.2 Min-Max 归一化 2.3 Rank Transformation 2.4 Log Transformation 2.5 Robust Scaling 3、总结 一、引言 类似抖音、快手、小红书等产品的信息流推荐业务&#xff0c;主要通过信息流广告、信…...

STM32-SPI通信外设

目录 一&#xff1a;SPI外设简介 SPI框图​编辑 SPI逻辑 ​编辑 主模式全双工连续传输 ​编辑 非连续传输 二&#xff1a;硬件SPI读写W25Q64 1.接线&#xff1a; 2. 代码 SPI外设的初始化 生成时序 一&#xff1a;SPI外设简介 STM32内部集成了硬件SPI收发电路&#…...

告别XML模板的繁琐!Word文档导出,easy!

word模板导出 最近项目中有个功能&#xff0c;导出月报&#xff0c;发现同事使用了docx格式模板,感觉比之前转成xml的简单多了&#xff0c;这边记录下使用方法。 xml方式导出word,模板太复杂了 资料 poi-tl 一个基于Apache POI的Word模板引擎&#xff0c;也是一个免费开源的Jav…...

LeetCode 3280 将日期转换为二进制表示

【算法实战】日期转二进制&#xff1a;两种解法的思路与优化&#xff08;附代码解析&#xff09; 一、问题描述 给定一个yyyy-mm-dd格式的日期字符串&#xff0c;要求将年、月、日分别转为无前导零的二进制&#xff0c;并保持year-month-day格式。 示例&#xff1a;输入2025-…...

基于SpringBoot的“考研互助平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“考研互助平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 局部E-R图 系统首页界面 系统注册…...

在线Doc/Docx转换为PDF格式 超快速转换的一款办公软件 文档快速转换 在线转换免费转换办公软件

小白工具https://www.xiaobaitool.net/files/word-pdf/提供了一项非常实用的在线服务——将Doc或Docx格式的文档快速转换为PDF格式。这项服务不仅操作简单&#xff0c;而且转换效率高&#xff0c;非常适合需要频繁处理文档转换的用户。 服务特点&#xff1a; 批量转换&#x…...

3.14-进程间通信

进程间通信 IPC 进程间通信的原理&#xff0c;借助进程之间使用同一个内核&#xff0c;借助内核&#xff0c;传递数据。 进程间通信的方法 管道&#xff1a;最简单。信号&#xff1a;开销小。mmap映射&#xff1a;速度最快&#xff0c;非血缘关系之间。socket&#xff08;本…...

大模型AI多智能体系统(Multi-Agent Systems, MAS)技术介绍

一、多智能体系统的定义与核心概念 多智能体系统(MAS)是由多个具备自主决策能力的智能体(Agent)组成的分布式系统。每个智能体能够感知环境、执行动作,并通过协作或竞争实现个体或集体目标。其核心特征包括: 自主性:智能体无需外部指令即可独立决策(如MetaGPT中的角色…...

web3区块链

Web3 是指下一代互联网&#xff0c;也被称为“去中心化互联网”或“区块链互联网”。它是基于区块链技术构建的&#xff0c;旨在创建一个更加开放、透明和用户主导的网络生态系统。以下是关于 Web3 的一些关键点&#xff1a; ### 1. **核心概念** - **去中心化**&#xff1…...

Alembic 实战指南:快速入门到FastAPI 集成

一、快速开始 1.1 简介 Alembic 是一个基于 SQLAlchemy 的数据库迁移工具&#xff0c;主要用于管理数据库模式&#xff08;Schema&#xff09;的变更&#xff0c;例如新增表、修改字段、删除索引等&#xff0c;确保数据库结构与应用程序的 ORM 模型保持一致。 Alembic 通过版…...

【视频】V4L2、ffmpeg、OpenCV中对YUV的定义

1、常见的YUV格式 1.1 YUV420 每像素16位 IMC1:YYYYYYYY VV-- UU– IMC3:YYYYYYYY UU-- VV– 每像素12位 I420: YYYYYYYY UU VV =>YUV420P YV12: YYYYYYYY VV UU =>YUV420P NV12: YYYYYYYY UV UV =>YUV420SP(最受欢迎格式) NV21: YYYYYYYY VU VU =>YUV420SP…...

ubuntu20.04装nv驱动的一些坑

**1.一定要去bios里面关闭secure boot&#xff0c;否则驱动程序需要签名&#xff0c;安装了的驱动无法被识别加载 2.假如没有关闭secure boot然后装了驱动&#xff0c;然后再去关闭secure boot&#xff0c;可能会导致进入不了ubuntu的情况 此时&#xff0c;先恢复secure boot&…...

【SpringMVC】常用注解:@SessionAttributes

1.作用 用于多次执行控制器方法间的参数共享 2.属性 value&#xff1a;用于指定存入的属性名称 type&#xff1a;用于指定存入的数据类型 3.示例 先写JSP代码 <a href"demo1/putMethod">存入 SessionAttribute</a><br><a href"demo…...

阿里云企业邮箱出现故障怎么处理?

阿里云企业邮箱出现故障怎么处理&#xff1f; 以下是处理阿里云企业邮箱故障的详细分步指南&#xff0c;帮助您快速定位问题并恢复邮箱正常使用&#xff1a; 一、初步排查&#xff1a;确认故障范围与现象 确定影响范围 全体用户无法使用 → 可能为阿里云服务端故障或网络中断。…...

C# Enumerable类 之 集合操作

总目录 前言 在 C# 中&#xff0c;System.Linq.Enumerable 类是 LINQ&#xff08;Language Integrated Query&#xff09;的核心组成部分&#xff0c;它提供了一系列静态方法&#xff0c;用于操作实现了 IEnumerable 接口的集合。通过这些方法&#xff0c;我们可以轻松地对集合…...

LVGL移植到6818开发板

一、移植步骤 1.lv_config.h 配置文件启动 framebuffer 2、lv_config.h 配置文件关闭SDL 2.修改main.c 去掉SDL输入设备 3.修改Makefile 文件启动交叉编译 去掉警告参数 去掉SDL库 4.交叉编译代码 make clean #清空 ⭐ 必须要清空一次再编译&#xff01; 因为修改了 lv_con…...

深入理解 `ParameterizedTypeReference`:解决 Java 泛型擦除问题

在 Java 中&#xff0c;由于类型擦除的存在&#xff0c;我们在使用 RestTemplate 获取带有泛型的 HTTP 响应时&#xff0c;可能会遇到 泛型信息丢失 的问题。而 ParameterizedTypeReference<T> 正是用来解决这个问题的。 本文将深入解析 ParameterizedTypeReference 的作…...

如何使用Python的matplotlib.pyplot绘制热图和损失图

在Python的数据可视化中&#xff0c;matplotlib是一个非常重要的库。而matplotlib.pyplot作为其中一个模块&#xff0c;提供了许多绘制各种图形的函数。今天&#xff0c;我们就来聊聊如何利用这个库来绘制热图和损失图&#xff0c;通过这两个图形展示数据&#xff0c;让我们一起…...

【数据分享】2000—2024年我国省市县三级逐月归一化植被指数(NDVI)数据(Shp/Excel格式)

之前我们分享过2000—2024年逐月归一化植被指数&#xff08;NDVI&#xff09;栅格数据&#xff08;可查看之前的文章获悉详情&#xff09;&#xff0c;该数据来源于NASA定期发布的MOD13A3数据集&#xff01;很多小伙伴拿到数据后反馈栅格数据不太方便使用&#xff0c;问我们能不…...

数据结构---堆栈和列

一、堆栈 1.栈堆&#xff1a;具有一定操作约束的线性表&#xff1b;&#xff08;只在一端做插入删除&#xff09; 2.栈的顺序存储结构&#xff1a; 由一个一维数组和一个记录栈顶元素位置的变量组成。定义方式如下&#xff1a; 3.入栈操作&#xff1a; 注意&#xff1a;&…...

威胁驱动的网络安全方法论

摘要 目前的网络安全风险管理实践很大程度上是由合规性要求驱动的&#xff0c;这使得公司/组织不得不在安全控制和漏洞上投入人力/物力。&#xff08;风险管理涉及多个方面&#xff0c;包括资产、威胁、漏洞和控制&#xff0c;并根据事故发生的可能性及造成的影响进行评估。威胁…...

搭建Spring Boot Admin监控系统

什么是Spring Boot Admin Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源工具。它提供了一个用户友好的 Web 界面&#xff0c;用于集中管理和监控多个 Spring Boot 应用程序的运行状态、健康状况、日志、配置等信息。 Spring Boot Admin 的核心功能 应用…...

P2730 魔板 (写了巨久..有一些数字,字符,字符串之间的转换规则)

ac代码&#xff1a; #include<iostream> #include<map> #include<queue> using namespace std; map<string,int>mp1,mp2; map<string,string>mp3; queue<string>q; string str,res"12345678"; void pri(string str){if(resstr)…...

MinIo前后端实现

这几天想玩玩Minio&#xff0c;整体来说简单使用起来不复杂&#xff08;当然也有可能是我配置的太少了&#xff09; Minio下载 我是通过Dokcer在虚拟机上下载的&#xff08;Docker真好用啊&#xff09; 拉取Minio镜像 docker pull minio/minio启动Minio容器 docker run -d …...

mesh开发解析

开源的Mesh网络协议栈及相关项目&#xff1a; 1.B.A.T.M.A.N.(Better Approach to Mobile Ad-hoc Networking)• 简介&#xff1a;B.A.T.M.A.N.是一种用于多跳自组织网络的路由协议&#xff0c;适用于无线Mesh网络。它通过优化数据传输路径&#xff0c;确保网络的高可靠性和动…...

使用netlify部署github的vue/react项目或本地的dist,国内也可以正常访问

提供简洁的部署流程和丰富功能&#xff0c;如自定义域名、自动构建和服务器端功能。通过连接到 Git 仓库实现持续部署&#xff0c;每次推送代码都会自动构建和发布&#xff0c;支持无服务器函数&#xff0c;允许在前端项目中实现后端逻辑&#xff0c;提供直观的用户界面来管理和…...

LinuX---Shell正则表达式

正则表达式 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里&#xff0c;正则表达式通常被用来检索、替换那些符合某个模式的文本。在Linux中&#xff0c;grep&#xff0c;sed&#xff0c;awk等命令都支持通过正则表达式进行模式匹配…...