/*
Navicat MySQL Data Transfer
Source Server : TP
Source Server Version : 50727
Source Host : 127.0.0.1:3306
Source Database : taoler
Target Server Type : MYSQL
Target Server Version : 50727
File Encoding : 65001
Date: 2020-01-01 12:54:45
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for tao_admin
-- ----------------------------
DROP TABLE IF EXISTS `tao_admin`;
CREATE TABLE `tao_admin` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL COMMENT '管理员账户',
`nickname` varchar(20) NOT NULL COMMENT '昵称',
`password` varchar(32) NOT NULL COMMENT '密码',
`email` varchar(30) NOT NULL COMMENT '邮箱',
`mobile` varchar(11) NOT NULL COMMENT '手机号',
`sex` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0女1男',
`status` enum('1','0') NOT NULL DEFAULT '0' COMMENT '1启用0禁用',
`auth_group_id` smallint(1) NOT NULL DEFAULT '0' COMMENT '1超级管理员0是普通管理员',
`remarks` varchar(255) NOT NULL COMMENT '备注',
`last_login_ip` int(4) unsigned NOT NULL COMMENT '最后登录IP',
`last_login_time` int(11) unsigned zerofill NOT NULL COMMENT '最后登录时间',
`create_time` int(11) unsigned zerofill NOT NULL COMMENT '创建时间',
`update_time` int(11) unsigned zerofill NOT NULL COMMENT '更新时间',
`delete_time` int(11) unsigned zerofill NOT NULL COMMENT '软删除',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_admin
-- ----------------------------
INSERT INTO `tao_admin` VALUES ('1', 'admin', '管理员', 'def94a4e0b210f2fac7df0fb279d09d3', 'adminqq@qq.com', '13511112222', '1', '1', '1', '2019.12.31,明天新年发布新版本!', '1270', '01577852879', '01577258664', '01577801064', '00000000000');
INSERT INTO `tao_admin` VALUES ('2', 'test', '测试员', '3dbfa76bd34a2a0274f5d52f5529ccb3', 'tao@qq.com', '13567891236', '0', '0', '2', '', '1270', '01577514365', '01555892325', '01577847765', '00000000000');
-- ----------------------------
-- Table structure for tao_article
-- ----------------------------
DROP TABLE IF EXISTS `tao_article`;
CREATE TABLE `tao_article` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`title` varchar(50) NOT NULL COMMENT '标题',
`content` text NOT NULL COMMENT '内容',
`status` enum('0','1') NOT NULL DEFAULT '1' COMMENT '状态1显示0隐藏',
`cate_id` int(11) NOT NULL COMMENT '分类id',
`user_id` int(11) NOT NULL COMMENT '用户id',
`is_top` enum('0','1') NOT NULL DEFAULT '0' COMMENT '置顶1否0',
`is_hot` enum('0','1') NOT NULL DEFAULT '0' COMMENT '推荐1否0',
`is_reply` enum('1','0') NOT NULL DEFAULT '1' COMMENT '0禁评1可评',
`pv` int(11) NOT NULL COMMENT '浏览量',
`jie` enum('1','0') NOT NULL DEFAULT '0' COMMENT '0未结1已结',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_article
-- ----------------------------
INSERT INTO `tao_article` VALUES ('1', '哪里有好用专一的社区论坛?', '最近有所需要,在网上搜了一下,想找好用现成的社区性质的论坛,本来想搭建一个小区可维护的论坛。你们有推荐的吗?\r\n偶尔进到layui的Fly社区,感觉这个还挺好看的,搜了一下,也有几个类似的项目,得到的结果是,有不错的,可惜不维护了,有维护的,但不是自己想要的风格。\r\n我看的项目框架大多PHP实现的,要不咱也来一个。', '1', '6', '1', '0', '0', '1', '27', '0', '1546698110', '1577773844', '0');
INSERT INTO `tao_article` VALUES ('2', 'php是世界最好的语言吗?', '[quote]\r\n PHP是世界最好的语言\r\n[/quote]\r\n您是怎么认为的呢?据说现在PHP7性能蛮好的,对于WEB开发很有效率,我是学C的,PHP几年前有过了解,在ASP时代,做过电影网站站长,很ASP后来很快就不用了。\r\n你认为PHP怎么样呢?', '1', '1', '1', '0', '0', '1', '77', '0', '1546699158', '1577773832', '0');
INSERT INTO `tao_article` VALUES ('3', 'php压缩文件解压Unzip类', '[quote]\r\n 解压代码\r\n[/quote]\r\n[pre]\r\ncreate_dirs($dest_dir);\r\n\r\n // zip包中的 每个 文件\r\n while ($zip_entry = zip_read($zip))\r\n {\r\n\r\n // 现在我们要在目标目录中创建目录\r\n \r\n // 如果文件不在根目录中\r\n $pos_last_slash = strrpos(zip_entry_name($zip_entry), \"/\"); // strrpos()字符串在另一字符串中最后一次出现的位置。\r\n if ($pos_last_slash !== false)\r\n {\r\n // 创建保存zip条目的目录(结尾加“/”)substr()可在字符串中抽取从 start 下标开始的指定数目的字符。\r\n $this->create_dirs($dest_dir.substr(zip_entry_name($zip_entry), 0, $pos_last_slash+1));\r\n \r\n }\r\n\r\n // Open the entry\r\n if (zip_entry_open($zip,$zip_entry,\"r\"))\r\n {\r\n \r\n // 要保存在磁盘上的文件名\r\n $file_name = $dest_dir.zip_entry_name($zip_entry);\r\n\r\n // 检查是否应覆盖文件\r\n if ($overwrite === true || $overwrite === false && !is_file($file_name))\r\n {\r\n // 获取zip条目的内容\r\n $fstream = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));\r\n\r\n file_put_contents($file_name, $fstream );\r\n // Set the rights\r\n chmod($file_name, 0777);\r\n echo \"save: \".$file_name.\"
\";\r\n }\r\n \r\n // Close the entry\r\n zip_entry_close($zip_entry);\r\n } \r\n }\r\n // Close the zip-file\r\n zip_close($zip);\r\n }\r\n }else{\r\n return false;\r\n }\r\n \r\n return true;\r\n}\r\n\r\n/**\r\n* This function creates recursive directories if it doesn\'t already exist\r\n*\r\n* @param String The path that should be created\r\n* \r\n* @return void\r\n*/\r\npublic function create_dirs($path)\r\n{\r\n if (!is_dir($path))\r\n {\r\n $directory_path = \"\";\r\n $directories = explode(\"/\",$path);\r\n array_pop($directories);\r\n \r\n foreach($directories as $directory)\r\n {\r\n $directory_path .= $directory.\"/\";\r\n if (!is_dir($directory_path))\r\n {\r\n mkdir($directory_path);\r\n chmod($directory_path, 0777);\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n}\r\n[/pre]\r\n\r\n[quote]\r\n 使用实例\r\n[/quote]\r\n[pre]\r\nExtract C:/zipfiletest/zip-file.zip to C:/zipfiletest/zip-file/ and overwrites existing files\r\nunzip(\"C:/zipfiletest/zip-file.zip\", false, true, true);\r\n\r\nExtract C:/zipfiletest/zip-file.zip to C:/another_map/zipfiletest/ and doesn\'t overwrite existing files. NOTE: It doesn\'t create a map with the zip-file-name!\r\nunzip(\"C:/zipfiletest/zip-file.zip\", \"C:/another_map/zipfiletest/\", true, false);\r\n[/pre]\r\n\r\n\r\n', '1', '2', '1', '0', '1', '1', '218', '0', '1546698192', '1577763213', '0');
INSERT INTO `tao_article` VALUES ('4', 'Fly Template 社区模版', '[quote]\r\n 你们认为layui官方Fly Template 社区模版怎么样?\r\n[/quote]\r\nimg[https://cdn.layui.com/upload/2017_11/168_1512035128058_80242.jpg] \r\n你喜欢吗?\r\n很多人都说比较喜欢,我个人认为不错的,这个板子非常喜欢,我看到有一些人做了开发,可惜的是都没有很好的维护,有的漏洞比较多,不完善,很美好的一个板子,但没有长久 的更新,非常的可惜。\r\n如果用别人的不好用,那我就做一个出来吧。喜欢的人多关注,适当时候放出来大家一起用。\r\n关于详情页的内容解析\r\n该模板自带一个特定语法的编辑器,当你把内容存储到数据库后,在页面读取后浏览,会发现诸如“表情、代码、图片”等无法解析,这是因为需要对该内容进行一次转义,通常来说这是在服务端完成的,但鉴于简单化,你还可以直接在前端去解析,在模板的detail.html中,我们已经把相关的代码写好了,你只需打开注释即可(在代码的最下面)。当然,如果觉得编辑器无法满足你的需求,你也可以把该编辑器换成别的HTML编辑器或MarkDown编辑器。', '1', '1', '1', '0', '0', '1', '12', '0', '1546698225', '1577772362', '0');
INSERT INTO `tao_article` VALUES ('5', '中国区域性网上社区的舆情研究', '[quote]\r\n 中国区域性网上社区的舆情研究--基于《济南部落论坛》和《福州家园网》的实证分析\r\n冯立梅\r\n福建师范大学\r\n[/quote]\r\n网上论坛是网上社区最主要的组成部分。继全国性综合网上论坛,如天涯论坛、强国论坛的火爆之后,区域性的网上论坛,也开始迅速成长。\r\n如今每个城市,甚至有的县,都已经拥有了自己的网上论坛。泡本地的网上论坛,成为上网一族的习惯。处在社会转型时期的中国,各种矛盾问题比以往更加突出。而越来越多的社会热点事件,是萌芽于各地方性的网上论坛。网络舆情,是网上论坛信息的体现。因此,研究中国区域性网上社区的舆情信息就显得十分必要。\r\n\r\n本文力图从舆情的第一线出发,探讨中国区域性网上社区目前发展的态势,以及网络舆情的状况。并具体到几个网上论坛,通过综合研究和个案观察的方法,来概括其真实的表征,以此为据进行相关的理论分析。\r\n本着根据调查成果来下结论的思路,经过研究发现,中国区域性网上论坛能够一定程度的反映网络舆情,但是多停留在初级的讨论状态,情绪抒发后真正的问题并没有得到实质的解决。只有个别事件由于舆论压力而被重点处理。网上论坛具有很好的社会降压阀的作用,但对于网络民主的促进,远不及微博等新的媒体形式。 ', '1', '3', '2', '0', '1', '1', '23', '0', '1556798251', '1577765263', '0');
INSERT INTO `tao_article` VALUES ('6', 'PHP是什么', '[quote]\r\n PHP原始为Personal Home Page的缩写,已经正式更名为 \"PHP: Hypertext Preprocessor\"。\r\n[/quote]\r\n\r\n自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持了翻番的增长速度,并且呈上升趋势。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。 [1] \r\n根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。', '1', '3', '1', '0', '0', '1', '28', '0', '1546748103', '1577772531', '0');
INSERT INTO `tao_article` VALUES ('7', 'thinkphp Db类和模型的正确使用姿势', '[quote]\r\n 来源:流年 ThinkPHP官方博客\r\n[/quote]\r\n\r\n2018 年 10 月 23 日 发布\r\n发现很多开发者在使用ThinkPHP5.*的时候不明白Db和模型的正确使用姿势,尤其是在5.1版本里面,如果你没有使用下面的正确姿势,有很大可能性会踩坑。\r\n\r\nDb的正确姿势\r\n下面是官方推荐的Db类用法(也就是每次都是静态方法调用)\r\n\r\n[pre]\r\n// 查询单个数据\r\nDb::name(\'user\')->where(\'id\', 1)->find();\r\n// 查询多个数据\r\nDb::name(\'user\')->where(\'id\', \'>\', 1)->select();\r\n// 写入新的数据\r\nDb::name(\'user\')->insert([\'name\' => \'张三\']);\r\n// 更新数据\r\nDb::name(\'user\')->where(\'id\', 1)->update([\'name\' => \'李四\']);\r\n// 删除数据\r\nDb::name(\'user\')->delete(1);\r\n[/pre]\r\n\r\n很多开发者为了简化代码,喜欢使用下面的代码。\r\n\r\n[quote]\r\n 但是,永远不要在5.1中使用下面的代码!\r\n[/quote]\r\n\r\n[pre]\r\n// 错误的用法\r\n\r\n$user = Db::name(\'user\');\r\n// 查询单个数据\r\n$user->where(\'id\', 1)->find();\r\n// 查询多个数据\r\n$user->where(\'id\', \'>\', 1)->select();\r\n// 写入新的数据\r\n$user->insert([\'name\' => \'张三\']);\r\n// 更新数据\r\n$user->update([\'name\' => \'李四\']);\r\n// 删除数据\r\n$user->delete(1);\r\n[/pre]\r\n\r\n[quote]\r\n 即便是使用助手函数仍然不建议!\r\n[/quote]\r\n\r\n[pre]\r\n// 仍然是错误的用法\r\n\r\n// 查询单个数据\r\ndb(\'user\')->where(\'id\', 1)->find();\r\n// 查询多个数据\r\ndb(\'user\')->where(\'id\', \'>\', 1)->select();\r\n// 写入新的数据\r\ndb(\'user\')->insert([\'name\' => \'张三\']);\r\n// 更新数据\r\ndb(\'user\')->update([\'name\' => \'李四\']);\r\n// 删除数据\r\ndb(\'user\')->delete(1);\r\n[/pre]\r\n\r\n很多开发者可能会奇怪,为什么是错误的用法呢?我使用的结果明明都没问题啊?这只是说明你还没踩坑罢了。\r\n\r\n真正的原因,是5.1版本每次查询后是不会清空前次(5.0则会每次清空)的查询条件的,所以下面的用法是有效的。\r\n\r\n[pre]\r\n$user = Db::name(\'user\');\r\n// 查询分数大于80分的用户总数\r\n$count = $user->where(\'score\', \'>\', 80)->count();\r\n// 查询分数大于80分的用户数据\r\n$user->select();\r\n[/pre]\r\n\r\n看到这里你应该明白了,当你使用的是同一个数据库查询对象实例的话,查询条件是始终会保留的(也就是会导致后面的查询条件错乱),而如果你使用助手函数或者手动实例化后多次操作都是相同的对象实例,除非你像下面一样手动清除。\r\n\r\n[pre]\r\n$user = Db::name(\'user\');\r\n// 查询分数大于80分的用户总数\r\n$count = $user->where(\'score\', \'>\', 80)->count();\r\n// 清除查询条件(但不包括排序或者字段等信息)\r\n$user->removeOption(\'where\');\r\n// 查询所有用户数据 并按分数倒序排列 \r\n$user->order(\'score\', \'desc\')->select();\r\n// 清除所有查询条件\r\n$user->removeOption();\r\n// 查询分数等于100的用户\r\n$user->where(\'score\', 100)->select();\r\n[/pre]\r\n\r\n[quote]\r\n 最佳实践:每次使用全新的Db静态查询\r\n[/quote]\r\n\r\n模型的正确姿势\r\n模型的设计其实和Db一样,基本上不需要手动进行实例化。\r\n\r\n[pre]\r\n// 写入新的数据\r\n$user = User::create([\'name\' => \'张三\']);\r\n// 更新数据\r\n$user->update([\'name\' => \'李四\']);\r\n\r\n// 查询单个数据\r\n$user = User::get(1);\r\n// 删除当前模型数据\r\n$user->delete();\r\n[/pre]\r\n\r\n上面的代码中,我们没有使用任何的实例化代码,都是使用静态方法操作。模型的实例化工作是由系统在查询或者写入数据的时候自动完成的。如果你自己手动实例化模型的话,会造成模型的重复实例化开销。\r\n\r\n不建议的用法:\r\n\r\n[pre]\r\n$user = new User;\r\n// 写入新的数据\r\n$user->name = \'张三\';\r\n$user->save();\r\n$user = new User;\r\n$user->find(1);\r\necho $user->name;\r\n[/pre]\r\n\r\n建议用法:\r\n\r\n[pre]\r\n// 写入新的数据\r\nUser::create([\'name\' => \'张三\']);\r\n$user = User::get(1);\r\necho $user->name;\r\n[/pre]\r\n\r\n所以,请不要手动实例化模型,也不建议使用model助手函数。\r\n\r\n[quote]\r\n 最佳实践:模型查询和创建都使用静态方法\r\n[/quote]\r\n\r\n现在,你明白Db类和模型使用的正确姿势了么?', '1', '2', '3', '0', '1', '1', '29', '0', '1546776559', '1577766682', '0');
INSERT INTO `tao_article` VALUES ('8', 'thinkphp更新数据表的方法', '[quote]\r\n tp更新数据表的方法\r\n[/quote]\r\n[pre]\r\n/**\r\n * 更新数据表\r\n * @param resource $db 数据库连接资源\r\n * @param string $prefix\r\n * @author lyq <605415184@qq.com>\r\n */\r\nfunction update_tables($db, $prefix = \'\') {\r\n //读取SQL文件\r\n $sql = file_get_contents(APP_PATH . \'install/data/update.sql\');\r\n $sql = str_replace(\"\\r\", \"\\n\", $sql);\r\n $sql = explode(\";\\n\", $sql);\r\n\r\n //替换表前缀\r\n $sql = str_replace(\" `tao_\", \" `{$prefix}\", $sql);\r\n\r\n //开始安装\r\n show_msg(\'开始升级数据库...\');\r\n foreach ($sql as $value) {\r\n $value = trim($value);\r\n if (empty($value)) {\r\n continue;\r\n }\r\n if (substr($value, 0, 12) == \'CREATE TABLE\') {\r\n $name = preg_replace(\"/^CREATE TABLE `(\\w+)` .*/s\", \"\\\\1\", $value);\r\n $msg = \"创建数据表{$name}\";\r\n if (false !== $db->execute($value)) {\r\n show_msg($msg . \'...成功!\');\r\n } else {\r\n show_msg($msg . \'...失败!\', \'error\');\r\n Session::set(\'error\', true, \'install\');\r\n }\r\n } else {\r\n if (substr($value, 0, 8) == \'UPDATE `\') {\r\n $name = preg_replace(\"/^UPDATE `(\\w+)` .*/s\", \"\\\\1\", $value);\r\n $msg = \"更新数据表{$name}\";\r\n } else if (substr($value, 0, 11) == \'ALTER TABLE\') {\r\n $name = preg_replace(\"/^ALTER TABLE `(\\w+)` .*/s\", \"\\\\1\", $value);\r\n $msg = \"修改数据表{$name}\";\r\n } else if (substr($value, 0, 11) == \'INSERT INTO\') {\r\n $name = preg_replace(\"/^INSERT INTO `(\\w+)` .*/s\", \"\\\\1\", $value);\r\n $msg = \"写入数据表{$name}\";\r\n }\r\n if (($db->execute($value)) !== false) {\r\n show_msg($msg . \'...成功!\');\r\n } else {\r\n show_msg($msg . \'...失败!\', \'error\');\r\n Session::set(\'error\', true, \'install\');\r\n }\r\n }\r\n }\r\n}\r\n[/pre]\r\n', '1', '2', '2', '0', '0', '1', '110', '0', '1546776594', '1577763657', '0');
INSERT INTO `tao_article` VALUES ('9', '社区为单位组织的区域性社区服务', '作为以社区为单位组织的区域性社区福利服务,社区服务主要表现为以下几个方面特征:()\r\n\r\nA、自助互助性\r\n\r\nB、多元化\r\n\r\nC、服务形式丰富化\r\n\r\nD、广泛性\r\n\r\nE、服务人员专业化\r\n\r\nF、持续发展性', '1', '3', '2', '0', '0', '1', '37', '0', '1546776655', '1577765003', '0');
INSERT INTO `tao_article` VALUES ('10', '徐州这个小区业主自治攒下24万元家底', '[quote]\r\n 转自腾讯网\r\n[/quote]\r\n2月13日,大年初九,家住军缘新城的蔺女士是春节后第四次在家请客了。\r\n\r\n“以前小区环境不好,不好意思喊亲戚朋友来家里吃饭。现在小区像花园一样,晚上还有喷泉,作为业主感觉很自豪。小区自治这几个月,变化太大了。”\r\n\r\n重建后的小区广场美观又实用\r\nimg[https://inews.gtimg.com/newsapp_bt/0/7699348341/1000] \r\n\r\n13日早上9时许,军缘新城小区广场上很安静,只听见扫帚“唰唰”的扫地声,两名保洁员在打扫卫生,清扫过的地面一尘不染。\r\n\r\n小区业委会主任马照明和财务监督组组长周永才介绍了自从2018年9月10日小区自治以来广场上发生的变化:\r\nimg[https://inews.gtimg.com/newsapp_bt/0/7699348342/1000] \r\n\r\n小区水清路净。\r\n\r\n最大的亮点是春节前花费2305元修好了闲置多年的喷泉,安装上彩色的灯带。春节以来,业主们每天晚上都到广场欣赏彩色喷泉,大人孩子个个欢天喜地。\r\n\r\n\r\n春节前,清理水池里的淤泥,修复喷泉。\r\n\r\n“喷泉水池积攒多年的淤泥我们都清理干净了,七八个人整整干了12天的时间,又花300元钱买了一批观赏鱼放进去。”周永才指着清澈见底的水池说:“天冷,这些鱼懒得动,喜欢躲在石头缝里,等天年暖和了,它们游来游去更漂亮。”\r\n\r\n小区路灯全部更换成LED灯,亮堂又节能。广场上有一盏10米多高的大灯,是6年前有业主捐赠的,只亮了一段时间就坏了,几任物业公司都没人修理过。\r\nimg[https://inews.gtimg.com/newsapp_bt/0/7699348344/1000] \r\n\r\n业委会工作人员和业主齐心协力上阵,安装照明设施。\r\n\r\n这次实行自治后,也请电工维修好了。因为灯杆太高太重,放下和扶起的时候难度都很大,小区20多名男女老少一起过来用绳子把它拽起来。灯亮起来以后,早上锻炼、晚上跳广场舞的业主都很方便。\r\n\r\n广场的绿植看上去也很整齐、富有层次,树木已经修剪好,灌木丛内没有一点杂草和落叶。白玉兰树叶绿油油的,樱花树枝也泛出了生机。\r\n\r\n\r\n为了美化环境,小区内每个向阳的地段都设置了晾晒区\r\n\r\n小区广场不仅美观,还很实用,四周安装了15个高大的晾衣架。阳光好的时候,业主都喜欢到这里晒被子。\r\n\r\n广场的一角,还有一个醒目的展示牌,上面贴着1月11日至2月10日的各项收支明细和工资发放表。大到几百元的灯带,小到2元的刷子,一项项都罗列清楚。\r\n\r\n小区自治之路一波三折\r\n\r\n治理好一个小区,并不比管理好一家企业轻松。军缘新城的自治之路,也经历了一波三折。\r\n\r\n军缘新城于2008年3月上房,至2018年年初,10年间换了6任物业公司,没有一家能够在这个小区顺顺当当干下去。\r\n\r\n“主要是形成了恶性循环。物业服务不好,业主不愿交物业费;物业收不上来费用,服务质量就更差。”周永才说,最差的一年,物业公司只收到了60户业主的物业费。\r\n\r\n亏损最严重的一家物业公司,欠下了9万多元的债务。每一任物业走的时候,小区都是垃圾遍地,物业办公室里甚至连灯泡都被拆走。最后,业主们只能向社区求助,2018年以后,没有物业公司愿意到军缘新城来服务了。\r\n\r\n业主自治成了军缘新城唯一的出路。马照明说,自治并不像想像的那么简单、美好。军缘新城先后有三班热心业主出马实行自治,都想改变小区面貌,也摔了不少跟头。\r\n\r\n第一次自治从2018年2月开始,坚持了5个月,但管理中出现一些问题,物业费迟迟收不上来,只得偃旗息鼓;在社区的组织下,第二次自治很快又开始了,但因为提出的两套方案业主不认可,也没能顺利收取物业费,前后只坚持了26天。\r\n\r\n\r\n业主委员会马照明主任向业主群内发布的就职声明\r\n\r\n两次自治失败,有些人觉得灰心了。这时,曾经担任过业委会成员的马照明,在大家的推选之下站了出来,愿意担心业委会主任。上任之初他就声明:不要任何薪水和奖励,一切工作站在广大业主利益方面出发,监督、督促物业搞好小区物业服务,维护业主利益。\r\n\r\n新的业委会班子共有11名成员,经过商讨,成立了自治办,自治办负责人是热心业主朱兆砥,一名退休老师,也是他带头站出来支持小区自治的。\r\n\r\n\r\n只有物业经理和保安保洁等人员能领工资,他们都是小区业主。\r\n\r\n朱兆砥聘任用了一名物业经理和保安、保洁、电工共10人,只有这11人是拿工资的,其余人全部是义务为小区服务。朱兆砥在内蒙还有一份工作,经常在群里“遥控”指挥,春节回来这几天每天泡在小区里,几乎没有休息过。\r\n\r\n成功秘诀是“财务公开+办实事”\r\n\r\n\r\n每个月公示一次账目\r\n\r\n总结小区自治成功的经验,马照明透露了两个秘诀:一是财务公开,二是给业主办实事。\r\n\r\n作为小区的“财务总监”,周永才说,他们财务小组一共有7名成员,里面有从事会计工作的,有拿到会计师职称的,有干过财务科长的,还有在高校里传授财会知识的教授,这些成员都由热心业主推荐,他挨家挨户上门动员做工作争取来的。\r\n\r\n每个月月底大家坐在一起集体进行财务审核,查看各项收入和支出有无问题,全部同意后由周永才签字,再进行公示。\r\n\r\n接手小区财务后,他们才知道,有些盈利以前的物业从来不公示也不会告知业主,比如小区的饮水机、捐衣箱、快递箱都是有租金的,虽然不高,但也积少成多。\r\n\r\n诸如此类的收入,哪怕有100元的进账,周永才也会公示。支出更要征求民意,春年前给物业人员每人发100元过节费,也是征得大家同意的。\r\n\r\n每项财务专项专用,物业费用于发放物业人员工资,小区租金和广告收入则用于小区公共建设。\r\n\r\n\r\n业主委员会财务都有专职人员进行监管,每个月的收支都张贴出来。\r\n\r\n“我们账上现在还剩余241580.9元。”年过六旬的周永才对小区账户上的每项数字都能脱口而出。他总是想方设法为小区省钱,购买路灯灯泡时为了享受团购价,他在群里发动有需求的业主一起购买,最终省下了150元。小区物业办公需要电脑,他主动把自己家闲置的电脑拿过来作为公用。业委会与物业用房也由5间压缩为4间,多出租一间房就多一点收入。\r\n\r\n说到给业主办实事,那肯定需要钱,军缘新城的这一届业委会上任时一穷二白,马照明甚至还垫付了4000多元的电梯维修费。怎么办?\r\n\r\n业委会想到了小门门口的一排公共用房,上房多年来,除去物业和业委会用房5间,其余全部被无端占用。顶着巨大的压力,他们请一些有威望的老人前去做工作,一遍遍动员、贴公告,前后花了两个月的时间终于把房子全部要回来并租了出去,14间房屋每年可收租金3.5万元。另外小区广告费的收入每年也有2.5万元左右。\r\n\r\n业委会和自治办一边整改小区,一边收取物业费,将物业费收取标准由每平米0.45元降至每平米0.40元,而且不另收公共能耗费,前三个月的物业费收缴率终于创了新高,达到90%以上,如果不是有140户空关户,收缴率会更高。\r\n\r\n社区放心了,业主满意了\r\n\r\n军缘新城新一轮自治从2018年9月10日开始,到现在5个多月了,工作进展十分顺利。\r\n\r\n道北社区盛莉主任感慨说,现在军缘新城自治工作确实已经走上正轨,不需要社区介入了,也没有业主前来投诉了。以前每次物业撤出和自治失败后,都是社区来兜底。\r\n\r\n这次自治,物业费收得低,保安和保洁用的都是小区居民,活干得好,业委会跟业主沟通也有方法,业主很满意,社区也放心了。\r\n\r\n在广场上保洁的陈衍玲说,\r\n\r\n她负责小区三栋楼房和半个广场的清洁工作,每天把三栋楼的公共区域都打扫一遍,广场早中晚都要打扫,一天下来没有清闲的时候,每个月工资1600元。\r\n\r\n但是打扫自己的小区很开心,就像在自己家里搞卫生一样,到处弄得干干净净的,得到业主的夸赞,心里很自豪。\r\n\r\n小区居民季女士对业委会竖起了大拇指:\r\n\r\n小区自治很成功,业主们都很感激业委会和自治办,他们个个都是无私奉献。如今的小区比很多有物业管理的小区都要干净。\r\n\r\n自从她5年前住进这里,喷泉水池就是个臭水沟,以前从来没见喷泉喷过水,现在水池变得那么干净,还养起了鱼。变化大太了。业委会为业主服务更热心,有一次她家突然停电了,马主任带着电工到她家维修,一会儿就把问题解决了。他们是实实在在给业主办事。\r\n\r\n马照明骄傲地说,前几天他看到小区里有个孩子不愿去爷爷奶奶家,原因竟然是这里晚上有漂亮的喷泉,比爷爷奶奶家好玩。\r\n\r\n据了解,军缘新城即将上马一个更好玩的项目:取消门禁卡,刷脸进小区,打造智慧小区。这个全市还是首家。\r\n\r\n对于小区将来的发展,军缘新城业委会已经制定了长远规划:重建广场上6座小亭子,更换所有单元门,美化小区入口的500米长廊,建成花园式小区。最近他们正在寻找广告商合作一起翻修入口长廊,还希望有爱好墙壁画的人士能帮他们美化墙面。', '1', '4', '2', '0', '1', '1', '68', '0', '1550996685', '1577765713', '0');
INSERT INTO `tao_article` VALUES ('11', '数据查询链式操作', 'face[微笑] \r\n\r\n数据库提供的链式操作方法,可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作(原生查询不支持链式操作)。\r\n\r\n使用也比较简单,假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下:\r\n\r\n[pre]\r\nDb::table(\'think_user\')\r\n ->where(\'status\',1)\r\n ->order(\'create_time\')\r\n ->limit(10)\r\n ->select();\r\n[/pre]\r\n这里的where、order和limit方法就被称之为链式操作方法,除了select方法必须放到最后一个外(因为select方法并不是链式操作方法),链式操作的方法调用顺序没有先后,例如,下面的代码和上面的等效:\r\n\r\n[pre]\r\nDb::table(\'think_user\')\r\n ->order(\'create_time\')\r\n ->limit(10)\r\n ->where(\'status\',1)\r\n ->select();\r\n[/pre]\r\n其实不仅仅是查询方法可以使用连贯操作,包括所有的CURD方法都可以使用,例如:\r\n\r\n[pre]\r\nDb::table(\'think_user\')\r\n ->where(\'id\',1)\r\n ->field(\'id,name,email\')\r\n ->find(); \r\n \r\nDb::table(\'think_user\')\r\n ->where(\'status\',1)\r\n ->where(\'id\',1)\r\n ->delete();\r\n[/pre]', '1', '3', '1', '0', '0', '1', '53', '0', '1546860297', '1577773852', '0');
INSERT INTO `tao_article` VALUES ('12', 'layui表单页面元素', '[quote]\r\n 在一个容器中设定 class=\"layui-form\" 来标识一个表单元素块,通过规范好的HTML结构及CSS类,来组装成各式各样的表单元素,并通过内置的 form模块 来完成各种交互。\r\n[/quote]\r\n[quote]\r\n 依赖加载模块:form (请注意:如果不加载form模块,select、checkbox、radio等将无法显示,并且无法使用form相关功能)\r\n[/quote]\r\n[pre]\r\n
\r\n \r\n\r\n[/pre]\r\nUI的最终呈现得益于 Form模块 的全自动渲染,她将原本普通的诸如select、checkbox、radio等元素重置为你所看到的模样。或许你可以移步左侧导航的 内置模块 中的 表单 对其进行详细的了解。', '1', '2', '1', '0', '0', '1', '29', '0', '1546871441', '1577771850', '0');
INSERT INTO `tao_article` VALUES ('13', 'thinkphp5.1开发规范', '[quote]\r\n 命名规范\r\n[/quote]\r\n\r\nThinkPHP5.1遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:\r\n\r\n[quote]\r\n 目录和文件\r\n[/quote]\r\n\r\n目录使用小写+下划线;\r\n类库、函数文件统一以.php为后缀;\r\n类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;\r\n类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;\r\n类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);\r\n[quote]\r\n 函数和类、属性命名\r\n[/quote]\r\n\r\n类的命名采用驼峰法(首字母大写),例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User;\r\n函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;\r\n方法的命名使用驼峰法(首字母小写),例如 getUserName;\r\n属性的命名使用驼峰法(首字母小写),例如 tableName、instance;\r\n特例:以双下划线__打头的函数或方法作为魔术方法,例如 __call 和 __autoload;\r\n[quote]\r\n 常量和配置\r\n[/quote]\r\n\r\n常量以大写字母和下划线命名,例如 APP_PATH;\r\n配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;\r\n环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;\r\n[quote]\r\n 数据表和字段\r\n[/quote]\r\n\r\n数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表及字段命名。\r\n请理解并尽量遵循以上命名规范,可以减少在开发过程中出现不必要的错误。', '1', '2', '1', '0', '0', '1', '51', '0', '1547436945', '1577772688', '0');
INSERT INTO `tao_article` VALUES ('14', 'thinkphp5.1目录结构', '[pre]\r\nwww WEB部署目录(或者子目录)\r\n├─application 应用目录\r\n│ ├─common 公共模块目录(可以更改)\r\n│ ├─module_name 模块目录\r\n│ │ ├─common.php 模块函数文件\r\n│ │ ├─controller 控制器目录\r\n│ │ ├─model 模型目录\r\n│ │ ├─view 视图目录\r\n│ │ ├─config 配置目录\r\n│ │ └─ ... 更多类库目录\r\n│ │\r\n│ ├─command.php 命令行定义文件\r\n│ ├─common.php 公共函数文件\r\n│ └─tags.php 应用行为扩展定义文件\r\n│\r\n├─config 应用配置目录\r\n│ ├─module_name 模块配置目录\r\n│ │ ├─database.php 数据库配置\r\n│ │ ├─cache 缓存配置\r\n│ │ └─ ... \r\n│ │\r\n│ ├─app.php 应用配置\r\n│ ├─cache.php 缓存配置\r\n│ ├─cookie.php Cookie配置\r\n│ ├─database.php 数据库配置\r\n│ ├─log.php 日志配置\r\n│ ├─session.php Session配置\r\n│ ├─template.php 模板引擎配置\r\n│ └─trace.php Trace配置\r\n│\r\n├─route 路由定义目录\r\n│ ├─route.php 路由定义\r\n│ └─... 更多\r\n│\r\n├─public WEB目录(对外访问目录)\r\n│ ├─index.php 入口文件\r\n│ ├─router.php 快速测试文件\r\n│ └─.htaccess 用于apache的重写\r\n│\r\n├─thinkphp 框架系统目录\r\n│ ├─lang 语言文件目录\r\n│ ├─library 框架类库目录\r\n│ │ ├─think Think类库包目录\r\n│ │ └─traits 系统Trait目录\r\n│ │\r\n│ ├─tpl 系统模板目录\r\n│ ├─base.php 基础定义文件\r\n│ ├─convention.php 框架惯例配置文件\r\n│ ├─helper.php 助手函数文件\r\n│ └─logo.png 框架LOGO文件\r\n│\r\n├─extend 扩展类库目录\r\n├─runtime 应用的运行时目录(可写,可定制)\r\n├─vendor 第三方类库目录(Composer依赖库)\r\n├─build.php 自动生成定义文件(参考)\r\n├─composer.json composer 定义文件\r\n├─LICENSE.txt 授权说明文件\r\n├─README.md README 文件\r\n├─think 命令行入口文件\r\n[/pre]\r\n\r\n[quote]\r\n 在mac或者linux环境下面,注意需要设置runtime目录权限为777。\r\n[/quote]\r\n[quote]\r\n 由于5.1版本取消了系统路径的常量定义,因此系统的目录名称不可更改。如果需要更改应用目录或者入口文件位置,参考架构章节的入口文件部分。\r\n[/quote]\r\n', '1', '1', '1', '0', '0', '1', '239', '1', '1548325869', '1577772871', '0');
INSERT INTO `tao_article` VALUES ('15', 'add添加文章有误', 'face[微笑] \r\n123\r\nimg[/uploads/20190310/4cc8e58de8f2765270e8475bf059ae1d.jpg] \r\n[hr]\r\n[pre]\r\njjjj\r\n[/pre]\r\n[quote]\r\n这样的风格,呵呵!\r\n[/quote]\r\n', '1', '1', '1', '0', '0', '1', '184', '0', '1551436861', '1555747615', '0');
INSERT INTO `tao_article` VALUES ('16', '谁在使用thinkphp6.0版本', '新项目测试,更新为thinkphp6框架。', '1', '6', '1', '0', '0', '1', '12', '0', '1552182370', '1577769774', '0');
INSERT INTO `tao_article` VALUES ('17', '2019.3.10创建TaoLer项目', '创建TaoLer项目\r\n使用Thinkphp为核心框架,\r\n前身TLBS,think5.1开发。\r\n', '1', '4', '1', '0', '0', '1', '32', '0', '1552183473', '1577769686', '0');
INSERT INTO `tao_article` VALUES ('18', 'layui 2.5.5发布', '闲心:\r\n[quote]\r\n 之前大家在《2.5.x 问题集中收集》中反馈的内容,我已如数看到,谢谢大家的积极反馈!。其中有些被采纳在本次版本中,有些被规划到了 v2.6、v3.0 中。我深知之前反复的断更对 layui 带来的是怎样无可挽回的损失,然而 layui 终于还是不得不重新审视它所处的位置,行进的「前端河」分出了两条支流:一条是滚滚洪流,没有人能够逃脱它的流速,我们必须要在拥抱中重生;一条是波澜不惊,那是我们最初的方向,返璞归真、自诩的「经典」和不灭的执念。顺应潮流而不背离初心,layui 注定要同时流向这两条支流,虽千万里之行,亦愿独闯。\r\n[/quote]\r\n\r\n# v2.5.5(2019.09.10)\r\n● [优化] form 组件的 val() 方法,除了之前版本的赋值,目前还可支持取值\r\n● [新增] tree 组件的数据源参数 field,用于定义数据字段名\r\n● [优化] tree 组件的节点删除前的提示功能\r\n● [修复] tree 组件的数据源参数 checked 在父子节点同时设定时的异常问题\r\n● [优化] table 组件的 defaultToolbar 参数,可以扩展头部工具栏右侧图标按钮\r\n● [优化] table 组件的局部代码,减少重复的全局事件引发的卡顿问题\r\n● [修复] table 组件的合计行未按照对应列显示自定义模板的问题\r\n● [修复] table 组件导出数据时未包含合计行的问题\r\n● [修复] transfer 组件的右侧面板在使用搜索转移数据后,无法再获取右侧数据的问题\r\n● [新增] upload 组件的 progress 回调,用于监听文件的上传进度', '1', '4', '1', '1', '0', '1', '88', '0', '1568096396', '1577769315', '0');
INSERT INTO `tao_article` VALUES ('19', 'php创建递归目录', '如果不存在,创建递归目录:\r\n[pre]\r\n/**\r\n* This function creates recursive directories if it doesn\'t already exist\r\n*\r\n* @param String The path that should be created\r\n* \r\n* @return void\r\n*/\r\npublic function create_dirs($path)\r\n{\r\n if (!is_dir($path))\r\n {\r\n $directory_path = \"\";\r\n $directories = explode(\"/\",$path);\r\n array_pop($directories);\r\n \r\n foreach($directories as $directory)\r\n {\r\n $directory_path .= $directory.\"/\";\r\n if (!is_dir($directory_path))\r\n {\r\n mkdir($directory_path);\r\n chmod($directory_path, 0777);\r\n }\r\n }\r\n }\r\n}\r\n[/pre]\r\n', '1', '2', '1', '0', '1', '1', '178', '0', '1559193830', '1577763199', '0');
INSERT INTO `tao_article` VALUES ('22', '漂亮!2018江苏扶贫脱贫工作再报好成绩!', '2019年02月26日 21:50 新华报业网\r\n交汇点讯 以“绣花”功夫扎实推进精准扶贫精准脱贫,以决战决胜的信心和决心打赢打好脱贫攻坚战。2月26日下午,全省扶贫开发工作会议在南京召开。根据会议通报,2018年,全省人均收入6000元以下低收入农户共有267674户、675383人实现脱贫。全省有244个省定经济薄弱村集体经济收入超过18万元,扶贫工作交出亮眼“成绩单”。\r\nimg[http://n.sinaimg.cn/translate/516/w752h564/20190226/qNqo-htptaqe9309745.png] \r\n\r\n 家门口就能就业苏北5市脱贫工作成效显著\r\n\r\n 根据会议通报,苏北5市脱贫255046户、653051人,占全省脱贫人数的96.7%。苏中扬州市、泰州市脱贫12628户、22332人。苏北12个重点县(区)脱贫126548户、352630人,占苏北5市脱贫人数的54.0%。苏北5市脱贫236个村,占全省脱贫村总数的96.7%;苏中泰州市脱贫8个。苏北12个重点县(区)脱贫140个村,占苏北5市脱贫村的59.3%。\r\n\r\n 成绩单背后,是全省扶贫工作的扎实稳步推进。\r\n\r\n 以宿迁市为例,2018年该市实现12.8万建档立卡低收入人口、46个省定经济薄弱村脱贫达标,分别完成年度且标任务的126.7%、109.5%。宿迁市副市长光华介绍,该市打造优质稻米、标准化果蔬、园艺型花木、农牧循环型生猪、精深加工型肉禽、生态河蟹六大百亿级产业,带动近10万低收入人口增收;免费开展劳动力培训,累计实施“家门口就业”项目989个,带动低收入劳动力就业5.9万人,人均年增收1.32万元。\r\n\r\n “沙集模式”加入助力精准扶贫、精准脱贫\r\n\r\n 靶向发力,精准施策,才能让脱贫攻坚取得过硬成果。\r\n\r\n 2018年,睢宁县53个省定和47个县定经济薄弱村全部“摘帽”,12.14万低收入人口实现脱贫。在众多扶贫举措中,做好电商扶贫是该县扶贫工作的一大亮点。\r\n\r\n 睢宁县委副书记王敏说,睢宁县着力打造8大电商产业园区、设立600多个服务网点,全面拓宽电商就业渠道。设置1000万元电商专项扶持资金,强化扶贫小额贷款支持力度。依托全国首家地市级“淘宝大学”,实施“万人培训计划”,4年免费培训超过4万人,带动近5500名低收入户成功创业。\r\n\r\n 不仅如此,该县复制推广“沙集模式”,积极开展淘宝镇村创建,打造出东部简约家具、西南部小饰品、西北部特色农产品、中部传统店铺与网店结合的“四大电商片区”。2018年累计创成淘宝镇10个、淘宝村92个,淘宝村总量全省第一、全国第四,拥有网商3.4万户,带动从业人数超21万人,直接或间接帮助近2万人脱贫。\r\n\r\n 各类帮扶项目持续发力为扶贫增收提供保障\r\n\r\n 2018年,全省235家后方单位完成省定出资任务2.59亿元,到挂钩帮扶县(区)开展扶贫现场办公3769人次。省委驻县帮扶工作队全年协调投入资金12.55亿元,实施各类帮扶项目623个,所挂钩帮扶203个省定经济薄弱村通过不到一年的帮扶,已有140个村实现脱贫。\r\n\r\n 在淮安,省委驻涟水县帮扶工作队打造了“安东米富”品牌,整合资源,扶持经营主体,以“互联网+公司+基地+农户”的模式,打造新型农业产业化联合体。省委驻涟水县帮扶工作队队长孙国君介绍,目前已整合7个生产基地,对接15个家庭农场;“安东米富”从单一有机稻米,扩展到近二十几种产品,拥有草鸡蛋、有机大米、红薯粉丝等23个特色农产品,产业发展覆盖9个村,带动农户2066个。已经形成的长期稳定产销关系实现全年销售额超过1000万元,为村集体和农民持久增收提供了有力保障。\r\n\r\n 两地帮扶共赢为区域后续发展增添新动能\r\n\r\n 截至2018年底,全省低收入人口还剩余568883人未脱贫,97个省定经济薄弱村未达标。打赢打好脱贫攻坚战,求实求效,相生相长,也是一个有效措施。\r\n\r\n 南京市江宁区从1995年开始挂钩帮扶淮安市淮阴区。截至目前,帮扶淮阴区建设项目146个,累计投入资金5352万元;江宁开发区投入以奖代补资金8500万元。\r\n\r\n 2006年10月,江宁开发区与淮阴区携手共建淮阴工业园,随着一系列项目招引、转型升级举措的实施,这一园区在全省45家南北共建园区中,连续七年被评为共建园区先进单位;成功引进了众创空间合伙人项目,2018年9月获批省级众创空间称号,是淮安市唯一获批的省级众创空间。\r\n\r\n 南京江宁区委常委、常务副区长李滨说,目前,在众创空间注册成立企业16家,引进创业团队13个。李德发院士、王国栋院士在园区企业澳华农牧、振达钢管设立院士工作站;淮阴工学院、淮阴师范学院等高校和科研院所,常年在园区开展“百名博士帮百企”等活动,为区域后续发展增添了新动能。\r\n\r\n 【新闻延伸】\r\n\r\n 江苏全省低收入人口大病专项救治病种数增至30种\r\n\r\n 交汇点讯全省因病致贫农户从2016年的40.3万户下降到目前的14.2万户。这是记者从2月26日下午举办的全省扶贫开发工作会议上获得的消息。\r\n\r\n 据省卫生健康委巡视员何小鹏介绍,全省低收入人口治疗总费用个人自付比例由2016年的50%左右下降至2018年底的30%左右;大病专项救治病种数由20种增至30种;全省确定定点医院412家,救治大病患者7.47万人,减免医疗费用超过3.21亿元。\r\n\r\n 交汇点见习记者 胡安静', '1', '4', '3', '0', '1', '0', '4', '0', '1551996685', '1577767438', '0');
INSERT INTO `tao_article` VALUES ('23', 'ThinkPHP6.0版本发布', '[quote]\r\n 2019 年 10 月 24 日 发布\r\n官方历时一年多倾力打造的ThinkPHP6.0版本正式发布,该版本基于精简核心和统一用法两大原则在5.1的基础上对底层架构做了进一步的优化改进,并更加规范化。\r\n\r\n由于引入了一些新特性,ThinkPHP6.0运行环境要求PHP7.1+(推荐PHP7.3+),不支持5.1的无缝升级\r\n[/quote]\r\n\r\n主要特性:\r\n采用PHP7强类型(严格模式)\r\n支持更多的PSR规范\r\n多应用支持\r\nORM组件独立\r\n改进的中间件机制\r\n核心架构服务化\r\n全新的事件系统\r\n容器功能增强\r\n模板引擎组件独立\r\n内部功能中间件化\r\nSESSION机制改进\r\n缓存及日志支持多通道\r\n引入Filesystem组件\r\n对Swoole以及协程支持改进\r\n对IDE更加友好\r\n统一和精简大量用法\r\n强类型及严格模式\r\n在主流框架里面,ThinkPHP6.0是最先采用PHP7严格模式的。所有的核心文件都是开启了严格模式的类型约束,因此有任何的变量类型不符的情况都会抛出异常,有利于规范代码中的变量类型和提前发现问题隐患。\r\n\r\n多应用模式\r\n新版框架提供了多应用模式支持,默认安装为单应用,你只需要安装一个多应用模式扩展就可以更轻松的部署多个应用而不需要重复安装依赖组件,每个应用都支持独立入口访问以及域名绑定,也可以使用一个入口文件实现自动多应用部署。并且自动多应用模式支持智能识别,对于不存在的应用访问会自动切换到单应用模式进行匹配。同时支持应用的映射和禁止访问机制。\r\n\r\n多应用模式的设计可以让开发更加模块化,因为每个应用的配置、路由及视图都可以纳入应用目录,所以更方便应用的模块化,甚至引入composer应用。\r\n\r\n容器和服务\r\n新版的容器支持PSR-11规范,容器类的功能特性主要包括:\r\n\r\n绑定类、对象实例、接口到容器\r\n创建类的实例(存在则直接获取)\r\n容器对象绑定别名\r\n支持容器对象(实例化)回调\r\n获取容器对象实例\r\n删除容器中的对象实例\r\n提供依赖注入和门面实现支持\r\n调用容器对象实例的方法(或者闭包)\r\n提供容器对象的ArrayAccess支持\r\n事件系统\r\n新版的事件系统可以看成是5.1版本行为系统的升级版,事件系统相比行为系统强大的地方在于事件本身可以是一个类,并且可以更好的支持事件订阅者。支持事件智能订阅,通过反射机制来识别当前订阅者要订阅的事件。\r\n\r\n事件相比较中间件的优势是事件比中间件更加精准定位(或者说粒度更细),并且更适合一些业务场景的扩展。例如,我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。\r\n\r\n中间件支持完善\r\n中间件分为全局中间件、应用中间件、路由中间件和控制器中间件,这四个中间件分组完全独立执行,但同一个分组内的中间件不会重复执行。中间件方法执行依赖注入,以及请求结束的回调机制。\r\n\r\n核心很多功能都是基于中间件来完成,包括多应用模式也是采用中间件机制执行。\r\n\r\n路由和请求\r\n新版的路由精简了很多不必要的功能,路由定义也更加规范化和语义化,并且路由定义文件支持纳入应用目录,便于模块化开发。路由注解功能独立为think-annotation库,并且使用更加规范,支持IDE提示。\r\n\r\n新版的请求对象更易扩展,系统默认安装后提供了一个app\\Request类,你可以在应用中直接自定义请求对象,增加必要的属性和方法。但不会影响对think\\Request的依赖注入和门面调用。\r\n\r\n系统服务\r\n由于核心框架采用了服务化设计,你可以在你的扩展或者应用中注册需要的服务。在系统服务中注册一个对象到容器,或者对某些对象进行相关的依赖注入。由于系统服务的执行优先级问题,可以确保相关组件在执行的时候已经完成相关依赖注入。一个服务类通常包括注册(register)和启动(boot)方法,用于不同阶段的执行。\r\n\r\nORM组件化\r\n内置的ORM功能已经完全独立为think-orm组件,可以独立使用,ThinkPHP6.0默认依赖安装了该组件,保持用法不变的同时,增强了查询功能。\r\n\r\n模板引擎组件化\r\n核心不再内置任何模板引擎,仅提供PHP模板支持,官方的模板引擎已经独立为think-template模板引擎,并默认依赖安装。你可以更方便的使用第三方模板引擎。\r\n\r\n日志系统\r\n日志支持多通道、并统一命令行和WEB日志格式,主要包括:\r\n\r\n日志增加多通道支持,可以同时或者切换写入多个通道\r\nWEB和CLI的日志记录格式统一,并支持日志格式化\r\n对JSON日志格式的改进\r\n支持日志写入事件\r\nSession机制改进\r\n6.0版本的Session机制完全重写了,并且不再使用PHP内置的Session机制,全新实现一套Session机制,可以更好的支持Swoole/Workerman等环境。\r\n\r\n所以不再支持PHP内置的session_*** 系列函数,也不再支持使用$_SESSION读取session数据,你必须通过框架提供的Session类或者门面来操作,Request类也封装了Session数据的读取。\r\n\r\nSession支持跨应用读取和自定义序列化机制,默认采用文件类型记录Session数据,由于共用了缓存机制,你还可以使用任何支持的缓存类型来记录Session数据。\r\n\r\n引入Filesystem组件\r\n新版增加了Filesystem类库对文件系统强化了支持,而且可以很方便的支持各种云存储,包括阿里云和七牛云。\r\n\r\nSwoole扩展改进\r\nSwoole扩展同时支持HTTP和Socket服务,支持数据库和缓存的连接池功能,以及RPC功能。\r\n\r\n调试工具更新\r\n原来内置的页面Trace调试工具已经更改为扩展的方式,改成安装think-trace扩展,如果通过composer安装应用的话,默认会安装topthink/think-trace扩展。\r\n\r\n基本用法和之前保持不变,但无需额外配置,默认使用html方式显示,同时仍然支持浏览器控制台显示,并仅在调试模式下有效。\r\n\r\n同时增加了一个基于debugbar的调试扩展think-debugbar,需要单独安装后才能使用。\r\n\r\ncomposer require topthink/think-debugbar\r\n统一和精简大量用法\r\n新版对很多用法进行了精简和统一,尽可能避免在开发过程中规范不一的困惑。', '1', '4', '3', '1', '0', '1', '13', '0', '1571986396', '1552186396', '0');
INSERT INTO `tao_article` VALUES ('24', '辞旧迎新 ,回顾2019,展望2020!', '[quote]\r\n 2019,马上就要永远的留在了历史长河中,2020,在期望中到来。\r\n[/quote]\r\n\r\n要总结回顾一下二零一九年,也要展望规划新的二零二零。\r\n过去的这一年里,忙忙碌碌,喜剧哀乐各种滋味都有。丰富多彩,缤纷灿烂。这其中有学习进步,也有懒惰懈怠。\r\n但,总结一句话,2019年是不后悔的,是充满挑战的,是美好的。\r\n新的一年里,会在一点一滴中充实壮大自己。弥补不足,改变不好的,抓住美好的。', '1', '2', '1', '1', '0', '1', '4', '0', '1577775729', '1577775740', '0');
-- ----------------------------
-- Table structure for tao_auth_group
-- ----------------------------
DROP TABLE IF EXISTS `tao_auth_group`;
CREATE TABLE `tao_auth_group` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL DEFAULT '',
`rules` char(255) NOT NULL DEFAULT '',
`limits` varchar(255) NOT NULL COMMENT '权限范围',
`descr` varchar(255) NOT NULL COMMENT '权限描述',
`status` tinyint(1) NOT NULL DEFAULT '1',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_auth_group
-- ----------------------------
INSERT INTO `tao_auth_group` VALUES ('1', '超级管理员', '4,14,20,29,30,31,32,33,34,3,12,13,5,15,21,22,16,24,26,25,17,27,28,23,1,6,7,8,9,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,53,2,10,51,11,18,52,54,55,19,56,57,58,59,60', '管理所有的管理员', '所有权限', '1', '0', '0', '0');
INSERT INTO `tao_auth_group` VALUES ('2', '管理员', '4,14,20,29,30,31,32,33,34,3,12,13,2,10,51,11,18,52,54,55,53', '所有列表的管理', '普通管理员', '1', '0', '0', '0');
INSERT INTO `tao_auth_group` VALUES ('3', '帖子管理', '3,12,13,5,15,21,22,16,24,26,25,17,27,28,23', '负责帖子的审核', '文章专员', '1', '0', '0', '0');
-- ----------------------------
-- Table structure for tao_auth_group_access
-- ----------------------------
DROP TABLE IF EXISTS `tao_auth_group_access`;
CREATE TABLE `tao_auth_group_access` (
`uid` mediumint(8) unsigned NOT NULL,
`group_id` mediumint(8) unsigned NOT NULL,
UNIQUE KEY `uid_group_id` (`uid`,`group_id`),
KEY `uid` (`uid`),
KEY `group_id` (`group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_auth_group_access
-- ----------------------------
INSERT INTO `tao_auth_group_access` VALUES ('1', '1');
INSERT INTO `tao_auth_group_access` VALUES ('2', '2');
INSERT INTO `tao_auth_group_access` VALUES ('3', '3');
INSERT INTO `tao_auth_group_access` VALUES ('4', '3');
-- ----------------------------
-- Table structure for tao_auth_rule
-- ----------------------------
DROP TABLE IF EXISTS `tao_auth_rule`;
CREATE TABLE `tao_auth_rule` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`name` char(80) NOT NULL DEFAULT '',
`title` char(20) NOT NULL DEFAULT '',
`type` tinyint(1) unsigned NOT NULL DEFAULT '1',
`status` enum('1','0') NOT NULL DEFAULT '1' COMMENT '菜单1启用,0禁用',
`pid` smallint(5) NOT NULL DEFAULT '0' COMMENT '父级ID',
`level` tinyint(1) NOT NULL DEFAULT '1' COMMENT '菜单层级',
`icon` varchar(50) NOT NULL COMMENT '图标',
`ishidden` enum('1','0') NOT NULL DEFAULT '1' COMMENT '0隐藏,1显示',
`sort` tinyint(4) NOT NULL COMMENT '排序',
`condition` char(100) NOT NULL DEFAULT '',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_auth_rule
-- ----------------------------
INSERT INTO `tao_auth_rule` VALUES ('1', 'admin', '管理', '1', '1', '0', '0', 'layui-icon-user', '1', '3', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('2', 'set', '设置', '1', '1', '0', '0', 'layui-icon-set', '1', '4', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('3', 'administrator', '账户', '1', '1', '0', '0', 'layui-icon-username', '1', '5', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('4', 'app', '应用', '1', '1', '0', '0', 'layui-icon-app', '0', '2', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('5', 'article', '内容', '1', '1', '0', '0', 'layui-icon-read', '1', '1', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('6', 'admin/user/list', '用户管理', '1', '1', '1', '1', '', '1', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('7', 'admin/admin/adminlist', '管理员', '1', '1', '1', '1', '', '1', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('8', 'admin/authgroup/list', '角色管理', '1', '1', '1', '1', '', '1', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('9', 'admin/Authrule/index', '权限管理', '1', '1', '1', '1', '', '1', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('10', 'admin/set/website', '网站设置', '1', '1', '2', '1', '', '1', '1', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('11', 'admin/set/email', '邮件服务', '1', '1', '2', '1', '', '1', '3', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('12', 'admin/admin/info', '基本资料', '1', '1', '3', '1', '', '1', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('13', 'admin/admin/repass', '修改密码', '1', '1', '3', '1', '', '1', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('15', 'admin/forum/list', '帖子列表', '1', '1', '5', '1', '', '1', '1', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('16', 'admin/forum/tags', '分类管理', '1', '1', '5', '1', '', '1', '4', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('17', 'admin/forum/replys', '评论管理', '1', '1', '5', '1', '', '0', '8', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('18', 'admin/slider/index', '广告投放', '1', '1', '2', '1', '', '1', '4', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('19', 'admin/Upgrade/index', '系统升级', '1', '1', '2', '1', '', '1', '8', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('21', 'admin/forum/edit', '编辑帖子', '1', '1', '5', '1', '', '0', '2', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('22', 'admin/forum/del', '删除帖子', '1', '1', '5', '1', '', '0', '3', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('23', 'admin/forum/check', '审核帖子', '1', '1', '5', '1', '', '0', '11', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('24', 'admin/forum/addtags', '添加分类', '1', '1', '5', '1', '', '0', '5', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('25', 'admin/forum/tagsform', '编辑分类', '1', '1', '5', '1', '', '0', '7', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('26', 'admin/forum/tagsdelete', '删除分类', '1', '1', '5', '1', '', '0', '6', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('27', 'admin/forum/commedit', '编辑评论', '1', '1', '5', '1', '', '0', '9', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('28', 'admin/forum/commdel', '删除评论', '1', '1', '5', '1', '', '0', '10', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('35', 'admin/user/userform', '添加用户', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('36', 'admin/user/useredit', '编辑用户', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('37', 'admin/user/delete', '删除用户', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('38', 'admin/user/check', '审核用户', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('39', 'admin/admin/addform', '添加管理员', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('40', 'admin/admin/addedit', '编辑管理员', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('41', 'admin/admin/delete', '删除管理员', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('42', 'admin/admin/addcheck', '审核管理员', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('43', 'admin/authgroup/roleadd', '添加角色', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('44', 'admin/authgroup/roleedit', '编辑角色', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('45', 'admin/authgroup/delete', '删除角色', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('46', 'admin/authrule/add', '添加权限', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('47', 'admin/authrule/edit', '编辑权限', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('48', 'admin/authrule/delete', '删除权限', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('49', 'admin/authrule/check', '审核权限', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('50', 'admin/authrule/menushow', '菜单权限', '1', '1', '1', '1', '', '0', '0', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('51', 'admin/set/upload', '上传logo', '1', '1', '2', '1', '', '0', '2', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('52', 'admin/slider/add', '添加广告', '1', '1', '2', '1', '', '0', '5', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('53', 'admin/slider/edit', '编辑广告', '1', '1', '2', '1', '', '0', '14', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('54', 'admin/slider/delete', '删除广告', '1', '1', '2', '1', '', '0', '6', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('55', 'admin/slider/uoloadimg', '上传广告', '1', '1', '2', '1', '', '0', '7', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('56', 'admin/upgrade/key', '设置key', '1', '1', '2', '1', '', '0', '9', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('57', 'admin/upgrade/keyedit', '修改key', '1', '1', '2', '1', '', '0', '10', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('58', 'admin/upgrade/check', '升级检测', '1', '1', '2', '1', '', '0', '11', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('59', 'admin/upgrade/upload', '自动升级', '1', '1', '2', '1', '', '0', '12', '', '0', '0', '0');
INSERT INTO `tao_auth_rule` VALUES ('60', 'admin/upgrade/uploadzip', '上传升级包', '1', '1', '2', '1', '', '0', '13', '', '0', '0', '0');
-- ----------------------------
-- Table structure for tao_cate
-- ----------------------------
DROP TABLE IF EXISTS `tao_cate`;
CREATE TABLE `tao_cate` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`catename` varchar(20) NOT NULL COMMENT '导航名称',
`ename` varchar(20) NOT NULL COMMENT '分类别名',
`sort` int(11) NOT NULL COMMENT '排序',
`status` enum('0','1') NOT NULL DEFAULT '1' COMMENT '状态1启用0禁用',
`type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0帖子1文章',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_cate
-- ----------------------------
INSERT INTO `tao_cate` VALUES ('1', '提问', 'ask', '1', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('2', '分享', 'share', '2', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('3', '讨论', 'talk', '3', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('4', '新闻', 'news', '5', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('5', '咸鱼', 'fish', '7', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('6', '求助', 'help', '6', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('7', '工作', 'work', '5', '1', '0', '0', '0', '0');
-- ----------------------------
-- Table structure for tao_collection
-- ----------------------------
DROP TABLE IF EXISTS `tao_collection`;
CREATE TABLE `tao_collection` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`article_id` int(11) NOT NULL COMMENT '文章id',
`user_id` int(11) NOT NULL COMMENT '用户id',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=149 DEFAULT CHARSET=utf8 COMMENT='文章收藏表';
-- ----------------------------
-- Records of tao_collection
-- ----------------------------
INSERT INTO `tao_collection` VALUES ('141', '11', '1', '1567586177', '0');
INSERT INTO `tao_collection` VALUES ('144', '6', '1', '1567586767', '0');
INSERT INTO `tao_collection` VALUES ('143', '4', '1', '1567586749', '0');
INSERT INTO `tao_collection` VALUES ('137', '13', '1', '1555745134', '0');
INSERT INTO `tao_collection` VALUES ('138', '10', '1', '1555745142', '0');
INSERT INTO `tao_collection` VALUES ('142', '1', '1', '1567586744', '0');
INSERT INTO `tao_collection` VALUES ('140', '15', '1', '1567586167', '0');
INSERT INTO `tao_collection` VALUES ('136', '14', '1', '1555745109', '0');
INSERT INTO `tao_collection` VALUES ('145', '17', '1', '1567586778', '0');
INSERT INTO `tao_collection` VALUES ('146', '19', '1', '1567586785', '0');
INSERT INTO `tao_collection` VALUES ('147', '12', '1', '1567586802', '0');
INSERT INTO `tao_collection` VALUES ('148', '8', '1', '1577762980', '0');
-- ----------------------------
-- Table structure for tao_comment
-- ----------------------------
DROP TABLE IF EXISTS `tao_comment`;
CREATE TABLE `tao_comment` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '评论id',
`content` text NOT NULL COMMENT '评论',
`article_id` int(11) NOT NULL COMMENT '文章id',
`user_id` int(11) NOT NULL COMMENT '评论用户',
`zan` tinyint(4) NOT NULL COMMENT '赞',
`cai` enum('1','0') NOT NULL DEFAULT '0' COMMENT '0求解1采纳',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=77 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_comment
-- ----------------------------
INSERT INTO `tao_comment` VALUES ('1', '好呀', '9', '1', '0', '0', '2019', '2019', '0');
INSERT INTO `tao_comment` VALUES ('2', 'aieok.com', '4', '1', '0', '0', '2019', '2019', '0');
INSERT INTO `tao_comment` VALUES ('3', 'http://www.aieok.com', '10', '2', '0', '0', '2019', '1555127897', '0');
INSERT INTO `tao_comment` VALUES ('4', '数据库提供的链式', '11', '2', '0', '0', '2019', '2019', '0');
INSERT INTO `tao_comment` VALUES ('5', 'tp5讨论2019讨论2019讨论2019', '12', '1', '0', '0', '2019', '2019', '0');
INSERT INTO `tao_comment` VALUES ('24', 'face[微笑] \r\n1232 a(http://www.baidu.com)[http://www.baidu.com] \r\n[pre]\r\ncode\r\najax\r\nphp\r\n[/pre]\r\n[hr]', '14', '1', '0', '0', '1551430267', '1551430267', '0');
INSERT INTO `tao_comment` VALUES ('23', '哈哈', '14', '1', '0', '0', '1551429718', '1555128388', '0');
INSERT INTO `tao_comment` VALUES ('22', '美女哦', '14', '1', '0', '0', '1551429702', '1555128391', '0');
INSERT INTO `tao_comment` VALUES ('20', 'face[嘻嘻] ', '9', '1', '0', '0', '1551413067', '1551413067', '0');
INSERT INTO `tao_comment` VALUES ('25', '11', '6', '1', '0', '0', '1551432002', '1555123067', '0');
INSERT INTO `tao_comment` VALUES ('26', '22', '6', '1', '0', '0', '1551433089', '1551433089', '0');
INSERT INTO `tao_comment` VALUES ('27', 'img[https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=4025342085,1549348620&fm=27&gp=0.jpg] ', '3', '1', '0', '0', '1551439637', '1551439637', '0');
INSERT INTO `tao_comment` VALUES ('36', 'face[微笑] ', '15', '1', '0', '0', '1551584959', '1551584959', '0');
INSERT INTO `tao_comment` VALUES ('47', 'face[哈哈] ', '17', '1', '0', '0', '1552183493', '1552183493', '0');
INSERT INTO `tao_comment` VALUES ('48', 'face[嘻嘻] ', '17', '1', '0', '0', '1552183510', '1552183510', '0');
INSERT INTO `tao_comment` VALUES ('39', 'face[微笑] ', '13', '1', '0', '0', '1551618056', '1551618056', '0');
INSERT INTO `tao_comment` VALUES ('40', '这是二个提问', '5', '1', '0', '0', '1551878452', '1551878452', '0');
INSERT INTO `tao_comment` VALUES ('41', '这是二个提问', '15', '1', '0', '0', '1551878500', '1555131321', '0');
INSERT INTO `tao_comment` VALUES ('43', 'face[微笑] ', '3', '1', '0', '0', '1552178897', '1552178897', '0');
INSERT INTO `tao_comment` VALUES ('44', 'img[/uploads/20190310/1fdcfad1c19010df4d5f83a8e7156af1.jpg] ', '3', '1', '0', '0', '1552178930', '1552178930', '0');
INSERT INTO `tao_comment` VALUES ('45', 'face[微笑] ', '14', '1', '0', '0', '1552179991', '1552179991', '0');
INSERT INTO `tao_comment` VALUES ('46', 'img[/uploads/20190310/4d5120c20e9b893c108da64e5c61e97a.jpg] ', '15', '1', '0', '0', '1552181616', '1555131303', '0');
INSERT INTO `tao_comment` VALUES ('49', 'face[嘻嘻] ', '17', '1', '0', '0', '1552185406', '1552185406', '0');
INSERT INTO `tao_comment` VALUES ('50', 'face[微笑] ', '18', '1', '0', '0', '1568097396', '1552186489', '0');
INSERT INTO `tao_comment` VALUES ('66', 'face[嘻嘻] ', '3', '1', '0', '0', '1552193197', '1552193197', '0');
INSERT INTO `tao_comment` VALUES ('67', 'face[微笑] face[嘻嘻] face[哈哈] ', '19', '1', '0', '0', '1559194830', '1555120988', '0');
INSERT INTO `tao_comment` VALUES ('68', 'face[微笑] ', '15', '1', '0', '0', '1552195005', '1555131299', '0');
INSERT INTO `tao_comment` VALUES ('69', 'img[/uploads/20190331/8d6af3839efe2a518d0c1aa026993bb5.jpg] ', '2', '1', '0', '0', '1553991079', '1553991079', '0');
INSERT INTO `tao_comment` VALUES ('70', '@管理员 face[微笑] ', '2', '1', '0', '0', '1553991095', '1553991095', '0');
INSERT INTO `tao_comment` VALUES ('71', 'face[微笑] face[嘻嘻] 非常高兴工', '19', '1', '0', '0', '1559203830', '1555121920', '0');
INSERT INTO `tao_comment` VALUES ('73', 'face[微笑] ', '11', '1', '0', '0', '1555123035', '1555123035', '0');
INSERT INTO `tao_comment` VALUES ('74', 'face[给力] ', '14', '2', '0', '1', '1555124049', '1555128398', '0');
INSERT INTO `tao_comment` VALUES ('75', 'face[微笑] ', '8', '2', '0', '0', '1555124079', '1555127399', '0');
INSERT INTO `tao_comment` VALUES ('76', 'face[微笑] 好美呀,', '7', '3', '0', '0', '1555131857', '1555131857', '0');
-- ----------------------------
-- Table structure for tao_friend_link
-- ----------------------------
DROP TABLE IF EXISTS `tao_friend_link`;
CREATE TABLE `tao_friend_link` (
`id` int(2) unsigned NOT NULL AUTO_INCREMENT COMMENT '友情链接id',
`linkname` varchar(10) NOT NULL COMMENT '链接名称',
`linksrc` varchar(60) NOT NULL COMMENT '链接地址',
`linkimg` varchar(60) NOT NULL COMMENT '链接图片',
`creat_time` int(10) NOT NULL COMMENT '创建时间',
`update_time` int(10) NOT NULL COMMENT '更新时间',
`delete_time` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_friend_link
-- ----------------------------
INSERT INTO `tao_friend_link` VALUES ('1', 'ThinkPHP', 'https://www.thinkphp.cn', '', '0', '0', '0');
INSERT INTO `tao_friend_link` VALUES ('2', 'Layui', 'https://www.layui.com', '', '0', '0', '0');
INSERT INTO `tao_friend_link` VALUES ('3', 'TaoLer', 'http://www.aieok.com', '', '0', '0', '0');
-- ----------------------------
-- Table structure for tao_mail_server
-- ----------------------------
DROP TABLE IF EXISTS `tao_mail_server`;
CREATE TABLE `tao_mail_server` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mail` varchar(50) NOT NULL COMMENT '邮箱设置',
`host` varchar(50) NOT NULL COMMENT '邮箱服务地址',
`port` tinyint(2) NOT NULL COMMENT '邮箱端口',
`nickname` varchar(20) NOT NULL DEFAULT '' COMMENT '昵称',
`password` varchar(16) NOT NULL COMMENT '邮箱密码',
`create_time` int(11) NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_mail_server
-- ----------------------------
INSERT INTO `tao_mail_server` VALUES ('1', 'xxx@aliyun.com', 'smtp.aliyun.com', '25', '', '', '0');
-- ----------------------------
-- Table structure for tao_slider
-- ----------------------------
DROP TABLE IF EXISTS `tao_slider`;
CREATE TABLE `tao_slider` (
`id` int(2) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`slid_name` varchar(30) NOT NULL COMMENT '幻灯名',
`slid_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型',
`slid_img` varchar(70) NOT NULL COMMENT '幻灯图片地址',
`slid_href` varchar(70) NOT NULL COMMENT '链接',
`slid_start` int(11) NOT NULL COMMENT '开始时间',
`slid_over` int(11) NOT NULL COMMENT '结束时间',
`slid_status` enum('1','0') NOT NULL DEFAULT '1' COMMENT '1投放0仓库',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_slider
-- ----------------------------
INSERT INTO `tao_slider` VALUES ('1', 'CODING', '1', '/uploads/images/F1.jpg', '#', '1574870400', '1575043200', '1', '0', '0', '0');
INSERT INTO `tao_slider` VALUES ('2', '无人机', '1', '/uploads/images/F2.jpg', 'www.taobao.com', '-28800', '1606665600', '1', '0', '0', '0');
INSERT INTO `tao_slider` VALUES ('3', 'keji', '2', '/storage/slider/20191210/6e6486b81a5b07be4425b676513b0334.jpg', 'http://www.baidu.com', '1571155200', '1577721600', '1', '0', '0', '0');
INSERT INTO `tao_slider` VALUES ('4', '科技', '3', '/storage/slider/20191210/d35a49fda5839d4b27f65076fb57b7f2.jpg', '4', '1575907200', '1609344000', '1', '0', '0', '0');
INSERT INTO `tao_slider` VALUES ('5', '科学', '4', '/storage/slider/20191210/e87f15527f32e690538671753010fd00.jpg', '大', '-28800', '1609344000', '1', '0', '0', '0');
-- ----------------------------
-- Table structure for tao_system
-- ----------------------------
DROP TABLE IF EXISTS `tao_system`;
CREATE TABLE `tao_system` (
`id` tinyint(2) NOT NULL AUTO_INCREMENT COMMENT '主键',
`webname` varchar(20) NOT NULL COMMENT '网站名称',
`webtitle` varchar(30) NOT NULL,
`domain` varchar(50) NOT NULL,
`logo` varchar(70) NOT NULL COMMENT '网站logo',
`copyright` varchar(80) NOT NULL COMMENT '版权',
`keywords` tinytext NOT NULL COMMENT '网站关键字',
`descript` tinytext NOT NULL COMMENT '网站描述',
`is_open` tinyint(4) NOT NULL COMMENT '是否开启站点1开启0关闭',
`is_comment` tinyint(4) NOT NULL COMMENT '是否开启评论1开启0关闭',
`is_reg` tinyint(4) NOT NULL COMMENT '是否开放注册1开启0禁止',
`icp` varchar(50) NOT NULL COMMENT '备案',
`blackname` varchar(255) NOT NULL COMMENT '注册黑名单',
`sys_version_num` varchar(5) NOT NULL COMMENT '系统版本',
`key` varchar(60) DEFAULT NULL COMMENT 'key',
`base_url` varchar(50) NOT NULL DEFAULT '',
`upcheck_url` varchar(255) NOT NULL COMMENT '版本检测',
`upgrade_url` varchar(255) NOT NULL COMMENT '升级地址',
`create_time` int(10) NOT NULL COMMENT '创建时间',
`update_time` int(10) NOT NULL COMMENT '更新时间',
`delete_time` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='系统配置表';
-- ----------------------------
-- Records of tao_system
-- ----------------------------
INSERT INTO `tao_system` VALUES ('1', 'TaoLer社区', '淘宝卖家交流平台', 'http://www.tp6.com', '/storage/logo/20191024/a5671b2c16a37ec8587f31989dab1177.png', 'aieok.com 版权所有', '淘宝,卖家,TaoLer社区', '这是一个社区论坛', '1', '1', '1', '0.0.0.0', '管理员|admin|审核员|超级|垃圾', '1.1.1', '', 'http://www.aieok.com/api/index/cy', 'http://www.aieok.com/api/upload/check', 'http://www.aieok.com/api/upload/api', '0', '1577419197', '0');
-- ----------------------------
-- Table structure for tao_user
-- ----------------------------
DROP TABLE IF EXISTS `tao_user`;
CREATE TABLE `tao_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`name` varchar(16) NOT NULL COMMENT '用户名',
`password` varchar(32) NOT NULL COMMENT '密码',
`phone` varchar(11) NOT NULL COMMENT '手机',
`email` varchar(50) NOT NULL COMMENT '邮箱',
`nickname` varchar(16) NOT NULL COMMENT '昵称',
`city` varchar(50) NOT NULL COMMENT '归属地',
`sex` enum('0','1') NOT NULL DEFAULT '0' COMMENT '性别0男1女',
`sign` varchar(255) NOT NULL COMMENT '签名',
`user_img` varbinary(70) NOT NULL COMMENT '头像',
`auth` enum('1','0') NOT NULL DEFAULT '0' COMMENT '0普通1超级',
`point` tinyint(11) NOT NULL DEFAULT '0' COMMENT '积分',
`area_id` int(11) NOT NULL COMMENT '用户所属区域ID',
`status` enum('0','1') NOT NULL DEFAULT '1' COMMENT '1启用0禁用',
`vip` tinyint(1) DEFAULT NULL COMMENT 'vip',
`last_login_ip` varchar(70) NOT NULL COMMENT '最后登陆ip',
`last_login_time` int(11) NOT NULL COMMENT '最后登陆时间',
`login_error_num` tinyint(1) NOT NULL DEFAULT '0' COMMENT '登陆错误次数',
`login_error_time` int(11) NOT NULL COMMENT '登陆错误时间',
`login_error_lock` tinyint(1) NOT NULL DEFAULT '0' COMMENT '登陆锁定0正常1锁定',
`create_time` int(11) NOT NULL COMMENT '创建时间',
`update_time` int(11) NOT NULL COMMENT '修改时间',
`delete_time` int(11) NOT NULL COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_user
-- ----------------------------
INSERT INTO `tao_user` VALUES ('1', 'aieok', '7596a5c80d28bf147aae75b3b6f02f1a', '2147483647', 'xxx@qq.com', '管理员', '北京市', '1', '这是我的第一个TP5系统,2019北京。OK! OK!ok@', 0x2F73746F726167652F686561645F7069632F32303139313231372F39343036636334623866336538323731613238616339646239353339333766352E6A7067, '1', '12', '1', '1', null, '127.0.0.1', '0', '0', '0', '0', '1555892325', '1577420182', '0');
INSERT INTO `tao_user` VALUES ('2', 'liudong', '', '2147483647', 'liudong@qq.com', '刘冬', '上海', '0', '在', 0x2F7374617469632F7265732F696D616765732F6176617461722F30302E6A7067, '0', '0', '2', '1', null, '', '0', '0', '0', '0', '1555892355', '1546176176', '0');
INSERT INTO `tao_user` VALUES ('3', 'shenlu', '', '13512345678', 'shenlu@qq.com', '沈璐', '杭州', '0', '沈璐沈璐沈璐沈璐沈璐是一个美女', 0x2F7374617469632F7265732F696D616765732F6176617461722F302E6A7067, '0', '0', '3', '1', null, '', '0', '0', '0', '0', '1555882325', '1547700180', '0');
INSERT INTO `tao_user` VALUES ('4', '张志', '', '13513615898', 'zhangzhi@qq.com', '张志', '深圳', '0', '在一', 0x2F7374617469632F7265732F696D616765732F6176617461722F312E6A7067, '0', '0', '1', '1', null, '', '0', '0', '0', '0', '1555892336', '1551182521', '0');
INSERT INTO `tao_user` VALUES ('5', '王龙', '', '0', 'wanglong@qq.com', 'long', '纽约', '1', '', 0x2F7374617469632F7265732F696D616765732F6176617461722F322E6A7067, '0', '0', '2', '0', null, '', '0', '0', '0', '0', '1555892347', '1555890307', '0');
INSERT INTO `tao_user` VALUES ('6', '贺青', '', '0', 'heqing@qq.com', '贺青', '巴黎', '0', '', 0x2F7374617469632F7265732F696D616765732F6176617461722F332E6A7067, '0', '0', '3', '1', null, '', '0', '0', '0', '0', '1555893525', '1555892325', '0');
INSERT INTO `tao_user` VALUES ('7', '李可', '', '0', 'keke@qq.com', '可可', '', '1', '', 0x2F7374617469632F7265732F696D616765732F6176617461722F342E6A7067, '0', '2', '0', '1', null, '', '0', '0', '0', '0', '1555892374', '1569247195', '0');
INSERT INTO `tao_user` VALUES ('8', '飞儿', '', '2147483647', 'fei@qq.com', '飞儿', '', '0', '', 0x2F7374617469632F7265732F696D616765732F6176617461722F352E6A7067, '0', '0', '0', '1', null, '', '0', '0', '0', '0', '1555892388', '1576558484', '1576558484');
-- ----------------------------
-- Table structure for tao_user_area
-- ----------------------------
DROP TABLE IF EXISTS `tao_user_area`;
CREATE TABLE `tao_user_area` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`area` varchar(10) NOT NULL COMMENT '所属区域',
`asing` varchar(2) NOT NULL COMMENT '区域简称',
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
`delete_time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_user_area
-- ----------------------------
INSERT INTO `tao_user_area` VALUES ('1', '北京', '京', '0', '0', '0');
INSERT INTO `tao_user_area` VALUES ('2', '上海', '沪', '0', '0', '0');
INSERT INTO `tao_user_area` VALUES ('3', '广州', '粤', '0', '0', '0');
-- ----------------------------
-- Table structure for tao_user_sign
-- ----------------------------
DROP TABLE IF EXISTS `tao_user_sign`;
CREATE TABLE `tao_user_sign` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) unsigned NOT NULL COMMENT '用户id',
`days` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '连续签到的天数',
`is_share` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否分享过',
`is_sign` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否签到过',
`stime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '签到的时间',
`create_time` int(11) NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='用户签到表';
-- ----------------------------
-- Records of tao_user_sign
-- ----------------------------
INSERT INTO `tao_user_sign` VALUES ('16', '2', '1', '0', '0', '1558750514', '0');
INSERT INTO `tao_user_sign` VALUES ('18', '1', '1', '0', '0', '1558750797', '0');
INSERT INTO `tao_user_sign` VALUES ('19', '1', '1', '0', '0', '1566911693', '0');
INSERT INTO `tao_user_sign` VALUES ('20', '1', '1', '0', '0', '1568346096', '0');
INSERT INTO `tao_user_sign` VALUES ('21', '1', '1', '0', '0', '1568515766', '0');
INSERT INTO `tao_user_sign` VALUES ('22', '1', '1', '0', '0', '1569245600', '0');
INSERT INTO `tao_user_sign` VALUES ('23', '36', '1', '0', '0', '1569247195', '0');
INSERT INTO `tao_user_sign` VALUES ('24', '1', '1', '0', '0', '1574650402', '0');
-- ----------------------------
-- Table structure for tao_user_signrule
-- ----------------------------
DROP TABLE IF EXISTS `tao_user_signrule`;
CREATE TABLE `tao_user_signrule` (
`id` int(2) unsigned NOT NULL AUTO_INCREMENT,
`days` int(5) unsigned NOT NULL COMMENT '连续天数',
`score` int(3) unsigned NOT NULL DEFAULT '0' COMMENT '积分',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='用户签到积分规则';
-- ----------------------------
-- Records of tao_user_signrule
-- ----------------------------
INSERT INTO `tao_user_signrule` VALUES ('1', '1', '2');
INSERT INTO `tao_user_signrule` VALUES ('2', '3', '3');
INSERT INTO `tao_user_signrule` VALUES ('3', '5', '5');
-- ----------------------------
-- Table structure for tao_user_zan
-- ----------------------------
DROP TABLE IF EXISTS `tao_user_zan`;
CREATE TABLE `tao_user_zan` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '点赞主键id',
`comment_id` int(11) NOT NULL COMMENT '评论id',
`user_id` int(11) NOT NULL COMMENT '用户id',
`create_time` int(11) NOT NULL COMMENT '点赞时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=46 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tao_user_zan
-- ----------------------------