Laravel5.5 + dingo + jwt + workerman 具有聊天的框架. 接口采用dingo标准的RESTFUL模式,JWT用于token验证,workerman用于聊天工具开发只要是websocket
$ git clone git@github.com:sheldon9527/larvelworkerman.git
$ composer install
$ 设置 `storage` 目录必须让服务器有写入权限。
$ cp .env.example .env
$ vim .env
DB_*
填写数据库相关配置 your database configuration
APP_KEY
php artisan key:generate
JWT_SECRET
php artisan jwt:secret
读文档很重要,请先仔细读读文档 laravel, dingo/api,jwt,fractal 的文档。
- dingo/api https://github.com/dingo/api
- dingo api 中文文档 dingo-api-wiki-zh
- jwt(json-web-token) https://github.com/tymondesigns/jwt-auth
- transformer fractal
- apidoc 生成在线文档 apidocjs
- rest api 参考规范 jsonapi.org
- api 调试工具 postman
- 有用的文章 http://oomusou.io/laravel/laravel-architecture
- php lint phplint
- Laravel 理念 From Apprentice To Artisan
$ php artisan migrate
$ php artisan db:seed (默认添加了10个用户)
头信息中可以增加 Accept:application/vnd.app.v1+json 切换v1和v2版本
- workerman手册 http://doc.workerman.net/315110
- GatewayWorker手册 http://doc2.workerman.net/326102
- workerman官网 http://www.workerman.net/
- workerman-chat workerman-chat
- 使用websocket协议
- 多浏览器支持(浏览器支持html5或者flash任意一种即可)
- 多房间支持
- 私聊支持
- 掉线自动重连
- 微博图片自动解析
- 聊天内容支持微博表情
- 支持多服务器部署
- 业务逻辑全部在一个文件中,快速入门可以参考这个文件https://github.com/sheldon9527/larvelworkerman/blob/master/app/Chat/Events.php
- php chatStart.php start
- php chatStart.php start -d
- config/chat 连接服务的相关配置
- 打开浏览器输入 http://0.0.0.0:55151/chat.html
- 输入,回复
https://github.com/sheldon9527/larvelworkerman/blob/master/app/Chat/Events.php 这个文件是聊天的主要的业务逻辑文件,根据不同的业务需求进行编程。