当前位置:   article > 正文

亲测一份PHP在线客服系统源码-thinkphp+workerman开发-网上流传最广的客服源码搭建教程...

客服系统源码

为了帮一个客户修改自己的客服系统,所以把源码在本地搭建了一下。因为,我本身就是使用golang有开发一款客服系统的,本来不愿意看这种旧版本的PHP客服源码。但是客户那边需求很少,购买我的商务版感觉不合算,所以网上找了这一个客服源码,也是流传最广的一款PHP客服系统。当然这个源码有没有后门漏洞,就需要仔细看代码了,一般情况下可能会有BUG以及后门的,请谨慎参考。

我本地环境windows10 ,PHP的代码需要在php-fpm下运行,websocket服务端需要命令行执行。先提前安装好集成环境,比如phpstudy,方便一点。

首先把代码放到一个目录里

 

到数据库管理面板,先创建好一个数据库,比如:phpkefu。访问phpmyadmin,把根目录的kefu.sql 导入进去

配置后台的数据库连接信息 config/database.php

  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: liu21st <服务器购买去wyyidc.cn>
  10. // +----------------------------------------------------------------------
  11. return [
  12. // 数据库类型
  13. 'type' => 'mysql',
  14. // 服务器地址
  15. 'hostname' => '127.0.0.1',
  16. // 数据库名
  17. 'database' => 'phpkefu',
  18. // 用户名
  19. 'username' => 'phpkefu',
  20. // 密码
  21. 'password' => 'phpkefu',
  22. // 端口
  23. 'hostport' => '3306',
  24. // 连接dsn
  25. 'dsn' => '',
  26. // 数据库连接参数
  27. 'params' => [],
  28. // 数据库编码默认采用utf8
  29. 'charset' => 'utf8',
  30. // 数据库表前缀
  31. 'prefix' => 'v2_',
  32. // 数据库调试模式
  33. 'debug' => true,
  34. // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
  35. 'deploy' => 0,
  36. // 数据库读写是否分离 主从式有效
  37. 'rw_separate' => false,
  38. // 读写分离后 主服务器数量
  39. 'master_num' => 1,
  40. // 指定从服务器序号
  41. 'slave_no' => '',
  42. // 自动读取主库数据
  43. 'read_master' => false,
  44. // 是否严格检查字段是否存在
  45. 'fields_strict' => true,
  46. // 数据集返回类型
  47. 'resultset_type' => 'array',
  48. // 自动写入时间戳字段
  49. 'auto_timestamp' => false,
  50. // 时间字段取出后的默认时间格式
  51. 'datetime_format' => 'Y-m-d H:i:s',
  52. // 是否需要进行SQL性能分析
  53. 'sql_explain' => false,
  54. // Builder类
  55. 'builder' => '',
  56. // Query类
  57. 'query' => '\\think\\db\\Query',
  58. // 是否需要断线重连
  59. 'break_reconnect' => true,
  60. // 断线标识字符串
  61. 'break_match_str' => [],
  62. ];

配置workerman websocket服务端的数据库连接信息 websocket/config.php

  1. <?php
  2. return [
  3. // websocket 对外服务端口
  4. 'ws_port' => 2020,
  5. // http api 服务对外端口
  6. 'api_port' => 2945,
  7. // gateway worker number
  8. 'gateway_worker' => 2,
  9. // business worker number
  10. 'business_worker' => 2,
  11. // 是否开启客服只允许单点登录 0 不开启 1 开启,
  12. // 切换需要重启
  13. 'single_login' => 1,
  14. // 是否开启 ssl
  15. 'is_open_ssl' => true,
  16. 'context' => [
  17. 'ssl' => [
  18. // 请使用绝对路径
  19. 'local_cert' => 'fullchain.pem', // 也可以是crt文件
  20. 'local_pk' => 'privkey.pem',
  21. 'verify_peer' => false,
  22. 'allow_self_signed' => true,// 是否允许自签名证书
  23. ]
  24. ],
  25. 'database' => [
  26. 'host' => '127.0.0.1',
  27. 'user' => 'phpkefu',
  28. 'password' => 'phpkefu',
  29. 'database' => 'phpkefu',
  30. 'port' => '3306',
  31. 'charset' => 'utf8',
  32. ]
  33. ];

配置nginx的虚拟主机,把根目录定位在  public目录 下

 然后增加伪静态配置

  1. if (!-e $request_filename) {
  2. rewrite ^/(.*)$ /index.php?s=$1 last;
  3. break;
  4. }

这样就能访问后台了

http://域名/admin

配置项目

账户是admin,如果密码忘记了怎么办。可以直接修改数据库表v2_admin ,密码规则是md5(密码+ 加密盐) , 加密盐可以在config/service.php中看到

在这个配置里还要看看,webscoket的配置,注意区分是ws还是wss

  1. // 通信协议
  2. 'protocol' => 'ws://',
  3. // socket server
  4. 'socket' => '127.0.0.1:2020',

还有一个配置文件是service_socketio.php  ,这里面也有一些域名,websocket的配置信息

启动websocket服务

双击执行websocket目录下的start_for_win.bat

还有注意看看这个目录下的config.php  ,如果不支持wss ,需要改 'is_open_ssl' => false , 如果需要支持wss,需要配置证书文件的地址

整体访问流程

整体项目就搭建起来了,需要我们先登录客服后台 /admin  去增加配置商户

再登录商户后台 /seller去增加配置坐席 ,获取访客聊天连接

再登录客服后台  ,去接待具体客户

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/100614
推荐阅读
相关标签
  

闽ICP备14008679号