From 9ccfbe25002710ca60c95cf6df993bce734583d5 Mon Sep 17 00:00:00 2001 From: liyukun <1099438829@qq.com> Date: Mon, 3 Jan 2022 04:01:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=BE=88=E5=A4=9Abug?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ape_blog.sql | 89 +++++++----------- app/admin/controller/Admin.php | 63 ++++++++----- app/admin/view/admin/index.html | 4 +- app/admin/view/public/form-builder.html | 6 +- app/common/model/Admin.php | 8 +- app/common/model/AdminLog.php | 2 +- app/common/model/User.php | 48 ++++++++++ .../a05f958f10c840bc08be541daa2328b7.png | Bin 0 -> 6807 bytes 8 files changed, 131 insertions(+), 89 deletions(-) create mode 100644 public/uploads/images/20220103/a05f958f10c840bc08be541daa2328b7.png diff --git a/ape_blog.sql b/ape_blog.sql index f0001f3..0de998b 100644 --- a/ape_blog.sql +++ b/ape_blog.sql @@ -11,7 +11,7 @@ Target Server Version : 50726 File Encoding : 65001 - Date: 13/12/2021 00:49:24 + Date: 03/01/2022 04:00:40 */ SET NAMES utf8mb4; @@ -24,9 +24,9 @@ DROP TABLE IF EXISTS `ape_admin`; CREATE TABLE `ape_admin` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID', `uid` int(10) NOT NULL DEFAULT 0 COMMENT '前台用户ID', - `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名', + `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名', `nickname` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '昵称', - `pwd` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码', + `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码', `realname` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '真实姓名', `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '头像', `role_id` int(4) NOT NULL DEFAULT 0 COMMENT '角色id', @@ -219,12 +219,13 @@ CREATE TABLE `ape_attachment` ( `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_attachment -- ---------------------------- INSERT INTO `ape_attachment` VALUES (1, 1, 'images/20211114\\9d6e563a56429ffb126044e7669a70ba.jpg', '/uploads/images/20211114\\9d6e563a56429ffb126044e7669a70ba.jpg', 'images', 'image/jpeg', '1919593', 1, 1636822168, 1636822168); +INSERT INTO `ape_attachment` VALUES (2, 2, 'images/20220103\\a05f958f10c840bc08be541daa2328b7.png', '/uploads/images/20220103\\a05f958f10c840bc08be541daa2328b7.png', 'images', 'image/png', '6807', 1, 1641150412, 1641150412); -- ---------------------------- -- Table structure for ape_attachment_category @@ -240,12 +241,13 @@ CREATE TABLE `ape_attachment_category` ( `create_time` int(11) NOT NULL COMMENT '添加时间', `update_time` int(11) 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_attachment_category -- ---------------------------- INSERT INTO `ape_attachment_category` VALUES (1, 0, '广告文件', 'images', 1, 0, 1636649478, 1636649478); +INSERT INTO `ape_attachment_category` VALUES (2, 0, '头像', 'images', 1, 0, 1641150394, 1641150394); -- ---------------------------- -- Table structure for ape_comment @@ -265,11 +267,17 @@ CREATE TABLE `ape_comment` ( `status` int(11) NOT NULL DEFAULT 0 COMMENT '状态 1不显示 1显示', `update_time` int(11) NOT NULL COMMENT '评论时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '评论表' ROW_FORMAT = COMPACT; +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '评论表' ROW_FORMAT = COMPACT; -- ---------------------------- -- Records of ape_comment -- ---------------------------- +INSERT INTO `ape_comment` VALUES (1, '看看', '121221@qq.com', 'www.baidu.com', '21321321312', 0, '', 0, 1640528720, 1, 0, 1640528720); +INSERT INTO `ape_comment` VALUES (2, '看看', '121221@qq.com', 'www.baidu.com', '驱蚊驱蚊', 0, '', 0, 1640529428, 1, 1, 1640529428); +INSERT INTO `ape_comment` VALUES (3, 'qw', '121221@qq.com', 'www.baidu.com', '去问驱蚊器我', 0, '', 2, 1640619720, 1, 1, 1640619720); +INSERT INTO `ape_comment` VALUES (4, '看看', 'admin@qq.com', 'www.baidu.com', '测试你', 0, '', 3, 1640619881, 1, 1, 1640619881); +INSERT INTO `ape_comment` VALUES (5, '看看', '121221@qq.com', 'www.baidu.com', '啊飒飒的撒旦', 0, '', 3, 1640619973, 1, 1, 1640619973); +INSERT INTO `ape_comment` VALUES (6, '看看', 'lyk911026@gmail.com', 'www.baidu.com', '测试回复', 0, '', 5, 1640880843, 1, 1, 1640880843); -- ---------------------------- -- Table structure for ape_document @@ -302,11 +310,12 @@ CREATE TABLE `ape_document` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_category_status`(`category_id`, `status`) USING BTREE, INDEX `idx_status_type_pid`(`status`, `uid`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档模型基础表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档模型基础表' ROW_FORMAT = Dynamic; -- ---------------------------- -- 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, ''); -- ---------------------------- -- Table structure for ape_document_article @@ -321,6 +330,7 @@ CREATE TABLE `ape_document_article` ( -- ---------------------------- -- Records of ape_document_article -- ---------------------------- +INSERT INTO `ape_document_article` VALUES (1, '

必应

'); -- ---------------------------- -- Table structure for ape_document_category @@ -344,11 +354,12 @@ CREATE TABLE `ape_document_category` ( `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 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 = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '分类表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of ape_document_category -- ---------------------------- +INSERT INTO `ape_document_category` VALUES (1, '编程资料', '', '', 1, 0, 99, '', '', '', 1, 'list_default.html', '', 0, 0, 0); -- ---------------------------- -- Table structure for ape_document_category_content @@ -363,6 +374,7 @@ CREATE TABLE `ape_document_category_content` ( -- ---------------------------- -- Records of ape_document_category_content -- ---------------------------- +INSERT INTO `ape_document_category_content` VALUES (1, ''); -- ---------------------------- -- Table structure for ape_document_product @@ -413,7 +425,7 @@ CREATE TABLE `ape_invitation_code` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邀请码', `status` int(11) NOT NULL DEFAULT 0 COMMENT '状态 0未使用 1 使用', - `user` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '使用用户', + `uid` int(11) NULL DEFAULT NULL COMMENT '使用用户', `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE @@ -457,51 +469,11 @@ 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 = 41 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_pv_log -- ---------------------------- -INSERT INTO `ape_pv_log` VALUES (1, 1, 3, '2021-11-08', '2021-11-08 01:05:55', '2021-11-08 01:05:55'); -INSERT INTO `ape_pv_log` VALUES (2, 23, 1, '2021-11-10', '2021-11-10 23:06:10', '2021-11-10 23:06:10'); -INSERT INTO `ape_pv_log` VALUES (3, 0, 41, '2021-11-11', '2021-11-11 00:27:18', '2021-11-11 00:27:18'); -INSERT INTO `ape_pv_log` VALUES (4, 1, 74, '2021-11-11', '2021-11-11 01:06:07', '2021-11-11 01:06:07'); -INSERT INTO `ape_pv_log` VALUES (5, 21, 8, '2021-11-11', '2021-11-11 21:39:11', '2021-11-11 21:39:11'); -INSERT INTO `ape_pv_log` VALUES (6, 23, 11, '2021-11-11', '2021-11-11 23:40:31', '2021-11-11 23:40:31'); -INSERT INTO `ape_pv_log` VALUES (7, 0, 2, '2021-11-12', '2021-11-12 00:50:56', '2021-11-12 00:50:56'); -INSERT INTO `ape_pv_log` VALUES (8, 21, 15, '2021-11-12', '2021-11-12 21:00:14', '2021-11-12 21:00:14'); -INSERT INTO `ape_pv_log` VALUES (9, 22, 54, '2021-11-12', '2021-11-12 22:01:33', '2021-11-12 22:01:33'); -INSERT INTO `ape_pv_log` VALUES (10, 23, 26, '2021-11-12', '2021-11-12 23:01:13', '2021-11-12 23:01:13'); -INSERT INTO `ape_pv_log` VALUES (11, 0, 23, '2021-11-13', '2021-11-13 00:33:08', '2021-11-13 00:33:08'); -INSERT INTO `ape_pv_log` VALUES (12, 21, 42, '2021-11-13', '2021-11-13 21:34:52', '2021-11-13 21:34:52'); -INSERT INTO `ape_pv_log` VALUES (13, 22, 14, '2021-11-13', '2021-11-13 22:09:34', '2021-11-13 22:09:34'); -INSERT INTO `ape_pv_log` VALUES (14, 23, 32, '2021-11-13', '2021-11-13 23:04:29', '2021-11-13 23:04:29'); -INSERT INTO `ape_pv_log` VALUES (15, 0, 24, '2021-11-14', '2021-11-14 00:00:48', '2021-11-14 00:00:48'); -INSERT INTO `ape_pv_log` VALUES (16, 18, 10, '2021-11-14', '2021-11-14 18:31:45', '2021-11-14 18:31:45'); -INSERT INTO `ape_pv_log` VALUES (17, 19, 15, '2021-11-14', '2021-11-14 19:00:16', '2021-11-14 19:00:16'); -INSERT INTO `ape_pv_log` VALUES (18, 20, 2, '2021-11-14', '2021-11-14 20:46:14', '2021-11-14 20:46:14'); -INSERT INTO `ape_pv_log` VALUES (19, 22, 2, '2021-11-21', '2021-11-21 22:26:44', '2021-11-21 22:26:44'); -INSERT INTO `ape_pv_log` VALUES (20, 22, 2, '2021-11-22', '2021-11-22 22:28:51', '2021-11-22 22:28:51'); -INSERT INTO `ape_pv_log` VALUES (21, 23, 3, '2021-11-24', '2021-11-24 23:38:40', '2021-11-24 23:38:40'); -INSERT INTO `ape_pv_log` VALUES (22, 22, 3, '2021-11-27', '2021-11-27 22:26:28', '2021-11-27 22:26:28'); -INSERT INTO `ape_pv_log` VALUES (23, 1, 49, '2021-11-28', '2021-11-28 01:08:30', '2021-11-28 01:08:30'); -INSERT INTO `ape_pv_log` VALUES (24, 2, 23, '2021-11-28', '2021-11-28 02:00:01', '2021-11-28 02:00:01'); -INSERT INTO `ape_pv_log` VALUES (25, 20, 6, '2021-11-28', '2021-11-28 20:35:33', '2021-11-28 20:35:33'); -INSERT INTO `ape_pv_log` VALUES (26, 23, 20, '2021-11-28', '2021-11-28 23:19:20', '2021-11-28 23:19:20'); -INSERT INTO `ape_pv_log` VALUES (27, 0, 30, '2021-11-29', '2021-11-29 00:00:14', '2021-11-29 00:00:14'); -INSERT INTO `ape_pv_log` VALUES (28, 23, 32, '2021-12-04', '2021-12-04 23:20:50', '2021-12-04 23:20:50'); -INSERT INTO `ape_pv_log` VALUES (29, 15, 7, '2021-12-05', '2021-12-05 15:47:54', '2021-12-05 15:47:54'); -INSERT INTO `ape_pv_log` VALUES (30, 16, 2, '2021-12-05', '2021-12-05 16:30:37', '2021-12-05 16:30:37'); -INSERT INTO `ape_pv_log` VALUES (31, 17, 1, '2021-12-05', '2021-12-05 17:24:01', '2021-12-05 17:24:01'); -INSERT INTO `ape_pv_log` VALUES (32, 21, 11, '2021-12-05', '2021-12-05 21:37:58', '2021-12-05 21:37:58'); -INSERT INTO `ape_pv_log` VALUES (33, 22, 4, '2021-12-05', '2021-12-05 22:08:30', '2021-12-05 22:08:30'); -INSERT INTO `ape_pv_log` VALUES (34, 23, 14, '2021-12-05', '2021-12-05 23:13:18', '2021-12-05 23:13:18'); -INSERT INTO `ape_pv_log` VALUES (35, 0, 32, '2021-12-06', '2021-12-06 00:09:55', '2021-12-06 00:09:55'); -INSERT INTO `ape_pv_log` VALUES (36, 1, 1, '2021-12-06', '2021-12-06 01:01:26', '2021-12-06 01:01:26'); -INSERT INTO `ape_pv_log` VALUES (37, 23, 30, '2021-12-06', '2021-12-06 23:19:01', '2021-12-06 23:19:01'); -INSERT INTO `ape_pv_log` VALUES (38, 23, 12, '2021-12-09', '2021-12-09 23:37:45', '2021-12-09 23:37:45'); -INSERT INTO `ape_pv_log` VALUES (39, 0, 14, '2021-12-10', '2021-12-10 00:01:15', '2021-12-10 00:01:15'); -INSERT INTO `ape_pv_log` VALUES (40, 0, 38, '2021-12-13', '2021-12-13 00:09:05', '2021-12-13 00:09:05'); -- ---------------------------- -- Table structure for ape_system_config @@ -526,7 +498,7 @@ CREATE TABLE `ape_system_config` ( `create_time` int(10) NOT NULL DEFAULT 0 COMMENT '添加时间', `update_time` int(10) NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统配置表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统配置表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_system_config @@ -557,6 +529,7 @@ INSERT INTO `ape_system_config` VALUES (23, 1, '微信收款码', 'web_weixin_pa INSERT INTO `ape_system_config` VALUES (24, 1, '支付宝收款码', 'web_zhifubao_pay', 'file', 'input', 0, '', '/uploads/images/20211129\\65eb4dd90488eb082d93d8f1163ed840.jpg', '支付宝收款码', 76, 1, 1, '1', '1', 1582793305, 1582792265); INSERT INTO `ape_system_config` VALUES (25, 4, '是否登录', 'comment_need_login', 'radio', 'input', 0, '1=>是\n0=>否', '1', '', 91, 1, 1, '1', '1', 1583126643, 1582792265); INSERT INTO `ape_system_config` VALUES (26, 4, '敏感词', 'comment_sensitive_word', 'text', 'input', 0, '', '新疆,华为', '多个逗号隔开', 81, 1, 1, '1', '1', 1582793305, 1582792265); +INSERT INTO `ape_system_config` VALUES (27, 1, '评论审核', 'comment_review', 'radio', 'input', 0, '1=>开启\n0=>关闭', '1', '', 91, 1, 1, '1', '1', 1583126643, 1582792265); -- ---------------------------- -- Table structure for ape_system_config_tab @@ -594,11 +567,14 @@ CREATE TABLE `ape_tag` ( `create_time` int(11) NOT NULL, `update_time` int(11) NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '标签表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '标签表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ape_tag -- ---------------------------- +INSERT INTO `ape_tag` VALUES (1, '必应', 1, 1, 1640528547, 1640528547); +INSERT INTO `ape_tag` VALUES (2, '必应图片', 1, 1, 1640528547, 1640528547); +INSERT INTO `ape_tag` VALUES (3, 'api', 1, 1, 1640528547, 1640528547); -- ---------------------------- -- Table structure for ape_url_log @@ -613,12 +589,11 @@ 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 = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'pv记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 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, '网站首页', '2021-12-13', NULL, NULL); -- ---------------------------- -- Table structure for ape_user @@ -630,10 +605,11 @@ 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 '用户头像', - `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱', + `mail` 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禁用', + `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '简介', `is_admin` int(11) NOT NULL DEFAULT 0 COMMENT '是否是管理员', `create_time` int(11) NOT NULL COMMENT '创建时间', `update_time` int(11) NOT NULL COMMENT '上次登录时间', @@ -656,11 +632,10 @@ 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 = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Uv记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 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', 0, '2021-12-13', '2021-12-13 00:48:26', '2021-12-13 00:48:26'); SET FOREIGN_KEY_CHECKS = 1; diff --git a/app/admin/controller/Admin.php b/app/admin/controller/Admin.php index ca51f10..5f792b1 100644 --- a/app/admin/controller/Admin.php +++ b/app/admin/controller/Admin.php @@ -4,11 +4,15 @@ namespace app\admin\controller; use app\common\model\Admin as aModel; use app\common\model\AdminRole as rModel; +use app\common\model\User as userModel; use app\Request; use app\admin\extend\Util as Util; use FormBuilder\Factory\Elm; use app\admin\extend\FormBuilder as Form; +use think\Exception; +use think\facade\Db; use think\facade\Route as Url; +use think\Facade\Log; /** * 账号管理 @@ -39,7 +43,7 @@ class Admin extends AuthController public function lst(Request $request) { $where = Util::postMore([ - ['name', ''], + ['username', ''], ['tel', ''], ['start_time', ''], ['end_time', ''], @@ -60,7 +64,7 @@ class Admin extends AuthController public function add(Request $request) { $form = array(); - $form[] = Elm::input('name', '登录账号')->col(10); + $form[] = Elm::input('username', '登录账号')->col(10); $form[] = Elm::input('nickname', '昵称')->col(10); $form[] = Elm::frameImage('avatar', '头像', Url::buildUrl('admin/images/index', array('fodder' => 'avatar', 'limit' => 1)))->icon("ios-image")->width('96%')->height('440px')->col(10); $form[] = Elm::password('password', '密码')->col(10); @@ -92,7 +96,7 @@ class Admin extends AuthController $ainfo = aModel::get($id); if (!$ainfo) return app("json")->fail("没有该账号"); $form = array(); - $form[] = Elm::input('name', '登录账号', $ainfo['name'])->col(10); + $form[] = Elm::input('username', '登录账号', $ainfo['username'])->col(10); $form[] = Elm::input('nickname', '昵称', $ainfo['nickname'])->col(10); $form[] = Elm::frameImage('avatar', '头像', Url::buildUrl('admin/images/index', array('fodder' => 'avatar', 'limit' => 1)), $ainfo['avatar'])->icon("ios-image")->width('96%')->height('440px')->col(10); $form[] = Elm::password('password', '密码', $ainfo['password'])->col(10); @@ -121,7 +125,7 @@ class Admin extends AuthController public function save($id = "") { $data = Util::postMore([ - ['name', ''], + ['username', ''], ['nickname', ''], ['avatar', ''], ['password', ''], @@ -131,28 +135,45 @@ class Admin extends AuthController ['mail', ''], ['status', ''] ]); - if ($data['name'] == "") return app("json")->fail("登录账号不能为空"); + 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 (is_array($data['avatar'])) $data['avatar'] = $data['avatar'][0]; - if ($id == "") { - //判断下用户是否存在 - $info = aModel::where('name', $data['name'])->find(); - if ($info) { - return app("json")->fail("用户已存在"); + // 启动事务 + Db::startTrans(); + try { + if ($id == "") { + //判断下用户是否存在 + $info = aModel::where('username', $data['username'])->find(); + if ($info) { + return app("json")->fail("用户已存在"); + } + $data['password'] = md5(md5($data['password'])); + $data['ip'] = $this->request->ip(); + $data['create_user'] = $this->adminId; + $data['create_time'] = time(); + $data['update_time'] = time(); + aModel::insert($data); + //添加前台用户 + $userId = userModel::addAdminUser($data); + $res = aModel::update(['uid'=>$userId], ['id' => $id]); + } else { + $userInfo = aModel::get($id); + if ($userInfo['password'] != $data['password']) $data['password'] = md5(md5($data['password'])); + $data['update_user'] = $this->adminId; + $data['update_time'] = time(); + aModel::update($data, ['id' => $id]); + //同步更新前台用户 + $res = userModel::updateAdminUser($userInfo['uid'],$data); } - $data['password'] = md5(md5($data['password'])); - $data['ip'] = $this->request->ip(); - $data['create_user'] = $this->adminId; - $data['create_time'] = time(); - $res = aModel::insert($data); - } else { - $ainfo = aModel::get($id); - if ($ainfo['password'] != $data['password']) $data['password'] = md5(md5($data['password'])); - $data['update_user'] = $this->adminId; - $data['update_time'] = time(); - $res = aModel::update($data, ['id' => $id]); + // 提交事务 + Db::commit(); + }catch (Exception $exception){ + Log::error('用户添加失败,失败原因'.$exception->getMessage()); + // 回滚事务 + Db::rollback(); + $res = false; } return $res ? app("json")->success("操作成功", 'code') : app("json")->fail("操作失败"); } diff --git a/app/admin/view/admin/index.html b/app/admin/view/admin/index.html index ff8fe8f..cecb1cf 100644 --- a/app/admin/view/admin/index.html +++ b/app/admin/view/admin/index.html @@ -16,7 +16,7 @@
-
@@ -127,7 +127,7 @@ title: 'ID', sortable: true // 是否排序 }, { - field: 'name', + field: 'username', title: '账号' }, { field: 'nickname', diff --git a/app/admin/view/public/form-builder.html b/app/admin/view/public/form-builder.html index b896770..f4df6d3 100644 --- a/app/admin/view/public/form-builder.html +++ b/app/admin/view/public/form-builder.html @@ -67,10 +67,8 @@ } }) }; - var h = g( < ? = $form->parseFormRule() ? - >) - , - c = {} + var h = g(parseFormRule()?>) + , c = {} , d = {} , j = "getFormContentType()?>" , f = "getAction()?>" diff --git a/app/common/model/Admin.php b/app/common/model/Admin.php index 185fedf..7bcba7a 100644 --- a/app/common/model/Admin.php +++ b/app/common/model/Admin.php @@ -16,16 +16,16 @@ class Admin extends BaseModel { /** * 登录 - * @param $name + * @param $username * @param $pwd * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ - public static function login(string $name, string $pwd): bool + public static function login(string $username, string $pwd): bool { - $info = self::where("name|tel", "=", $name)->find(); + $info = self::where("username|tel", "=", $username)->find(); if (empty($info)) return self::setErrorInfo("登录账号不存在"); if ($info['password'] != md5(md5($pwd))) return self::setErrorInfo("密码不正确!"); if ($info['status'] != 1) return self::setErrorInfo("账号已被冻结!"); @@ -79,7 +79,7 @@ class Admin extends BaseModel public static function systemPage(array $where): array { $model = new self; - if ($where['name'] != '') $model = $model->where("name|id|nickname", "like", "%$where[name]%"); + if ($where['username'] != '') $model = $model->where("username|id|nickname", "like", "%$where[username]%"); if ($where['start_time'] != '') $model = $model->where("create_time", ">", strtotime($where['start_time'] . " 00:00:00")); if ($where['end_time'] != '') $model = $model->where("create_time", "<", strtotime($where['end_time'] . " 23:59:59")); if ($where['tel'] != '') $model = $model->where("tel|mail", "like", "%$where[tel]%"); diff --git a/app/common/model/AdminLog.php b/app/common/model/AdminLog.php index 2c089ad..e4ee39c 100644 --- a/app/common/model/AdminLog.php +++ b/app/common/model/AdminLog.php @@ -26,7 +26,7 @@ class AdminLog extends BaseModel { return self::create([ 'admin_id' => $adminInfo['id'], - 'admin_name' => $adminInfo['name'], + 'admin_name' => $adminInfo['username'], 'module' => $module, 'controller' => $controller, 'action' => $action, diff --git a/app/common/model/User.php b/app/common/model/User.php index d1be5cd..89ba085 100644 --- a/app/common/model/User.php +++ b/app/common/model/User.php @@ -15,6 +15,9 @@ use think\facade\Session; */ class User extends BaseModel { + public static $adminColumn = [ "username", "nickname", "password", "avatar", "mail", "tel", + "ip", "status", "remark", "is_admin", "create_time", "update_time"]; + /** * 登录 * @param $name @@ -47,6 +50,51 @@ class User extends BaseModel return true; } + /** + * 添加后台用户信息 + * @param $data + * @return bool|int|string + * @author 李玉坤 + * @date 2022-01-03 3:46 + */ + public static function addAdminUser($data) + { + $insertData = []; + foreach (self::$adminColumn as $key){ + if (isset($data[$key])) { + $insertData[$key] = $data[$key]; + } + } + if (!empty($insertData)){ + //标识后台用户 + $insertData['is_admin'] = 1; + return self::insert($insertData,true); + } + return false; + } + + /** + * 更新后台用户信息 + * @param $id + * @param $data + * @return bool|int|string + * @author 李玉坤 + * @date 2022-01-03 3:48 + */ + public static function updateAdminUser($id ,$data) + { + $updateData = []; + foreach (self::$adminColumn as $key){ + if (isset($data[$key])) { + $updateData[$key] = $data[$key]; + } + } + if (!empty($updateData)){ + return self::update($updateData,['id'=>$id]); + } + return false; + } + /** * 退出登录 */ diff --git a/public/uploads/images/20220103/a05f958f10c840bc08be541daa2328b7.png b/public/uploads/images/20220103/a05f958f10c840bc08be541daa2328b7.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6d7b05a3b90e909761ee90db9cd263cc8e2822 GIT binary patch literal 6807 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 E11{?R{{R30 literal 0 HcmV?d00001