From fadbc784a4082f7a9cd40918b39a4665f64755dd Mon Sep 17 00:00:00 2001 From: liyukun <1099438829@qq.com> Date: Wed, 5 Jan 2022 23:42:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BB=A3=E7=A0=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91=20=E5=AE=8C=E5=96=84=E5=89=8D=E5=8F=B0=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ape_blog.sql | 81 +++++++-- app/admin/controller/Admin.php | 14 +- app/admin/controller/AdminAuth.php | 1 + app/admin/controller/Article.php | 1 + app/admin/controller/AuthController.php | 7 +- app/admin/view/admin/index.html | 2 +- app/admin/view/admin/profile.html | 4 +- app/common/constant/Data.php | 10 +- app/common/extend/Jwt.php | 63 ------- app/common/extend/Mail.php | 90 ---------- app/common/model/Admin.php | 18 +- app/common/model/BaseModel.php | 1 + app/common/model/User.php | 16 +- app/common/paginator/Layer.php | 154 +++++++++--------- .../{Adminaction.php => AdminAction.php} | 2 +- ...{Adminactionlog.php => AdminActionLog.php} | 2 +- ...{Adminauthgroup.php => AdminAuthGroup.php} | 0 .../{Adminmember.php => AdminMember.php} | 0 ...umentcategory.php => DocumentCategory.php} | 0 .../{Friendlink.php => FriendLink.php} | 2 +- .../{Messageform.php => MessageForm.php} | 0 app/index/controller/Base.php | 23 +++ app/index/controller/Login.php | 21 ++- public/databack/backup.lock | 1 - public/template/default/pc/login/login.html | 53 +++--- public/template/default/pc/public/header.html | 27 ++- 26 files changed, 273 insertions(+), 320 deletions(-) delete mode 100644 app/common/extend/Jwt.php delete mode 100644 app/common/extend/Mail.php rename app/common/validate/{Adminaction.php => AdminAction.php} (94%) rename app/common/validate/{Adminactionlog.php => AdminActionLog.php} (92%) rename app/common/validate/{Adminauthgroup.php => AdminAuthGroup.php} (100%) rename app/common/validate/{Adminmember.php => AdminMember.php} (100%) rename app/common/validate/{Documentcategory.php => DocumentCategory.php} (100%) rename app/common/validate/{Friendlink.php => FriendLink.php} (97%) rename app/common/validate/{Messageform.php => MessageForm.php} (100%) delete mode 100644 public/databack/backup.lock diff --git a/ape_blog.sql b/ape_blog.sql index 0de998b..e618df2 100644 --- a/ape_blog.sql +++ b/ape_blog.sql @@ -11,7 +11,7 @@ Target Server Version : 50726 File Encoding : 65001 - Date: 03/01/2022 04:00:40 + Date: 05/01/2022 23:42:14 */ SET NAMES utf8mb4; @@ -31,7 +31,7 @@ CREATE TABLE `ape_admin` ( `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '头像', `role_id` int(4) NOT NULL DEFAULT 0 COMMENT '角色id', `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '电话', - `mail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱', + `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '简介', `status` tinyint(1) NOT NULL COMMENT '状态1:正常0冻结', `ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '注册ip', @@ -39,13 +39,16 @@ CREATE TABLE `ape_admin` ( `update_user` int(32) NOT NULL DEFAULT 0 COMMENT '修改时间', `create_time` int(10) NOT NULL COMMENT '添加时间', `update_time` int(10) NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台人员列表' ROW_FORMAT = DYNAMIC; + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `username_email_tel`(`username`, `tel`, `email`) USING BTREE COMMENT '用户名' +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台人员列表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_admin -- ---------------------------- INSERT INTO `ape_admin` VALUES (1, 1, 'admin', '超级管理员', '14e1b600b1fd579f47433b88e8d85291', '', '/uploads/image/20210215/bc6445679240d4795e279860a6ab34e9.jpeg', 1, '17896852019', 'cfn@leapy.cn', '这家伙很懒,什么也没留下。', 1, '', 1, 1, 1580031132, 1635572650); +INSERT INTO `ape_admin` VALUES (2, 0, 'zhangsan', '张三', 'c4681d2b2c1a6b0d2585c18f43c49a78', '张三', '/uploads/images/20220103\\a05f958f10c840bc08be541daa2328b7.png', 2, '13510061234', '1111@qq.com', '', 1, '127.0.0.1', 1, 0, 1641393684, 1641393684); +INSERT INTO `ape_admin` VALUES (3, 0, 'lisi', '李四', '14e1b600b1fd579f47433b88e8d85291', '李四', '/uploads/images/20220103\\a05f958f10c840bc08be541daa2328b7.png', 2, '13510061234', '1111@qq.com', '', 1, '127.0.0.1', 1, 0, 1641394102, 1641394102); -- ---------------------------- -- Table structure for ape_admin_auth @@ -126,11 +129,46 @@ CREATE TABLE `ape_admin_log` ( `user_agent` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'User-Agent', `create_time` int(10) NOT NULL COMMENT '操作时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_admin_log -- ---------------------------- +INSERT INTO `ape_admin_log` VALUES (1, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641183566); +INSERT INTO `ape_admin_log` VALUES (2, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641183567); +INSERT INTO `ape_admin_log` VALUES (3, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641183598); +INSERT INTO `ape_admin_log` VALUES (4, 1, 'admin', 'admin', 'admin_auth', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641183599); +INSERT INTO `ape_admin_log` VALUES (5, 1, 'admin', 'admin', 'admin_role', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641183600); +INSERT INTO `ape_admin_log` VALUES (6, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393313); +INSERT INTO `ape_admin_log` VALUES (7, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393323); +INSERT INTO `ape_admin_log` VALUES (8, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393516); +INSERT INTO `ape_admin_log` VALUES (9, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393542); +INSERT INTO `ape_admin_log` VALUES (10, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393597); +INSERT INTO `ape_admin_log` VALUES (11, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393598); +INSERT INTO `ape_admin_log` VALUES (12, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393601); +INSERT INTO `ape_admin_log` VALUES (13, 1, 'admin', 'admin', 'admin_auth', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393602); +INSERT INTO `ape_admin_log` VALUES (14, 1, 'admin', 'admin', 'admin_role', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393603); +INSERT INTO `ape_admin_log` VALUES (15, 1, 'admin', 'admin', 'system_config', 'clearCache', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393605); +INSERT INTO `ape_admin_log` VALUES (16, 1, 'admin', 'admin', 'system_config', 'clearCache', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393608); +INSERT INTO `ape_admin_log` VALUES (17, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393615); +INSERT INTO `ape_admin_log` VALUES (18, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393618); +INSERT INTO `ape_admin_log` VALUES (19, 1, 'admin', 'admin', 'admin_auth', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393618); +INSERT INTO `ape_admin_log` VALUES (20, 1, 'admin', 'admin', 'admin_role', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393619); +INSERT INTO `ape_admin_log` VALUES (21, 1, 'admin', 'admin', 'admin_role', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393645); +INSERT INTO `ape_admin_log` VALUES (22, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393686); +INSERT INTO `ape_admin_log` VALUES (23, 1, 'admin', 'admin', 'user', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393689); +INSERT INTO `ape_admin_log` VALUES (24, 1, 'admin', 'admin', 'user', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641393808); +INSERT INTO `ape_admin_log` VALUES (25, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641394060); +INSERT INTO `ape_admin_log` VALUES (26, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641394104); +INSERT INTO `ape_admin_log` VALUES (27, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396078); +INSERT INTO `ape_admin_log` VALUES (28, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396079); +INSERT INTO `ape_admin_log` VALUES (29, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396088); +INSERT INTO `ape_admin_log` VALUES (30, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396099); +INSERT INTO `ape_admin_log` VALUES (31, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396361); +INSERT INTO `ape_admin_log` VALUES (32, 1, 'admin', 'admin', 'admin', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396367); +INSERT INTO `ape_admin_log` VALUES (33, 1, 'admin', 'admin', 'login', 'login', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396613); +INSERT INTO `ape_admin_log` VALUES (34, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396613); +INSERT INTO `ape_admin_log` VALUES (35, 1, 'admin', 'admin', 'admin', 'pwd', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', 1641396622); -- ---------------------------- -- Table structure for ape_admin_notify @@ -171,12 +209,13 @@ CREATE TABLE `ape_admin_role` ( `create_time` int(10) NOT NULL COMMENT '添加时间', `update_time` int(10) NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台角色表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台角色表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_admin_role -- ---------------------------- INSERT INTO `ape_admin_role` VALUES (1, 0, '超级管理员', '2,4,5,6,7,8,1,9,10,11,12,13,14,15,16,39,17,18,19,27,21,24,37,38,28,29,31,32,33,34,35', '2,4,5,6,7,8,1,9,10,11,12,13,14,15,16,39,17,18,19,27,21,24,37,38,28,29,31,32,33,34,35', 0, 1, '1', '1', 1580031132, 1635572662); +INSERT INTO `ape_admin_role` VALUES (2, 0, '普通用户', '17,18,19,27,21,37,38,28,29,31,32,33,34,35', '17,18,19,27,21,37,38,28,29,31,32,33,34,35', 0, 1, '1', NULL, 1641393643, 0); -- ---------------------------- -- Table structure for ape_advert @@ -315,7 +354,7 @@ CREATE TABLE `ape_document` ( -- ---------------------------- -- Records of ape_document -- ---------------------------- -INSERT INTO `ape_document` VALUES (1, 1, '超级管理员', '每日必应图片接口', 1, '/uploads/images/20211226\\8635d7429bfffd07ddd0f4ef891b9669.jpg', 'article', '', 0, 0, 0, '', 1, 72, '必应,必应图片,api', '
必应
', '', '', 99, 1640528547, 1640528547, 1, ''); +INSERT INTO `ape_document` VALUES (1, 1, '超级管理员', '每日必应图片接口', 1, '/uploads/images/20211226\\8635d7429bfffd07ddd0f4ef891b9669.jpg', 'article', '', 0, 0, 0, '', 1, 73, '必应,必应图片,api', '必应
', '', '', 99, 1640528547, 1640528547, 1, ''); -- ---------------------------- -- Table structure for ape_document_article @@ -469,11 +508,16 @@ CREATE TABLE `ape_pv_log` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_pv_log -- ---------------------------- +INSERT INTO `ape_pv_log` VALUES (1, 12, 8, '2022-01-03', '2022-01-03 12:10:39', '2022-01-03 12:10:39'); +INSERT INTO `ape_pv_log` VALUES (2, 20, 5, '2022-01-03', '2022-01-03 20:42:30', '2022-01-03 20:42:30'); +INSERT INTO `ape_pv_log` VALUES (3, 22, 5, '2022-01-04', '2022-01-04 22:36:04', '2022-01-04 22:36:04'); +INSERT INTO `ape_pv_log` VALUES (4, 22, 45, '2022-01-05', '2022-01-05 22:18:45', '2022-01-05 22:18:45'); +INSERT INTO `ape_pv_log` VALUES (5, 23, 20, '2022-01-05', '2022-01-05 23:08:22', '2022-01-05 23:08:22'); -- ---------------------------- -- Table structure for ape_system_config @@ -589,11 +633,16 @@ CREATE TABLE `ape_url_log` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'pv记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'pv记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_url_log -- ---------------------------- +INSERT INTO `ape_url_log` VALUES (1, 'http://apeblog.io/', 1, '网站首页', '2022-01-03', NULL, NULL); +INSERT INTO `ape_url_log` VALUES (2, 'http://apeblog.io/index/article/detail.html?id=1', 1, '每日必应图片接口', '2022-01-03', NULL, NULL); +INSERT INTO `ape_url_log` VALUES (3, 'http://apeblog.io/', 1, '网站首页', '2022-01-04', NULL, NULL); +INSERT INTO `ape_url_log` VALUES (4, 'http://apeblog.io/admin1', 1, '网站首页', '2022-01-05', NULL, NULL); +INSERT INTO `ape_url_log` VALUES (5, 'http://apeblog.io/', 6, '网站首页', '2022-01-05', NULL, NULL); -- ---------------------------- -- Table structure for ape_user @@ -605,7 +654,7 @@ CREATE TABLE `ape_user` ( `nickname` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '里程密' COMMENT '昵称', `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户密码', `avatar` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户头像', - `mail` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱', + `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱', `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', `ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '注册IP地址', `status` int(11) NOT NULL DEFAULT 0 COMMENT '状态 0启用 1禁用', @@ -613,12 +662,15 @@ CREATE TABLE `ape_user` ( `is_admin` int(11) NOT NULL DEFAULT 0 COMMENT '是否是管理员', `create_time` int(11) NOT NULL COMMENT '创建时间', `update_time` int(11) NOT NULL COMMENT '上次登录时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = COMPACT; + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `username_email_tel`(`username`, `tel`, `email`) USING BTREE COMMENT '用户名' +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = COMPACT; -- ---------------------------- -- Records of ape_user -- ---------------------------- +INSERT INTO `ape_user` VALUES (1, 'zhangsan', '张三', '14e1b600b1fd579f47433b88e8d85291', '/uploads/images/20220103\\a05f958f10c840bc08be541daa2328b7.png', '1111@qq.com', '13510061234', '127.0.0.1', 1, '', 1, 1641393684, 1641393806); +INSERT INTO `ape_user` VALUES (2, 'lisi', '李四', '14e1b600b1fd579f47433b88e8d85291', '/uploads/images/20220103\\a05f958f10c840bc08be541daa2328b7.png', '', '13510061234', '127.0.0.1', 1, '', 1, 1641394102, 1641394102); -- ---------------------------- -- Table structure for ape_uv_log @@ -632,10 +684,13 @@ CREATE TABLE `ape_uv_log` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Uv记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Uv记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_uv_log -- ---------------------------- +INSERT INTO `ape_uv_log` VALUES (1, '127.0.0.1', 12, '2022-01-03', '2022-01-03 12:10:39', '2022-01-03 12:10:39'); +INSERT INTO `ape_uv_log` VALUES (2, '127.0.0.1', 22, '2022-01-04', '2022-01-04 22:36:04', '2022-01-04 22:36:04'); +INSERT INTO `ape_uv_log` VALUES (3, '127.0.0.1', 22, '2022-01-05', '2022-01-05 22:18:45', '2022-01-05 22:18:45'); SET FOREIGN_KEY_CHECKS = 1; diff --git a/app/admin/controller/Admin.php b/app/admin/controller/Admin.php index 5f792b1..e5233be 100644 --- a/app/admin/controller/Admin.php +++ b/app/admin/controller/Admin.php @@ -78,7 +78,7 @@ class Admin extends AuthController return $menus; })->col(10); $form[] = Elm::input('tel', '电话')->col(10); - $form[] = Elm::email('mail', '邮箱')->col(10); + $form[] = Elm::email('email', '邮箱')->col(10); $form[] = Elm::radio('status', '状态', 1)->options([['label' => '启用', 'value' => 1], ['label' => '冻结', 'value' => 0]])->col(10); $form = Form::make_post_form($form, url('save')->build()); $this->assign(compact('form')); @@ -110,7 +110,7 @@ class Admin extends AuthController return $menus; })->col(10); $form[] = Elm::input('tel', '电话', $ainfo['tel'])->col(10); - $form[] = Elm::email('mail', '邮箱', $ainfo['mail'])->col(10); + $form[] = Elm::email('email', '邮箱', $ainfo['email'])->col(10); $form[] = Elm::radio('status', '状态', $ainfo['status'])->options([['label' => '启用', 'value' => 1], ['label' => '冻结', 'value' => 0]])->col(10); $form = Form::make_post_form($form, url('save', ['id' => $id])->build()); $this->assign(compact('form')); @@ -132,13 +132,13 @@ class Admin extends AuthController ['realname', ''], ['role_id', ''], ['tel', ''], - ['mail', ''], + ['email', ''], ['status', ''] ]); if ($data['username'] == "") return app("json")->fail("登录账号不能为空"); if ($data['password'] == "") return app("json")->fail("密码不能为空"); if ($data['tel'] == "") return app("json")->fail("手机号不能为空"); - if ($data['mail'] == "") return app("json")->fail("邮箱不能为空"); + if ($data['email'] == "") return app("json")->fail("邮箱不能为空"); if (is_array($data['avatar'])) $data['avatar'] = $data['avatar'][0]; // 启动事务 Db::startTrans(); @@ -228,10 +228,10 @@ class Admin extends AuthController ['nickname', ''], ['avatar', ''], ['tel', ''], - ['mail', ''], + ['email', ''], ['remark', ''] ]); - if ($data['nickname'] == '' || $data['avatar'] == '' || $data['tel'] == '' || $data['mail'] == '') return app("json")->fail("必选项不能为空!"); - return aModel::update(['nickname' => $data['nickname'], 'avatar' => $data['avatar'], 'tel' => $data['tel'], 'mail' => $data['mail'], 'remark' => $data['remark']], ['id' => $this->adminId]) ? app("json")->success("操作成功") : app("json")->fail("操作失败"); + if ($data['nickname'] == '' || $data['avatar'] == '' || $data['tel'] == '' || $data['email'] == '') return app("json")->fail("必选项不能为空!"); + return aModel::update(['nickname' => $data['nickname'], 'avatar' => $data['avatar'], 'tel' => $data['tel'], 'email' => $data['email'], 'remark' => $data['remark']], ['id' => $this->adminId]) ? app("json")->success("操作成功") : app("json")->fail("操作失败"); } } \ No newline at end of file diff --git a/app/admin/controller/AdminAuth.php b/app/admin/controller/AdminAuth.php index 1110bd2..30748de 100644 --- a/app/admin/controller/AdminAuth.php +++ b/app/admin/controller/AdminAuth.php @@ -47,6 +47,7 @@ class AdminAuth extends AuthController * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException + * @throws \Exception */ public function add($pid = 0) { diff --git a/app/admin/controller/Article.php b/app/admin/controller/Article.php index 3e53af5..dd4ffd9 100644 --- a/app/admin/controller/Article.php +++ b/app/admin/controller/Article.php @@ -100,6 +100,7 @@ class Article extends AuthController if ($data['display']) $data['display'] = 1; if ($data['is_top']) $data['is_top'] = 1; if ($id == "") { + $data['uid'] = $this->adminInfo['uid']; $data['author'] = $data['author'] ?: $this->adminInfo['nickname']; $data['create_time'] = time(); $data['update_time'] = time(); diff --git a/app/admin/controller/AuthController.php b/app/admin/controller/AuthController.php index 6cad997..90794bd 100644 --- a/app/admin/controller/AuthController.php +++ b/app/admin/controller/AuthController.php @@ -2,6 +2,7 @@ namespace app\admin\controller; +use app\common\constant\Data; use app\common\model\AdminAuth; use think\facade\App; use think\facade\Lang; @@ -83,8 +84,8 @@ abstract class AuthController extends SystemBasic protected function initialize() { parent::initialize(); - $this->adminInfo = Session::get("adminInfo"); - $this->adminId = Session::get("adminId"); + $this->adminInfo = Session::get(Data::SESSION_KEY_ADMIN_INFO); + $this->adminId = Session::get(Data::SESSION_KEY_ADMIN_ID); $this->module = App::getInstance()->http->getName(); $this->controller = un_camelize($this->request->controller()); $this->action = $this->request->action(); @@ -127,7 +128,7 @@ abstract class AuthController extends SystemBasic */ protected static function isActive() { - return Session::has('adminId') && Session::has('adminInfo'); + return Session::has(Data::SESSION_KEY_ADMIN_ID) && Session::has(Data::SESSION_KEY_ADMIN_INFO); } /** diff --git a/app/admin/view/admin/index.html b/app/admin/view/admin/index.html index cecb1cf..eec33ee 100644 --- a/app/admin/view/admin/index.html +++ b/app/admin/view/admin/index.html @@ -145,7 +145,7 @@ field: 'tel', title: '电话' }, { - field: 'mail', + field: 'email', title: '邮箱' }, { field: 'create_time', diff --git a/app/admin/view/admin/profile.html b/app/admin/view/admin/profile.html index b20f56c..7f256e4 100644 --- a/app/admin/view/admin/profile.html +++ b/app/admin/view/admin/profile.html @@ -239,13 +239,13 @@ if ($("input[name='nickname']").val() == '') lightyear.notify('昵称不能为空', 'danger', 3000, 'mdi mdi-emoticon-neutral', 'top', 'center'); else if ($("input[name='avatar']").val() == '') lightyear.notify('头像不能为空', 'danger', 3000, 'mdi mdi-emoticon-neutral', 'top', 'center'); else if ($("input[name='tel']").val() == '') lightyear.notify('电话不能为空', 'danger', 3000, 'mdi mdi-emoticon-neutral', 'top', 'center'); - else if ($("input[name='mail']").val() == '') lightyear.notify('邮箱不能为空', 'danger', 3000, 'mdi mdi-emoticon-neutral', 'top', 'center'); + else if ($("input[name='email']").val() == '') lightyear.notify('邮箱不能为空', 'danger', 3000, 'mdi mdi-emoticon-neutral', 'top', 'center'); else $.post(url = "/admin/admin/changProfile", { "nickname": $("input[name='nickname']").val(), "avatar": $("input[name='avatar']").val(), "tel": $("input[name='tel']").val(), - "mail": $("input[name='mail']").val(), + "mail": $("input[name='email']").val(), "remark": $("textarea[name='remark']").val() }, function (res) { if (res.status === 200) lightyear.notify(res.msg, 'success', 3000, 'mdi mdi-emoticon-happy', 'top', 'center'); diff --git a/app/common/constant/Data.php b/app/common/constant/Data.php index de6d216..be5828f 100644 --- a/app/common/constant/Data.php +++ b/app/common/constant/Data.php @@ -9,10 +9,18 @@ namespace app\common\constant; class Data { - + //缓存数据key const DATA_FRIEND_LINK = 'data_friend_link'; //友链 const DATA_DOCUMENT_CATEGORY_LIST = 'data_document_category_list'; //文章分类 const CURR_CATEGORY_PATENT_ID = 'curr_category_patent_id'; //当前分类腹肌id const DATA_SYSTEM_CONFIG = 'data_system_config'; //系统配置 const DATA_ADVERT = 'data_advert'; //广告 + + //后台用户sessionKey + const SESSION_KEY_ADMIN_ID = 'admin_id'; + const SESSION_KEY_ADMIN_INFO = 'admin_info'; + + //前台用户session + const SESSION_KEY_USER_ID = 'user_id'; + const SESSION_KEY_USER_INFO = 'user_info'; } \ No newline at end of file diff --git a/app/common/extend/Jwt.php b/app/common/extend/Jwt.php deleted file mode 100644 index 8edfb52..0000000 --- a/app/common/extend/Jwt.php +++ /dev/null @@ -1,63 +0,0 @@ -request->ip() . app()->request->domain(); - $token = array( - "iss" => $salt, - "aud" => $salt, - "iat" => time(), - "nbf" => time(), - "exp" => time() + 60 * 60 * 24, - "data" => $param - ); - return "Bearer " . jt::encode($token, $salt, "HS256"); - } - - /** - * 解析token - * @param string $token - * @return array - */ - public static function checkToken(string $token) - { - $salt = '!@$@#%^%&^%*' . app()->request->ip() . app()->request->domain(); - try { - $data = jt::decode(trim(ltrim($token, 'Bearer')), $salt, ["HS256"]); - $data = (array)$data; - return (array)$data['data']; - } catch (SignatureInvalidException $e) { - $status['msg'] = "签名不正确"; - return $status; - } catch (BeforeValidException $e) { - $status['msg'] = "token失效"; - return $status; - } catch (ExpiredException $e) { - $status['msg'] = "token失效"; - return $status; - } catch (Exception $e) { - $status['msg'] = "未知错误"; - return $status; - } - } -} \ No newline at end of file diff --git a/app/common/extend/Mail.php b/app/common/extend/Mail.php deleted file mode 100644 index e64fc0e..0000000 --- a/app/common/extend/Mail.php +++ /dev/null @@ -1,90 +0,0 @@ -mail_to = $to; - return $this; - } - - /** - * @param string $subtype - * @return $this - */ - public function subtype(string $subtype) - { - $this->subtype = $subtype; - return $this; - } - - /** - * @return Curl - */ - public function send() - { - $param = [ - 'mail_from' => $this->mail_from, - 'password' => $this->password, - 'mail_to' => $this->mail_to, - 'subject' => $this->Subject, - 'content' => $this->Body, - 'subtype' => $this->subtype, - ]; - return Curl::app($this->host, "POST", $param)->run(); - } -} \ No newline at end of file diff --git a/app/common/model/Admin.php b/app/common/model/Admin.php index 27464bf..33cc489 100644 --- a/app/common/model/Admin.php +++ b/app/common/model/Admin.php @@ -3,6 +3,7 @@ namespace app\common\model; +use app\common\constant\Data; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; @@ -43,8 +44,8 @@ class Admin extends BaseModel { unset($info->password);//去除密码字段 $info->role_auth = AdminRole::getAuth($info['role_id'] ?? 0);//提前缓存auth字段避免频繁查询 - Session::set("adminId", $info['id']); - Session::set("adminInfo", $info->toArray()); + Session::set(Data::SESSION_KEY_ADMIN_ID, $info['id']); + Session::set(Data::SESSION_KEY_ADMIN_INFO, $info->toArray()); event("AdminLog", [$info->toArray(), "admin", "login", "login"]); return true; } @@ -54,21 +55,12 @@ class Admin extends BaseModel */ public static function clearLoginInfo() { - Session::delete("adminId"); - Session::delete("adminInfo"); + Session::delete(Data::SESSION_KEY_ADMIN_ID); + Session::delete(Data::SESSION_KEY_ADMIN_INFO); Session::clear(); return true; } - /** - * 是否登录 - * @return bool - */ - public static function isActive(): bool - { - return Session::has('adminId') && Session::has('adminInfo'); - } - /** * 列表 * @param array $where diff --git a/app/common/model/BaseModel.php b/app/common/model/BaseModel.php index 9891e7f..cb1650e 100644 --- a/app/common/model/BaseModel.php +++ b/app/common/model/BaseModel.php @@ -58,6 +58,7 @@ class BaseModel extends Model /** * 设置错误信息 * @param string $errorMsg + * @param bool $rollback * @return bool */ protected static function setErrorInfo($errorMsg = self::DEFAULT_ERROR_MSG, $rollback = false) diff --git a/app/common/model/User.php b/app/common/model/User.php index 7cbd479..b34f816 100644 --- a/app/common/model/User.php +++ b/app/common/model/User.php @@ -3,6 +3,7 @@ namespace app\common\model; +use app\common\constant\Data; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; @@ -17,7 +18,7 @@ use think\facade\Session; */ class User extends BaseModel { - public static $adminColumn = ["username", "nickname", "password", "avatar", "mail", "tel", + public static $adminColumn = ["username", "nickname", "password", "avatar", "email", "tel", "ip", "status", "remark", "is_admin", "create_time", "update_time"]; /** @@ -31,7 +32,7 @@ class User extends BaseModel */ public static function login(string $name, string $pwd): bool { - $info = self::where("username|tel", "=", $name)->find(); + $info = self::where("username|email|tel", "=", $name)->find(); if (!$info) return self::setErrorInfo("登录账号不存在"); if ($info['password'] != md5(md5($pwd))) return self::setErrorInfo("密码不正确!"); if ($info['status'] == 2) return self::setErrorInfo("账号已被冻结!"); @@ -46,9 +47,8 @@ class User extends BaseModel */ public static function setLoginInfo($info) { - Session::set("adminId", $info['id']); - Session::set("adminInfo", $info->toArray()); - event("AdminLog", [$info->toArray(), "admin", "login", "login"]); + Session::set(Data::SESSION_KEY_USER_ID, $info['id']); + Session::set(Data::SESSION_KEY_USER_INFO, $info->toArray()); return true; } @@ -102,8 +102,8 @@ class User extends BaseModel */ public static function clearLoginInfo() { - Session::delete("adminId"); - Session::delete("adminInfo"); + Session::delete(Data::SESSION_KEY_USER_ID); + Session::delete(Data::SESSION_KEY_USER_INFO); Session::clear(); return true; } @@ -114,7 +114,7 @@ class User extends BaseModel */ public static function isActive(): bool { - return Session::has('adminId') && Session::has('adminInfo'); + return Session::has(Data::SESSION_KEY_USER_ID) && Session::has(Data::SESSION_KEY_USER_INFO); } /** diff --git a/app/common/paginator/Layer.php b/app/common/paginator/Layer.php index 6df0a8c..4cc8b07 100644 --- a/app/common/paginator/Layer.php +++ b/app/common/paginator/Layer.php @@ -7,6 +7,30 @@ use think\Paginator; class Layer extends Paginator { + /** + * 渲染分页html + * @return mixed + */ + public function render() + { + if ($this->hasPages()) { + if ($this->simple) { + return sprintf( + '