微信小程序客服系统,订阅消息模板通知,客服系统使用一次性订阅消息给小程序用户回复通知
小程序的订阅消息,分为一次性订阅消息和长期订阅消息,长期订阅消息只对政务民生、医疗、交通、金融、教育等线下公共服务开放,一般情况下我们用不了。
一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。
注意:授权一次,发送一条,多了发不了
下面是小程序中,点击在线咨询的时候,先让订阅一下通知,然后再加载客服系统的聊天链接
比如:wxml部分
<view class="listItem"> <view class="left">店铺客服</view> <view class="right"><button type="primary" size="mini" bindtap="callKefu">在线咨询</button> </view> </view>
js部分。这里面就是拼接我的客服系统聊天界面链接,重要的是visitor_id参数部分,按照我的要求是 mini|商户ID|openid ,这样我在客服系统那里,好拿到openid去发送订阅消息
//咨询店铺客服 callKefu(){ this.subReplyNotice(); var url=app.globalData.apiUrl+"/chatIndex?kefu_id="+this.data.kefu_name+"&ent_id="+this.data.ent_id+"&visitor_name="+this.data.nickname+"&avator="+this.data.avatar+"&visitor_id=mini|"+this.data.ent_id+"|"+this.data.openid; wx.navigateTo({ url: "/pages/index/kefu?url="+encodeURIComponent(url) }) },
//订阅回复通知 subReplyNotice(){ wx.requestSubscribeMessage({ tmplIds: ['Hk0zWtbgl0aci6b0UIWSUBywYzaglNqkw0KhzkbEuN4'], success (res) { console.log(res) // res包含模板id,值包括'accept'、'reject'、'ban'、'filter'。 // 'accept'表示用户同意订阅该条id对应的模板消息 // 'reject'表示用户拒绝订阅该条id对应的模板消息 // 'ban'表示已被后台封禁 // 'filter'表示该模板因为模板标题同名被后台过滤。 } }) },
pages/index/kefu
wxml部分
<!--pages/index/kefu.wxml--> <view wx:if="{{url}}"> <web-view src="{{url}}"></web-view> </view>
js部分
/** * 生命周期函数--监听页面加载 */ onLoad(options) { console.log(options.url); this.setData({ url:decodeURIComponent(options.url), }); },
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网