官方公告地址:
https://developers.weixin.qq.com/community/develop/doc/00042e3ef54940ce8520e38db61801
目前,开发工具或者体验版的小程序,调试基础库如果是2.33.0及以上就得适配了,线上版本9月15日之后生效,所以这之前需要尽快改完,发布一版,否则到了9月15号之后 线上就会生效报错了。
其实改起来也很简单,以下是实现步骤和代码:
1、首先看一下这个网址,里边包含涉及到的隐私的接口,这些接口都要适配一下
https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/miniprogram-intro.html
在以上接口用到的页面,需要画一下类似上边的弹窗(这个弹窗可以全局定义个组件,方便多个页面共用),然后里边蓝字可以点击后调用wx.openPrivacyContract(Object object)接口即可,会自动跳转打开隐私协议页面。
拒绝按钮可以加一个点击事件,然后在事件里这样写
同意按钮比较特殊,布局需要用button这样写,记得给button加一个Id
然后在handleAgreePrivacyAuthorization里就可以获取到点击事件,这样写
2、最后需要在onLoad或者onShow里加上以下监听代码,在这里边让自定义的隐私弹窗显示出来即可。
以上代码加上就可以了,如果业务逻辑用到了需要判断是否授权过,可以加上 wx.getPrivacySetting(Object object)去获取是否授权过,用不到可以不加这个判断。
无论怎么弄 他这个api都监听不到我获取手机号的请求 一直不触发 大佬们有什么方法嘛
直接是进不去 手机号都获取烂了
并且有没有清空授权的方案 批量测试根本没法测试 怎么上线
吐槽一下:微信的开发组真的像闹着玩儿一样
你好,我想问一下,没有授权过的情况:
wx.onNeedPrivacyAuthorization 授权不能直接在进小程序就直接调用吗?后续用隐私相关的就不用掉了。。。还是说只能在 【使用每一个隐私相关接口前】 都必须调用一次这个?
wx.onNeedPrivacyAuthorization 的授权一次是对【所有】隐私相关接口生效?还是对【某一类】的隐私相关接口生效?
每个用到隐私接口的页面都要引入一下组件会不会太麻烦了,有更好的解决方法吗
https://developers.weixin.qq.com/community/develop/article/doc/000cec45360938d3993046b3f66813
官方开发人员就是闲的蛋疼,又没技术优化小程序性能,就只在这些无关紧要的地方改改改,试问个人信息有多少人是没被互联网扒过的,一直做小程序一直改,隐私不知道改多少回了,安卓机该卡的还是卡,有这么多时间没地方用,就多多学学技术优化性能,要不去工地搬砖得了,不适合做程序员为难同行
官方熊神经病 早干嘛来 一会自己弹 一会让开发者弹!一开始你自己出个弹窗不就都解决了 艹
废物
9月16日了,怎么还没生效啊,老板把技术部的骂了一遍了,怎么没生效,之前1个月的时间都白干活了吗? 客户也不给钱了。
嘿嘿
https://developers.weixin.qq.com/community/develop/doc/000ca6a02e4bd81b4b507b18a6bc00
大侠请帮忙看看这个问题
各位大侠帮忙看看,拒绝按钮失效,点了没用。 我想点了关闭弹窗。
// component/privacy/privacy.js
Component({
/**
* 组件的初始数据
*/
data: {
privacyContractName: '',
showPrivacy: false
},
/**
* 组件的生命周期
*/
pageLifetimes: {
show() {
const that = this
if( wx.getPrivacySetting){
wx.getPrivacySetting({
success(res) {
console.log("是否需要授权:",res.needAuthorization, "\n隐私协议的名称为:", res.privacyContractName)
if (res.errMsg == "getPrivacySetting:ok") {
that.setData({
privacyContractName: res.privacyContractName,
showPrivacy: res.needAuthorization
})
}
}
})
}else{
console.log("基础库低于2.23.3版本")
}
}
},
/**
* 组件的方法列表
*/
methods: {
// 打开隐私协议页面
openPrivacyContract() {
wx.openPrivacyContract({
fail: () => {
wx.showToast({
title: '遇到错误',
icon: 'error'
})
}
})
},
// 拒绝隐私协议
handleDisagree() {
console.log("拒绝协议")
wx.showToast({
title: '需同意才能继续使用小程序',
icon: 'none',
duration: 2000
})
// 拒绝隐私协议
const that= this
that.setData({
showPrivacy: true
})
// wx.exitMiniProgram()
},
// 同意隐私协议
handleAgree() {
const that= this
that.setData({
showPrivacy: false
})
},
}
})
请教下:如果微信版本过低,是不是拉不起隐私弹窗?