<template>
<div>
<div @tap="onSubscribe">subscribe</div>
<button @tap="onSubscribe">subscribe</button>
</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {
onSubscribe() {
tt.requestSubscribeMessage({
tmplIds: ['MSG1297604f2c55d7e308bac3c9bd724638349fdb315908'],
complete: (res) => {
console.log(res)
tt.showModal({
title: "订阅完成",
content: JSON.stringify(res),
});
},
})
}
}
}
</script>
- 发布:2022-11-17 20:23
- 更新:2023-05-16 00:30
- 阅读:399
产品分类: uniapp/小程序/字节跳动
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macos12.2.1
第三方开发者工具版本号: 3.3.8
基础库版本号: 2.72.0.3
项目创建方式: CLI
CLI版本号: 3.0.0
示例代码:
操作步骤:
点击页面按钮
点击页面按钮
预期结果:
控制台显示订阅成功的消息
控制台显示订阅成功的消息
实际结果:
控制台显示订阅失败,原因提示需要用户点击事件
控制台显示订阅失败,原因提示需要用户点击事件
bug描述:
vue3+vite的消息订阅在抖音小程序上提示{"errMsg":"requestSubscribeMessage:fail must be invoked by user tap gesture","errNo":21501},相同的代码用vue2+webpack可以正常订阅,推断应该是字节在消息订阅的事件判断上比较严格,导致vite编译出来的代码判断不出来是不是在tap事件里,但我不确定是编译的问题还是字节他们设计的问题。