2023小程序隐私协议更新-不完全指北

前言

小程序这次更新隐私协议相关的政策真是恶心,但是没办法,谁让人家是tx呢,我们一些打工的也只能配合着改

首先本次修改会在2023年9月15日之后生效,建议大家赶快修改。

本次修改会影响线上的版本!!!部分小程序基础库版本低的用户除外,但基础库早晚会随着微信版本更新

感谢

首先感谢这两位老哥的文章,他们讲解的大部分的内容,小弟我只负责讲讲剩下的一些注意事项:

juejin.cn/post/727227...

juejin.cn/post/727227...

我遇到的一些坑

首先,我们修改的时候需要在app.json中添加配置,并且开发工具的基础调试库设置成2.32.3以上。 用uniapp的同学需要在manifest.json的mp-weixin中添加该配置

js 复制代码
"__usePrivacyCheck__": true,

怎么判断我的api调用失败是因为隐私政策的问题

调用api会报错,如下:

js 复制代码
chooseMedia:fail api scope is not declared in the privacy agreement

哪些api涉及用户的隐私,以及需要去微信后台配置

developers.weixin.qq.com/miniprogram...

这个链接中的api都涉及到用户的隐私,需要一个一个去代码里搜,涉及到的地方都需要同步去处理。

以下配置很重要!!!因为我某些api以前没有在这里配置,也能正常使用上线,隐私协议更新之后就不行了,现都需要同步到这里,设置的地方如下:

在微信后台-设置-基本设置-服务内容声明 ,凡是用到的隐私api相关的都需要配置。建议尽早修改,因为改了隐私协议之后,还需要微信审核

这里没有设置的涉及到隐私的api,就算同意了隐私协议,也会报错,配置好了审核通过之后,才能正常使用

全局添加弹窗,不在页面中单独修改

这个方法限用于uniapp,主要是通过wx.onNeedPrivacyAuthorization监听隐私api的使用,没有同意的话就会弹出弹窗。

因为小程序环境没有全局模板的概念,所以隐私协议的弹窗必须用到的页面都去写一次,我的方案主要是利用插件把组件代码插入到每个页面中,就省去了单独去写代码,也省的去排查哪些页面用到了隐私相关的api,优点是通用性比较高,改起来快,主要用到的插件是:vue-inset-loader 。(如果担心影响性能,vue-inset-loader 也可以单独配置插入到部分页面,具体看文档吧)

下面是流程:

  1. npm install vue-inset-loader --save-dev (如果遇到npm安装报错,是因为vue-inset-loader是基于vue-template-compiler的,如果node_modules中有vue的话,需要安装与vue-template-compiler版本号一致的vue版本)
  2. 根目录的vue.config.js中(如果没有则创建该文件)
js 复制代码
// 引入path模块
const path = require('path')

// 默认导出的对象中添加如下代码
module.export = {
    configureWebpack: {
        module: {
            rules: [
                {
                    test: /.vue$/,
                    use: {
                        // 全局注入xxx组件,注入内容是pages.json的insetLoader字段
                        // 只在mp-weixin环境生效
                        loader: path.resolve(
                            __dirname,
                            './node_modules/vue-inset-loader'
                        ),
                    },
                },
            ],
        },
    }
}
  1. 复制组件(我的隐私弹窗组件代码是直接copy的这位老哥的代码,再次感谢)到根目录下的wxcomponents(如果没有就创建该文件夹)
  2. 根目录pages.json中
js 复制代码
// pages字段同级的globalStyle添加属性--这里主要是注册全局组件
"usingComponents":{
    "user-privacy-popup": "/wxcomponents/privacy/privacy"
}

// pages字段同级添加
"insetLoader": {
    "config":{
        "user-privacy-popup": "<user-privacy-popup />"
    },
    "label": ["user-privacy-popup"],
    "rootEle": ".*"
}
  1. 重新运行小程序 、小程序开发者工具基础库调到3.0,并且配置"usePrivacyCheck": true

有问题评论区指正

谢谢

我司十几个小程序等着我改,加油吧。

相关推荐
换日线°3 小时前
微信小程序一款不错的文字动画
微信小程序
忙碌的菠萝4 小时前
微信小程序页面分享
微信小程序·小程序
知否技术4 小时前
知道这10个npm工具包,开发效率提高好几倍!第2个大家都用过!
前端·npm
希希不嘻嘻~傻希希4 小时前
CSS 字体与文本样式笔记
开发语言·前端·javascript·css·ecmascript
石小石Orz5 小时前
分享10个吊炸天的油猴脚本,2025最新!
前端
爷_5 小时前
Nest.js 最佳实践:异步上下文(Context)实现自动填充
前端·javascript·后端
爱上妖精的尾巴6 小时前
3-19 WPS JS宏调用工作表函数(JS 宏与工作表函数双剑合壁)学习笔记
服务器·前端·javascript·wps·js宏·jsa
草履虫建模6 小时前
Web开发全栈流程 - Spring boot +Vue 前后端分离
java·前端·vue.js·spring boot·阿里云·elementui·mybatis
—Qeyser6 小时前
让 Deepseek 写电器电费计算器(html版本)
前端·javascript·css·html·deepseek
UI设计和前端开发从业者6 小时前
从UI前端到数字孪生:构建数据驱动的智能生态系统
前端·ui