小编今天给大家带了的是微信客服小程序开发的socket客服模块搭建过程。

环境准备

1.搭建HTTPS和WSS环境

由于微信规定,白名单域名不能携带端口信息,我们建议,开发者使用NginX进行代理转发,使其支持微信白名单域名的要求。

2.定义前后端通信JSON协议

客服小程序开发

其中,token是用来验证消息来源合法性的,fd为当前socket连接资源ID,from为对方socket连接资源ID,cmd用于定义当前操作。

聊天系统搭建

1.服务端

采用TP5和swoole扩展,并新建了一个socket模块,用于处理socket请求。

目录结构如下:

客服小程序开发

分为服务端server.php和客户端client.php,服务端以cli形式运行。具体代码请参考swoole源码包中的SSL样例。

运行命令如下(先切换到服务器程序代码的public目录):

成都客服小程序开发

客户端其实是一个web端的websocket,源码包中同样有提供样例,可供大家参考。

2.小程序端

我们需要简单封装微信提供的socket接口,用于处理连接成功、发送消息、连接失败自动重连等操作。

目录结构如下:

客服小程序开发

发送方法封装参考:

成都客服小程序开发

3.提升cli程序稳定性

编写shell脚本如下:

启用crontab:

加入两行:

注意事项

如果使用TP5的帮助函数模块出现下面的错误,是数据库连接过期导致。

建议大家将连接过期时间设置得更长,但即使这样,总有过期的时候。所以我们推荐使用MongoDB。

另外,微信小程序真机环境不予许指定端口,那上面的服务器配置就没有什么用,解决办法是:停用Apache的SSL模块,改用NginX作为反向代理。

如果要用NginX作为反向代理,会遇到会话过期的问题。我们有两个解决办法:

设置代理超时时间为一个很长的时间。

一个是客户端做个心跳检测(即定时向服务器发送一条信息)。

这两种客服小程序开发都会增加服务器的负担,大家可以根据自己情况进行选择,我们建议采用后一种方法。

相关阅读:

【成都小程序定制开发】小程序开发的费用?

成都专业小程序定制开发:微信小程序和微信商城有什么区别呢?

成都微信小程序开发公司带你了解市场上的外包骗局

评论

电子邮件地址不会被公开。