你好问题有解决吗?
wx-open-subscribe 重复触发订阅时,订阅按钮无法再次渲染?按照官方文档上示例: <wx-open-subscribe template="TenXXXXXXjCp4XXXXXXXXXXXXXX" id="subscribe-btn"> <script type="text/wxtag-template" slot="style"> <style> .subscribe-btn { color: #fff; background-color: #07c160; } </style> </script> <script type="text/wxtag-template"> <button class="subscribe-btn"> 一次性模版消息订阅 </button> </script> </wx-open-subscribe> <script> var btn = document.getElementById('subscribe-btn'); btn.addEventListener('success', function (e) { console.log('success', e.detail); }); btn.addEventListener('error',function (e) { console.log('fail', e.detail); }); /** * 获取微信签名 */ function getSignature(){ $.ajax({ type:"post", url:"/*****/getSignature.do", data:{"path":window.location.href}, dataType:"json", async:false, success:function(res){ wx.config({ debug: true, appId: res.appId, // 必填,公众号的唯一标识 timestamp: res.timestamp, // 必填,生成签名的时间戳 nonceStr: res.noncestr, // 必填,生成签名的随机串 signature: res.signature,// 必填,签名 jsApiList: [],//必须要不调用小程序标签渲染不出来 openTagList: ['wx-open-subscribe']//可选,需要使用的开放标签列表,例如['wx-open-launch-app','wx-open-subscribe] }); wx.ready(function () { alert('ready');//调用成功的时候执行 包括 用户确认授权后执行。 console.log("ready"); }); wx.error(function (res) { // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中 alert("错误", res); console.log("res", res); }); } }) } </script> 场景1: 无订阅过的用户,首次触发 button 一次性模版消息订阅按钮,页面底部可以正常调起客户端服务号订阅通知界面,供用户选择是否允许订阅操作 场景2: 已经订阅过的用户,再次触发 button 一次性模版消息订阅按钮,页面底部无法正常调起客户端服务号订阅通知界面,供用户选择是否允许订阅操作, 且按钮操作返回 subscribeDetails 都有订阅状态信息 场景3: 已经服务通知里取消了订阅的用户,再次触发 button 一次性模版消息订阅按钮,页面底部无法正常调起客户端服务号订阅通知界面,供用户选择是否允许订阅操作, 且按钮操作返回 subscribeDetails 都有订阅状态信息
04-11