更新记录
0.2.0(2026-10-21) 下载此版本
- 弹窗视觉重设计,新增
theme主题属性:内置松岭(默认)、海雾、夜航三套预设,也接受自定义颜色对象;新增primaryColor、radius、footnote微调属性。 - 新增
embed模式:弹窗在已定位容器内展示,方便预览和演示场景。 - 适配抖音小程序(
tt.getPrivacySetting/tt.onNeedPrivacyAuthorization/tt.openPrivacyContract,基础库 3.19.0+)与支付宝小程序(my.getPrivacySetting/my.onNeedPrivacyAuthorization)官方隐私授权流程。 - 已拒绝当前版本的用户不再在每次启动时自动弹窗,等到真正触发守卫业务时再询问;新增
shouldPromptOnLaunch()工具函数。 - 新增
utils/data-use-presets.js常见权限用途文案预设与buildDataUses()。 - 新增
utils/policy-template.js隐私政策正文结构化模板,支持第三方 SDK 清单披露(App 上架审核常要求),演示政策页改为由模板生成。 - Vue2 兼容性经独立工程编译与运行时实测验证;版本号、平台矩阵与文档同步更新。
平台兼容性
uni-app(3.8.6)
| Vue2 | Vue2插件版本 | Vue3 | Vue3插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 0.2.0 | √ | 0.2.0 | × | × | √ | 0.2.0 | - | - | - | - |
| 微信小程序 | 微信小程序插件版本 | 支付宝小程序 | 支付宝小程序插件版本 | 抖音小程序 | 抖音小程序插件版本 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 0.2.0 | √ | 0.2.0 | 3.19.0+ | 0.2.0 | - | - | - | × | - | - | - | - | - |
赢冬隐私守卫 yingdong-privacy-guard
面向 uni-app 的隐私同意、权限用途说明和业务调用前置守卫组件,适配微信 / 抖音 / 支付宝小程序官方隐私授权。
为什么不是普通隐私弹窗
赢冬隐私守卫把隐私处理拆成可执行的状态机:
- 政策版本化:同意记录带
policyVersion,政策更新后会重新确认。 - 业务调用守卫:使用
ensureConsent(reason, action),未同意时不执行隐私相关 action;多个同时触发的动作会排队,在一次确认后按顺序执行。 - 三端官方流程:微信、抖音、支付宝小程序分别使用
getPrivacySetting、onNeedPrivacyAuthorization、openPrivacyContract和agreePrivacyAuthorization官方按钮;其余端自动降级为本地状态机。 - 主题可定制:
theme一个属性切换内置主题(松岭 / 海雾 / 夜航),或传入对象自定义每种颜色;primaryColor、radius、footnote支持微调。 - 用途可解释:通过
dataUses按功能说明处理什么信息、为什么需要;utils/data-use-presets.js提供相册、相机、位置、麦克风等常见权限的用途文案预设。 - 政策正文模板:
utils/policy-template.js生成结构化的政策段落草稿,支持用途说明和第三方 SDK 清单披露(App 上架审核常要求),接入方核对改写后使用。 - 不打扰已拒绝用户:明确拒绝当前版本的用户,启动时不再自动弹窗,触发守卫业务时再询问。
- 接入前自查:
auditConfiguration()检查版本号、政策入口、用途说明和独立存储键是否齐全;只检查实现配置,不作法律判断。 - 无敏感审计事件:通过
audit输出流程事件、时间、平台和政策版本,不记录设备标识或用户内容。 - 无后端依赖:同意记录默认保存在当前设备,不上传任何数据。
组件不等于法律意见,也不能替代接入方在平台后台填写的隐私保护指引、隐私政策文本、App 原生隐私配置和实际数据治理。
快速接入
<template>
<yingdong-privacy-guard
ref="privacyGuard"
app-name="我的应用"
theme="pine"
policy-version="2026.10"
privacy-url="/pages/privacy/privacy"
:data-uses="dataUses"
@audit="onAudit"
/>
</template>
<script>
import { buildDataUses } from '@/uni_modules/yd-privacy-guard/utils/data-use-presets.js'
export default {
data() {
return {
dataUses: buildDataUses(['album', 'location'])
}
},
methods: {
useAlbum() {
this.$refs.privacyGuard.ensureConsent('选择头像', () => {
uni.chooseImage({ count: 1 })
})
},
onAudit(event) {
console.log('[privacy-audit]', event)
}
}
}
</script>
主题
<!-- 内置预设 -->
<yingdong-privacy-guard theme="pine" /> <!-- 默认,松岭绿 -->
<yingdong-privacy-guard theme="ocean" /> <!-- 海雾蓝 -->
<yingdong-privacy-guard theme="night" /> <!-- 夜航深色 -->
<!-- 自定义:传对象可覆盖任意字段,只写需要的字段 -->
<yingdong-privacy-guard :theme="{ primary: '#7c5cd6', dialogBg: '#ffffff' }" />
<!-- 或在主题之上只覆盖主题色和圆角 -->
<yingdong-privacy-guard theme="ocean" primary-color="#c2542b" :radius="22" />
主要 API
| API / 属性 | 说明 |
|---|---|
check() |
检查当前政策版本是否已确认,返回 Promise。 |
ensureConsent(reason, action) |
需要隐私确认时展示组件;同意后按入队顺序执行等待中的 action。 |
agree() / decline() |
处理自定义确认按钮。小程序端同意按钮使用官方 agreePrivacyAuthorization。 |
getConsent() |
返回当前本地同意记录。 |
reset() |
清除当前 storageKey 的同意记录。 |
openPolicy() |
小程序端打开平台隐私指引,其他端打开 privacyUrl。 |
auditConfiguration() |
返回实现配置自查清单;小程序端会核对隐私政策入口 API 可用性,不代表合规结论。 |
getAudit() / clearAudit() |
读取或清空当前运行时的无敏感审计事件。 |
theme |
预设名(pine / ocean / night)或自定义颜色对象。 |
primaryColor / radius / footnote |
在主题之上覆盖主题色(十六进制)、圆角和底部说明文字。 |
embed |
在已定位容器内展示弹窗(预览、演示场景),默认全屏 fixed。 |
工具函数:
| 工具 | 说明 |
|---|---|
utils/data-use-presets.js → buildDataUses(ids) |
按预设 id 生成 dataUses 文案,支持逐项覆盖。 |
utils/policy-template.js → buildPolicySections(options) |
生成政策正文结构化草稿。 |
utils/themes.js → PRIVACY_THEMES / buildThemeVars() |
主题预设与 CSS 变量构建。 |
utils/consent-state.js → shouldPromptOnLaunch(record, version) |
判断启动时是否需要自动弹窗。 |
平台说明
- Vue 2、Vue 3、H5、微信 / 抖音 / 支付宝小程序和 App Vue 共用组件 API。
- 微信小程序:需先在小程序管理后台配置《小程序用户隐私保护指引》,只有已声明的信息类型才能调用对应隐私接口;被动授权使用
wx.onNeedPrivacyAuthorization官方回调,主动提示使用open-type="agreePrivacyAuthorization"官方按钮。 - 抖音小程序:需在抖音开放平台配置《标准化用户隐私保护指引》;隐私 API 需基础库 3.19.0+,低版本自动降级为本地状态机。
- 支付宝小程序:需在小程序控制台配置隐私政策;使用
my.getPrivacySetting/my.onNeedPrivacyAuthorization官方流程。 - Android App:首屏隐私提示需在 HBuilderX 配置原生
androidPrivacy.json模板。JS 组件运行前,原生弹窗已先执行,组件不能替代它。 - uni-app App 引擎自身的数据处理也要纳入接入方隐私政策说明。参考 DCloud 文档中的采集说明,不能直接照搬本项目的演示政策。
- 无官方隐私 API 的端使用本地状态机和
privacyUrl降级流程。
平台接入步骤见 App 与小程序平台接入说明。
官方参考:

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 7
赞赏 0
下载 12701258
赞赏 1956
赞赏
京公网安备:11010802035340号