# megolive **Repository Path**: colin6683/megolive ## Basic Information - **Project Name**: megolive - **Description**: No description available - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-03-17 - **Last Updated**: 2025-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## WoLive 文档 #### wolvie-web安装 1. wolive-web 可以用nginx+php-fpm或者apache来运行(二者选其一即可),配置参考如下。 nginx配置 ``` server { listen 80; server_name 你的域名; root 实际磁盘路径/wolive-web/public; client_max_body_size 18M; index index.php index.html; location / { index index.html index.php; } location ~ \/upload\/.*\.php { deny all; return 404; } if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } location ~ \.php$ { add_header Access-Control-Allow-Origin *; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` 2.apache配置(需要httpd.conf配置文件中加载了mod_rewrite.so模块) ``` Options Indexes MultiViews AllowOverride All Require all granted DocumentRoot "实际磁盘路径/wolive-web/public" ServerName 你的域名 ``` 3.IIS配置 如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容: ``` RewriteRule (.*)$ /index\.php\?s=$1 [I] ``` 在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点: ``` ``` 2. 配置好后访问 http://你的域名/install.php ,然后根据步骤提示安装即可。 第一步、系统会自动检查环境是否ok。 ![输入图片说明](https://gitee.com/uploads/images/2017/1129/155009_5a424bb5_1288445.png "TIM截图20171129154404.png") 第二步、配置数据库相关信息,其中服务器端口配置用您的授权信息填写 ![输入图片说明](https://gitee.com/uploads/images/2017/1129/155058_b208c104_1288445.png "TIM截图20171129154514.png") 第三步、安装成功 ![输入图片说明](https://gitee.com/uploads/images/2017/1129/154616_9fb7e35d_1288445.png "TIM截图20171129154607.png") ### 数据库结构 1. wolive_service表 - 客服列表 ``` CREATE TABLE `wolive_service` ( `service_id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) NOT NULL COMMENT '用户名', `nick_name` varchar(255) NOT NULL COMMENT '昵称', `password` varchar(255) NOT NULL COMMENT '密码', `phone` varchar(255) DEFAULT '' COMMENT '手机', `email` varchar(255) DEFAULT '' COMMENT '邮箱', `business_id` varchar(255) NOT NULL COMMENT '商家id', `avatar` varchar(1024) NOT NULL DEFAULT '/assets/images/admin/avatar-admin2.png' COMMENT '头像', `level` enum('super_manager','manager','service') NOT NULL DEFAULT 'service' COMMENT 'super_manager: 超级管理员,manager:商家管理员 ,service:普通客服', `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '所属商家管理员id', `state` enum('online','offline') NOT NULL DEFAULT 'offline' COMMENT 'online:在线,offline:离线', PRIMARY KEY (`service_id`), UNIQUE KEY `se` (`service_id`) USING BTREE, KEY `pid` (`parent_id`) USING BTREE, KEY `web` (`business_id`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 2.wolive_visiter表 ``` CREATE TABLE `wolive_visiter` ( `vid` int(11) NOT NULL AUTO_INCREMENT, `visiter_id` varchar(200) NOT NULL COMMENT '访客id', `visiter_name` varchar(255) NOT NULL COMMENT '访客名称', `channel` varchar(255) NOT NULL COMMENT '用户游客频道', `avatar` varchar(1024) NOT NULL COMMENT '头像', `ip` varchar(255) NOT NULL COMMENT '访客ip', `from_url` varchar(255) NOT NULL COMMENT '访客浏览地址', `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '访问时间', `business_id` varchar(100) NOT NULL COMMENT '商户id', `state` enum('online','offline') NOT NULL DEFAULT 'offline' COMMENT 'offline:离线,online:在线', PRIMARY KEY (`vid`), UNIQUE KEY `id` (`visiter_id`,`business_id`) USING BTREE, KEY `visiter` (`visiter_id`) USING BTREE, KEY `time` (`timestamp`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 3.wolive_business表 ``` CREATE TABLE `wolive_business` ( `wid` int(11) NOT NULL AUTO_INCREMENT, `business_id` varchar(100) NOT NULL COMMENT '商家id', `distribution_rule` enum('auto','claim') DEFAULT 'claim' COMMENT 'claim:认领,auto:自动分配', `video_state` enum('close','open') NOT NULL DEFAULT 'close' COMMENT '是否开启视频', `audio_state` enum('close','open') NOT NULL DEFAULT 'close' COMMENT '是否开启音频', `voice_state` enum('close','open') NOT NULL DEFAULT 'open' COMMENT '是否开启提示音', `voice_address` varchar(255) NOT NULL DEFAULT '/upload/voice/default.mp3' COMMENT '提示音文件地址', `state` enum('close','open') NOT NULL DEFAULT 'open' COMMENT '''open'': 打开该商户 ,‘close’:禁止该商户', PRIMARY KEY (`wid`), UNIQUE KEY `bussiness` (`business_id`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 4.wolive_chats表 ``` CREATE TABLE `wolive_chats` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `visiter_id` varchar(200) NOT NULL COMMENT '访客id', `service_id` int(11) NOT NULL COMMENT '客服id', `business_id` varchar(100) NOT NULL COMMENT '商家id', `content` mediumtext NOT NULL COMMENT '内容', `timestamp` int(11) NOT NULL, `state` enum('readed','unread') NOT NULL DEFAULT 'unread' COMMENT 'unread 未读;readed 已读', `direction` enum('to_visiter','to_service') DEFAULT NULL, PRIMARY KEY (`cid`), KEY `visiter` (`visiter_id`) USING BTREE, KEY `service` (`service_id`) USING BTREE, KEY `time` (`timestamp`) USING BTREE, KEY `chat` (`business_id`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 5.wolive_message表 ``` CREATE TABLE `wolive_message` ( `mid` int(11) NOT NULL AUTO_INCREMENT, `content` text NOT NULL COMMENT '留言内容', `name` varchar(255) NOT NULL COMMENT '留言人姓名', `moblie` varchar(255) NOT NULL COMMENT '留言人电话', `email` varchar(255) NOT NULL COMMENT '留言人邮箱', `business_id` varchar(100) DEFAULT NULL COMMENT '商家id', `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`mid`), KEY `timestamp` (`timestamp`), KEY `web` (`business_id`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 6.wolive_question表 ``` CREATE TABLE `wolive_question` ( `qid` int(11) NOT NULL AUTO_INCREMENT, `business_id` varchar(225) NOT NULL, `question` longtext NOT NULL, `answer` longtext NOT NULL, `answer_read` longtext NOT NULL, PRIMARY KEY (`qid`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; ``` 7.wolive_queue表 ``` CREATE TABLE `wolive_queue` ( `qid` int(11) NOT NULL AUTO_INCREMENT, `visiter_id` varchar(200) NOT NULL COMMENT '访客id', `service_id` int(11) NOT NULL COMMENT '客服id', `business_id` varchar(100) NOT NULL COMMENT '商户id', `state` enum('normal','complete','in_black_list') NOT NULL DEFAULT 'normal' COMMENT 'normal:正常接入,‘complete’:已经解决,‘in_black_list’:黑名单', `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`qid`), UNIQUE KEY `id` (`visiter_id`,`business_id`) USING BTREE, KEY `se` (`service_id`) USING BTREE, KEY `vi` (`visiter_id`) USING BTREE, KEY `business` (`business_id`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 8.wolive_sentence表 ``` CREATE TABLE `wolive_sentence` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `content` text NOT NULL COMMENT '内容', `service_id` int(11) NOT NULL COMMENT '所属客服id', `state` enum('using','unuse') DEFAULT 'unuse' COMMENT 'unuse: 未使用 ,using:使用中', PRIMARY KEY (`sid`), UNIQUE KEY `se` (`service_id`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 9.wolive_tablist表 ``` CREATE TABLE `wolive_tablist` ( `tid` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL COMMENT 'tab的名称', `content` text NOT NULL, `content_read` text NOT NULL, `business_id` varchar(2555) NOT NULL, PRIMARY KEY (`tid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` 10.wolive_weixin表 ``` CREATE TABLE `wolive_weixin` ( `wid` int(11) NOT NULL AUTO_INCREMENT, `service_id` int(11) NOT NULL COMMENT '客服id', `open_id` varchar(255) NOT NULL COMMENT '微信用户id', PRIMARY KEY (`wid`), KEY `service_id` (`service_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` ### WoLive 公用API #### 1.访客分配接口 - 访客自动分配方法在wolive项目中app/admin/controller/event.php中的notice方法。 - url访问 http://你的域名/admin/event/notice 。 - 需要传入参数,如下 ``` {channel: channel, visiter_id: visiter_id, business_id: business_id, record: record, avatar: pic} channel : 访客订阅的频道 channel ; visiter_id : 访客的名称; business_id : 商户id; record : 是访客从那个网页开始寻求交谈的; avatar : 访客的头像 ``` - 这些参数是通过来传入的。 ``` visiter_id : 传入访客的id,可以被传入,没有这自动生成,后台会被转化为 channel; visiter_name : 传入访客的姓名,就是visiter_name avatar : 传入访客头像。 business_id : 的值就是商户id。 如果以上三个属性值都空,则项目会自动产生默认值。 ``` -成功返回{code:0,msg:'',data:客服的数据json} -返回{code:1,msg:'该网站已经停止客服咨询!'},表示该web已经停止客服咨询 -返回{code:2,msg:'等待认领'},表示等待认领,排队中 -返回{code:3,msg:'请留言'},表示所有客服下线,跳转留言页面 #### 2.发送消息接口 - 发送消息有两个接口。 - 第一个是客服发送消息,url: 你的域名/admin/set/chats。 - 需要传入数据,如下 ``` {visiter_id:sid,content: msg, avatar: img} visiter_id : 用户的id ; avatar :访客的头像; content :发消息的内容 ; ``` - 成功返回{code:0,msg:'success'}。 - 失败返回{code:1,msg:'错误信息'}。 - 第二个是客服发送消息 - 客服发送消息,url: 你的域名/admin/event/chats。 - 需要传入数据,如下 ``` {visiter_id:visiter_id,service_id:service_id,content: msg,business_id: business_id, avatar: pic,record: record} visiter_id : 用户的id ; service_id : 客服的id; content :发消息的内容 ; business_id:就是商户id; avatar :访客的头像; record :记录访客需要咨询的地址情况 ``` - 需要的参数和上面的一样 - 成功返回{code:0,msg:'success'}。 - 失败返回{code:3,msg:"错误消息"}。 #### 3.上传图片 - url: 你的域名/admin/event/upload - 需要传入个name="upload"的文件表单域 - 返回值为 ``` { "code":0, // 表示上传成功 "msg":"", "data":newimgpath // 新图片路径 } ``` #### 4.上传文件 - url: 你的域名/admin/event/uploadfile - 需要传入个name="folder"的文件表单域 - 返回值为 ``` { "code":0, // 表示上传成功 "msg":"", "data":newpath // 文件下载路径 } ``` #### 5.离线访问 - 客服离线或访客离线,服务器访问的地址 - url: 你的域名/admin/event ```