目录结构

2020-08-05 15:23:38

目录结构

wolive-web  应用部署目录
├── application
│   ├── admin                 客服后台相关
│   │   ├── controller        控制器
│   │   │   ├── Base.php      控制器基础类
│   │   │   ├── Event.php     客服对话相关
│   │   │   ├── Index.php     客服后台首页
│   │   │   ├── Login.php     客服后台登录页面
│   │   │   ├── Manager.php   客服后台设置管理相关
│   │   │   └── Set.php       访客页面相关
│   │   ├── iplocation        IP地址库
│   │   ├── model             model,暂时没用到
│   │   ├── validate          输入验证相关
│   │   └── view              视图页面
│   │       ├── index               客服后台相关视图  
│   │       │   ├── chats.html      聊天页面
│   │       │   ├── custom.html     问候语设置页面
│   │       │   ├── editer.html     编辑常见问题页面
│   │       │   ├── editertab.html  编辑扩展tab页面
│   │       │   ├── front.html      生成部署代码页面
│   │       │   ├── history.html    历史消息页面
│   │       │   ├── index.html      客服系统后台主页
│   │       │   ├── question.html   常见问题设置页面
│   │       │   ├── service.html    客服转接页面
│   │       │   ├── set.html        设置主页面
│   │       │   ├── setup.html      通用设置页面
│   │       │   └── tablist.html    前端tab扩展页面编辑
│   │       ├── login               客服后台登录相关
│   │       │   ├── index.html      登录页面
│   │       │   └── sign.html       注册页面
│   │       ├── manager             客服添加分组相关
│   │       │   ├── add.html        添加客服页面
│   │       │   ├── group.html      分组设置页面
│   │       │   ├── info.html       客服列表页面
│   │       │   ├── view.html       历史消息页面
│   │       │   └── weixin.html     微信设置页面
│   │       └── public              公共视图
│   │           ├── footer.html     头部
│   │           └── header.html     底部
│   ├── common.php                  应用公共(函数)文件
│   ├── extra                       pusher类,用于给客户段推送消息
│   │   └── push
│   │       └── Pusher.php          pusher类
│   ├── index                       访客相关
│   │   ├── controller              控制器
│   │   │   └── Index.php           访客侧对话页面
│   │   ├── model                   model,暂时为用到
│   │   └── view                    视图
│   │       └── index               访客侧视图
│   │           ├── errors.html     出错相关页面
│   │           └── index.html      访客侧对话页面
│   ├── layer                       客服侧相关,弹层页面
│   │   ├── controller              控制器
│   │   │   └── Index.php           客服侧视图相关,弹层页面
│   │   └── view                    视图
│   │       └── index               客服侧视图相关,弹层页面
│   │           └── index.html      客服侧视图相关,弹层页面
│   ├── manager                     超级管理员页面
│   │   ├── controller              控制器
│   │   │   ├── Base.php            基础类
│   │   │   ├── Index.php           管理主页
│   │   │   └── Set.php             设置页面
│   │   └── view                    视图
│   │       ├── index               主页
│   │       │   └── index.html      主页
│   │       ├── public              公共视图
│   │       │   ├── footer.html     底部
│   │       │   └── header.html     头部
│   │       └── set                 设置页面
│   │           ├── index.html      主页
│   │           └── info.html       信息页
│   ├── mobile                      移动端h5页面
│   │   ├── controller              控制器
│   │   │   ├── Admin.php           客服侧
│   │   │   ├── Base.php            基础类
│   │   │   └── Index.php           访客侧
│   │   ├── model                   model,暂时没用到
│   │   └── view                    视图
│   │       ├── admin               客服侧
│   │       │   ├── chat.html       对话列表页面,已经不用了
│   │       │   ├── index.html      客服侧主页面
│   │       │   ├── message.html    暂时未用
│   │       │   └── talk.html       客服侧对话页面
│   │       └── index               访客侧相关视图
│   │           └── index.html      访客侧对话页面
│   └── weixin                      微信相关
│       ├── controller              控制器
│       │   └── Index.php           接收微信官方的推送
│       ├── model                   model,暂时未用
│       ├── validate                输入验证,暂时未用
│       └── view                    视图,暂时未用          
├── config              配置目录
│   ├── command.php     命令行工具配置文件,没用到
│   ├── config.php      应用(公共)配置文件
│   └── tags.php        应用行为扩展定义文件,没用到
├── extend              扩展类库目录,没用到
├── install             数据库安装sql文件
├─extend                扩展类库目录(可定义)
├─public                WEB 部署目录(对外访问目录)
│  ├─static             静态资源存放目录(css,js,image)
│  ├─index.php          应用入口文件
│  ├─install.php        ==安装文件==
│  ├─router.php         快速测试文件
│  └─.htaccess          用于 apache 的重写
├─runtime               应用的运行时目录(可写,可设置)
├─vendor                第三方类库目录(Composer)
├─thinkphp              框架系统目录
│  ├─lang               语言包目录
│  ├─library            框架核心类库目录
│  │  ├─think           Think 类库包目录
│  │  └─traits          系统 Traits 目录
│  ├─tpl                系统模板目录
│  ├─.htaccess          用于 apache 的重写
│  ├─.travis.yml        CI 定义文件
│  ├─base.php           基础定义文件
│  ├─composer.json      composer 定义文件
│  ├─console.php        控制台入口文件
│  ├─convention.php     惯例配置文件
│  ├─helper.php         助手函数文件(可选)
│  ├─LICENSE.txt        授权说明文件
│  ├─phpunit.xml        单元测试配置文件
│  ├─README.md          README 文件
│  └─start.php          框架引导文件
├─build.php             自动生成定义文件(参考)
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件url与文件的映射关系

以对话页面 /admin/index/chats 为例。

对应的文件为

wolive-web
└── application
    └─ admin              // admin        
        └─ controller       
            └─ Index.php  // index

里的chats方法。

视图文件为

wolive-web
└── application
    └── admin                   // admin
        └── view              
            └── index           // index      
                └── chats.html  // chats

数据库结构

  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表

  • 扩展tab页面表

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_config

  • 微信公众号配置表

CREATE TABLE `wolive_weixin_config` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `business_id` varchar(100) NOT NULL COMMENT '商家id',
  `weixin_id` varchar(255) NOT NULL COMMENT '微信公众号原始ID',
  `appid` varchar(255) NOT NULL COMMENT '微信公众号开发者ID(AppID)',
  `secret` varchar(255) NOT NULL COMMENT '微信公众号开发者密码',
  `token` varchar(255) NOT NULL COMMENT '令牌(Token)',
  `aes_key` varchar(255) NOT NULL DEFAULT '' COMMENT '消息加解密密钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `weixin_id` (`weixin_id`),
  KEY `business_id` (`business_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;