-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
小程序隐私协议更新导致的部分api无法使用 #14377
Comments
Same question. |
微信管理台更新协议就好了,和taro没关系 https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/ |
微信需要把Button的openType设置为"agreePrivacyAuthorization",同时bindagreeprivacyauthorization 监听用户同意隐私协议事件,目前taro的Button组件是没有支持的,这个怎么解决?微信目前已经更新了文档了https://developers.weixin.qq.com/miniprogram/dev/component/button.html |
通过 taro-inject 插件可以自定义添加 taro 组件属性和事件的绑定:https://github.com/NervJS/taro-plugin-inject |
请问下现在有taro适配小程序9月15号调整隐私政策的方案了吗? |
# 注意版本号和自己的 taro 主版本号保持一致
npm i @tarojs/plugin-inject -D
{
... 其他配置
plugins:[
[
"@tarojs/plugin-inject",
{
components: {
Button: {
bindagreeprivacyauthorization: "" // 这个必须要写,不然不触发回调
}
}
}
]
]
} 类型定义直接忽略(类似定义这里我自己写的openType怎么也覆盖不了,所以暂时先忽略用着): <Button
// @ts-ignore
openType="agreePrivacyAuthorization"
// @ts-ignore
onAgreePrivacyAuthorization={handleOnAgreePrivacyAuthorization}
>我同意</Button>
declare module "@tarojs/taro" {
namespace getPrivacySetting {
interface Option {
/** 接口调用结束的回调函数(调用成功、失败都会执行) */
complete?: (res: TaroGeneral.CallbackResult) => void;
/** 接口调用失败的回调函数 */
fail?: (res: TaroGeneral.CallbackResult) => void;
/** 接口调用成功的回调函数 */
success?: (result: SuccessCallbackResult) => void;
}
interface SuccessCallbackResult extends TaroGeneral.CallbackResult {
/** 是否需要用户授权隐私协议(如果开发者没有在[mp后台-设置-服务内容声明-用户隐私保护指引]中声明隐私收集类型则会返回false;如果开发者声明了隐私收集,且用户之前同意过隐私协议则会返回false;如果开发者声明了隐私收集,且用户还没同意过则返回true;如果用户之前同意过、但后来小程序又新增了隐私收集类型也会返回true) */
needAuthorization: boolean;
/** 隐私授权协议的名称 */
privacyContractName: string;
}
}
interface TaroStatic {
getPrivacySetting: (option?: getPrivacySetting.Option) => void;
}
} 注意不要用 promise 的写法;
|
不升级taro版本,要怎么兼容处理,头大 |
这些 |
想使用‘agreePrivacyAuthorization’类型的button,不想升级可以使用混合写法,用小程序的写法写组件或页面来实现(taro 2.0.1实验成功) |
|
在app.config.ts里配置__usePrivacyCheck__: true会报错,调用requirePrivacyAuthorize,getPrivacySetting,openPrivacyContract,onNeedPrivacyAuthorization这几个api返回也是undefined |
基础库是用的最新的吗? |
是的,3.0.1 |
大佬,这样要怎么做啊 |
我这里可以, 基础库是2.32.3,但是出现了告警 然后导致wx.getPrivacySetting这个方法无法执行,没有回调参数 |
taro 2.x版本的怎么搞,Taro编译有问题,不把bindagreeprivacyauthorization里的方法识别成事件 |
目前采用混写的方式,判断是否需要授权及‘agreePrivacyAuthorization’同意按钮,使用的是原生来写的弹窗组件,再引入到需要使用的页面,2.0.1及3.x用这个方案都改造完成了 |
@yaodongyi 用最新的3.6.15,onAgreePrivacyAuthorization 可以正常监听到,我试了没问题 |
@TheKonka 3.6.15,指的是taro框架升级到3.6.15? |
最好taro 相关的都升级到 3.6.15 ,如果不都升级到话, @tarojs/plugin-platform-weapp 这个包必须升级到最新版 |
@TheKonka 那看起来没办法,不管是
|
老框架无法回调 |
@tarojs/plugin-inject 往上翻 用这个插件就行 |
@lupingW 已经装了,这里发不了视频,我视频发社区微信群了,这个~怎么说呢,想要回调应该是无解,只能重构或者官方调整一下插件支持回调。 |
|
有大佬告知一下Taro2.x怎么适配吗? |
Taro2应该没有这个问题 |
Taro3 react版本实现 公司已经用上了 |
Taro v3.6.16 修复 |
@lilugirl 就是个变量,可以用 useRef 保存 |
无解,老版本直接用click替代吧,目前升级新版本,和重构项目没区别了,反正我升不动😭 |
@yaodongyi @catmiao8 |
不懂别乱说 |
最近公告,不用开发者改了,微信官方自己弹窗 |
有链接吗 |
这个特性解决了什么问题?
什么时候会支持这部分的功能,9月15日后将无法使用这部分api比如现在的粘贴功能就无法使用
这个 API 长什么样?
什么时候会支持这部分的功能
The text was updated successfully, but these errors were encountered: