正月十一了,过了个年,我也该开工写些东西了。
微信小程序的客服在开发指南里一大堆东西,把人看得晕乎晕乎,实际上就是个“坑”,下面就介绍下如何填“坑”吧。
一、微信小程序客户端的设置
在wxml中添加一个按钮:
代码: 联系客服
至于图中的bindcontact='mycontact',只是我写的一个调试函数,可以忽略。
这样,在客户端就有了这个按钮了,如下图所示:
点击这个按扭在开发工具中没有反应(不知道是什么原因,可能是bug),但在手机端是没问题的。
二、开发端设置
在此先进行客户人员添加,通过微信号将客服人员添加进来。
然后设置服务器设置:如下图所示
要设置的东西有,服务器地址,Token,EncodingAESKey,消息加密方式,数据格式等。
1、服务器地址设置(以.net为例)
确定你有个服务器,http或https都可以,必须80或443端口;然后确定一个服务(asmx)或一般处理程序(ashx)来处理客户端发送的消息。如:https://xxx.xxx.com/managerGuest.ashx
2、Token设置
这个就是口令,你高兴怎么设就这么设,只是要和服务器中ashx里的 string token保持一致。(在后面代码可见)
3、EncodingAESKey设置
EncodingAESKey就是加密串,单击右边按随机产生即可。
4、消息可密方式
我选择“兼容模式”,还有“明文”和“加密”可选
5、数据格式
有两种可选,默认是XML,可改为Json,问题都不大。
三、服务器代码编写(以.net为例)
在开发设置里确定了服务器,就可以编写服务器端代码了。首先说下原理:
小程序点击联系客服,发送消息——>3rd服务器(就是小程序服务器了)简单处理,也可以不处理———>微信客服服务器——>客服人员。
代码就是将小程序发送的消息进行简单处理,也可以不处理,我的代码是这样的:
using System.Web;
using System.Web.SessionState;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Tencent;
public class mytencent : IHttpHandler {
public void ProcessRequest (HttpContext context) {
//E18reRrDP96lx1BYAk2q4LAnMPt8EBntOe9RGXP3jpy
string token = "jfok040218Abc";
if (string.IsNullOrEmpty(token))
{
return;
}
string echoString = HttpContext.Current.Request.QueryString["echoStr"];
string signature = HttpContext.Current.Request.QueryString["signature"];
string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
string nonce = HttpContext.Current.Request.QueryString["nonce"];
if (!string.IsNullOrEmpty(echoString))
{
HttpContext.Current.Response.Write(echoString);
HttpContext.Current.Response.End();
}
}
public bool IsReusable {
get {
return false;
}
}
没有处理消息,只是进行了转发而已。
四、具体操作
1、小程序端,如图:
2、客服端
1)在开发设置中确定的客服微信登录"微信公众平台客服网"
然后就可以客服回话了,如图所示:
总之,经过以上四大步骤后,就可以实现客服功能了。
最后,祝大家新年快乐,狗年旺旺,一起发财。
领取专属 10元无门槛券
私享最新 技术干货