期末考试已经结束一周了,但是我们并没有放假(哭… 按照学校惯例,每年暑假都有为期两周的实践周。因为Java EE课成绩优异,被老师看上 ,招进实验室。于是实践周在实验室里进行。这几天实验室布置了一个任务,要求实现一个有聊天室功能的微信小程序。此前完全没接触过小程序开发,无疑是一大挑战。
在这之前几天,实验室的学长教过我们GatewayWorker框架以及宝塔面板的使用。于是很自然的想到用此框架作为小程序的服务端。而自己之前买过腾讯云的学生机,所以在服务器上装了CentOS Linux7.3版本的操作系统,然后安装了宝塔面板。至于为啥是CentOS系统,以及这个系统是啥玩意儿,跟别的系统有啥区别,目前不懂,都是学长教的,回头再研究。
OK,现在总结下实现这个项目所用到的清单:
- 腾讯云或其他云的服务器一台
- 已备案的域名一个(申请了证书)
- CentOS Linux 7.3版本操作系统
- 宝塔面板
- Nginx 1.16
- PHP 7.2 fileinfo扩展
- GatewayWorker
- 小程序账号
- 微信web开发者工具
本文章重点在于实现这个小程序的整体思路,以及在整个过程中遇到的各种坑,所以对于如何购买、配置服务器,安装宝塔面板等内容不做介绍,这些内容会单独写。
其实思路很简单,无非是小程序,即客户端向服务端发起连接请求,成功后,客户端向服务端发送的消息,服务端都会转发给所有连接了服务端的人。因此服务端的代码,仅仅只修改了event.php中的onMessage回调:
public static function onMessage($client_id, $message)
{
$data=json_decode