微信小程序客服文本消息跳转至指定页面无效的问题
最近在开发小程序的自动客服功能,即用户发送关键词,搜索小程序对接的内容,返回一个指定页面路径并带参。文本消息类似:
<a data-miniprogram-appid="wxxxxx" data-miniprogram-path="pages/audio/audio?post_id=5">post title</a>
本以为就这样完事,但实际发行却有不少问题。总结起来就是,用户的对话框点击这个链接,并不会跳转到指定页面,而是总是返回唤起对话框的那个页面。网上一通乱搜也没啥结果,最后发现,还是应该直接读文档。因为人家在概述里面就说了:
需要将 button 组件
open-type的值设置为contact,当用户点击后就会进入客服会话,如果用户在会话中点击了小程序消息,则会返回到小程序,开发者可以通过bindcontact事件回调获取到用户所点消息的页面路径path和对应的参数query。
我写的代码如下
html
<!-- 接收用户消息 -->
<button class="button" open-type="contact" bindcontact="handleContact" type="warn" plain="true">发送消息</button>
js
handleContact(e) {
let queryString = Object.keys(e.detail.query).map(key => key + "=" + e.detail.query[key]).join("&");
let url = e.detail.path + "?" + queryString;
wx.navigateTo({
url: url,
});
}
撰写评论