From 16bbfade1147158670e9da8be388dcb89ddce251 Mon Sep 17 00:00:00 2001 From: QM303176530 <303176530@qq.com> Date: Mon, 6 Apr 2020 14:57:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=E8=A7=86?= =?UTF-8?q?=E9=A2=91=20=E6=8F=90=E4=BE=9B2.0=E6=B5=8B=E8=AF=95=E7=89=88?= =?UTF-8?q?=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QMPlusServer/db/qmplus.sql | 284 +++++++++----------- README.md | 513 +++++++++++++++++++------------------ 2 files changed, 380 insertions(+), 417 deletions(-) diff --git a/QMPlusServer/db/qmplus.sql b/QMPlusServer/db/qmplus.sql index 5f87f215..0020d6a8 100644 --- a/QMPlusServer/db/qmplus.sql +++ b/QMPlusServer/db/qmplus.sql @@ -5,13 +5,13 @@ Source Server Type : MySQL Source Server Version : 50640 Source Host : localhost:3306 - Source Schema : qmplusv1 + Source Schema : qmplus Target Server Type : MySQL Target Server Version : 50640 File Encoding : 65001 - Date: 06/04/2020 12:48:47 + Date: 06/04/2020 13:37:03 */ SET NAMES utf8mb4; @@ -63,7 +63,6 @@ INSERT INTO `casbin_rule` VALUES ('p', '8881', '/user/setUserAuthority', 'POST', INSERT INTO `casbin_rule` VALUES ('p', '8881', '/fileUploadAndDownload/upload', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '8881', '/fileUploadAndDownload/getFileList', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '8881', '/fileUploadAndDownload/deleteFile', 'POST', '', '', ''); -INSERT INTO `casbin_rule` VALUES ('p', '8881', '/casbin/casbinPUpdate', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '8881', '/casbin/getPolicyPathByAuthorityId', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '8881', '/jwt/jsonInBlacklist', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '8881', '/system/getSystemConfig', 'POST', '', '', ''); @@ -102,7 +101,7 @@ INSERT INTO `casbin_rule` VALUES ('p', '9528', '/user/setUserAuthority', 'POST', INSERT INTO `casbin_rule` VALUES ('p', '9528', '/fileUploadAndDownload/upload', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '9528', '/fileUploadAndDownload/getFileList', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '9528', '/fileUploadAndDownload/deleteFile', 'POST', '', '', ''); -INSERT INTO `casbin_rule` VALUES ('p', '9528', '/casbin/casbinPUpdate', 'POST', '', '', ''); +INSERT INTO `casbin_rule` VALUES ('p', '9528', '/casbin/updateCasbin', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '9528', '/casbin/getPolicyPathByAuthorityId', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '9528', '/jwt/jsonInBlacklist', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '9528', '/system/getSystemConfig', 'POST', '', '', ''); @@ -142,7 +141,7 @@ INSERT INTO `casbin_rule` VALUES ('p', '888', '/user/setUserAuthority', 'POST', INSERT INTO `casbin_rule` VALUES ('p', '888', '/fileUploadAndDownload/upload', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '888', '/fileUploadAndDownload/getFileList', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '888', '/fileUploadAndDownload/deleteFile', 'POST', '', '', ''); -INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/casbinPUpdate', 'POST', '', '', ''); +INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/updateCasbin', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/getPolicyPathByAuthorityId', 'POST', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/casbinTest/:pathParam', 'GET', '', '', ''); INSERT INTO `casbin_rule` VALUES ('p', '888', '/jwt/jsonInBlacklist', 'POST', '', '', ''); @@ -3869,7 +3868,7 @@ CREATE TABLE `jwt_blacklists` ( `jwt` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_jwt_blacklists_deleted_at`(`deleted_at`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; +) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of jwt_blacklists @@ -3910,11 +3909,6 @@ INSERT INTO `jwt_blacklists` VALUES (35, '2020-01-06 16:59:26', '2020-01-06 16:5 INSERT INTO `jwt_blacklists` VALUES (36, '2020-03-21 14:46:14', '2020-03-21 14:46:14', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg1Mzc3ODY3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODQ3NzIwNjd9.DLhWhD1FdcWLyFLcXQynKJnenbVHrSiKhlDGFRzgo5k'); INSERT INTO `jwt_blacklists` VALUES (37, '2020-03-31 14:24:35', '2020-03-31 14:24:35', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2MTM4MTA4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU1MzIzMDh9.Ro2F2dZLfOk2Z_OPRbweOuCpchr6HlHfQIF5qjfc8y4'); INSERT INTO `jwt_blacklists` VALUES (38, '2020-04-01 16:07:57', '2020-04-01 16:07:57', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2MjQwNzQyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU2MzQ5NDJ9.9qaOFu7D5cq4vxTfLi4pyO_JGcKjVAEJIcoStJWJlYg'); -INSERT INTO `jwt_blacklists` VALUES (39, '2020-04-06 11:09:04', '2020-04-06 11:09:04', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2NDQyODEwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU4MzcwMTB9.BU4i1-6tOG1L0xDgM79_eUA_VcG-cAUXips3uorIxJA'); -INSERT INTO `jwt_blacklists` VALUES (40, '2020-04-06 12:13:24', '2020-04-06 12:13:24', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2NzQ3MzYwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODYxNDE1NjB9.IT8FUd-ZyJH4OoJphM4YkQi8yb9leqU5SZ9bG6aYuUk'); -INSERT INTO `jwt_blacklists` VALUES (41, '2020-04-06 12:14:06', '2020-04-06 12:14:06', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiOGM5YWRiODYtMjQ4YS00ZDFjLWJkZGMtYWJjZWRkODkzMzg3IiwiSUQiOjEyLCJOaWNrTmFtZSI6InRlc3R0ZXN0IiwiQXV0aG9yaXR5SWQiOiI5NTI4IiwiZXhwIjoxNTg2NzUxMjEyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODYxNDU0MTJ9.PsVlRJwxAddW4USBiEcY7DUmaCPyvwm5bWO-m9P-xpk'); -INSERT INTO `jwt_blacklists` VALUES (42, '2020-04-06 12:18:41', '2020-04-06 12:18:41', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2NzUxMzU5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODYxNDU1NTl9.PxjgKpuw5b3qgsEBd8NVxg5iQKXScn8CRrKogdANwQU'); -INSERT INTO `jwt_blacklists` VALUES (43, '2020-04-06 12:19:20', '2020-04-06 12:19:20', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiN2IxMGY1N2YtY2MzYi00NmM4LTkwY2ItNzA0Y2M1NTJkMjQ3IiwiSUQiOjEzLCJOaWNrTmFtZSI6InRlc3R0ZXN0IiwiQXV0aG9yaXR5SWQiOiI5OTk5IiwiZXhwIjoxNTg2NzUxNTQzLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODYxNDU3NDN9.BvTuF9ORyVMMl7Qfz_wpNkfiWhn890tFfRWn0ZEHudA'); -- ---------------------------- -- Table structure for sys_apis @@ -3928,7 +3922,7 @@ CREATE TABLE `sys_apis` ( `authority_id` int(10) UNSIGNED NULL DEFAULT NULL, `path` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `group` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `api_group` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `method` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'POST', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_apis_deleted_at`(`deleted_at`) USING BTREE, @@ -3985,26 +3979,74 @@ INSERT INTO `sys_apis` VALUES (45, '2020-03-29 23:01:28', '2020-03-29 23:01:28', -- ---------------------------- DROP TABLE IF EXISTS `sys_authorities`; CREATE TABLE `sys_authorities` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, - `created_at` timestamp(0) NULL DEFAULT NULL, - `updated_at` timestamp(0) NULL DEFAULT NULL, - `deleted_at` timestamp(0) NULL DEFAULT NULL, `authority_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `authority_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `parent_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, + `created_at` datetime(0) NULL DEFAULT NULL, + `updated_at` datetime(0) NULL DEFAULT NULL, + `deleted_at` datetime(0) NULL DEFAULT NULL, + PRIMARY KEY (`authority_id`) USING BTREE, UNIQUE INDEX `authority_id`(`authority_id`) USING BTREE, - INDEX `idx_authorities_deleted_at`(`deleted_at`) USING BTREE, INDEX `idx_sys_authorities_deleted_at`(`deleted_at`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of sys_authorities -- ---------------------------- -INSERT INTO `sys_authorities` VALUES (2, '2019-09-08 16:18:45', '2019-09-08 16:18:45', NULL, '888', '普通用户', '0'); -INSERT INTO `sys_authorities` VALUES (6, '2019-09-18 22:23:33', '2019-09-18 22:23:33', NULL, '9528', '测试角色', '0'); -INSERT INTO `sys_authorities` VALUES (8, '2019-12-28 18:19:13', '2019-12-28 18:19:13', NULL, '8881', '普通用户子角色', '888'); -INSERT INTO `sys_authorities` VALUES (9, '2020-04-06 12:09:50', '2020-04-06 12:09:50', NULL, '9999', '演示角色', '0'); +INSERT INTO `sys_authorities` VALUES ('888', '普通用户', '0', '2020-04-04 11:44:56', NULL, NULL); +INSERT INTO `sys_authorities` VALUES ('8881', '普通用户子角色', '888', '2020-04-04 11:44:56', NULL, NULL); +INSERT INTO `sys_authorities` VALUES ('9528', '测试角色', '0', '2020-04-04 11:44:56', NULL, NULL); + +-- ---------------------------- +-- Table structure for sys_authority_menus +-- ---------------------------- +DROP TABLE IF EXISTS `sys_authority_menus`; +CREATE TABLE `sys_authority_menus` ( + `sys_authority_authority_id` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `sys_base_menu_id` int(10) UNSIGNED NOT NULL DEFAULT 0, + PRIMARY KEY (`sys_authority_authority_id`, `sys_base_menu_id`) USING BTREE, + INDEX `sys_authority_authority_id`(`sys_authority_authority_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_authority_menus +-- ---------------------------- +INSERT INTO `sys_authority_menus` VALUES ('888', 1); +INSERT INTO `sys_authority_menus` VALUES ('888', 2); +INSERT INTO `sys_authority_menus` VALUES ('888', 3); +INSERT INTO `sys_authority_menus` VALUES ('888', 4); +INSERT INTO `sys_authority_menus` VALUES ('888', 5); +INSERT INTO `sys_authority_menus` VALUES ('888', 6); +INSERT INTO `sys_authority_menus` VALUES ('888', 17); +INSERT INTO `sys_authority_menus` VALUES ('888', 18); +INSERT INTO `sys_authority_menus` VALUES ('888', 19); +INSERT INTO `sys_authority_menus` VALUES ('888', 20); +INSERT INTO `sys_authority_menus` VALUES ('888', 21); +INSERT INTO `sys_authority_menus` VALUES ('888', 22); +INSERT INTO `sys_authority_menus` VALUES ('888', 23); +INSERT INTO `sys_authority_menus` VALUES ('888', 26); +INSERT INTO `sys_authority_menus` VALUES ('888', 33); +INSERT INTO `sys_authority_menus` VALUES ('888', 34); +INSERT INTO `sys_authority_menus` VALUES ('888', 38); +INSERT INTO `sys_authority_menus` VALUES ('888', 40); +INSERT INTO `sys_authority_menus` VALUES ('888', 41); +INSERT INTO `sys_authority_menus` VALUES ('888', 42); +INSERT INTO `sys_authority_menus` VALUES ('9528', 1); +INSERT INTO `sys_authority_menus` VALUES ('9528', 2); +INSERT INTO `sys_authority_menus` VALUES ('9528', 3); +INSERT INTO `sys_authority_menus` VALUES ('9528', 4); +INSERT INTO `sys_authority_menus` VALUES ('9528', 5); +INSERT INTO `sys_authority_menus` VALUES ('9528', 6); +INSERT INTO `sys_authority_menus` VALUES ('9528', 17); +INSERT INTO `sys_authority_menus` VALUES ('9528', 18); +INSERT INTO `sys_authority_menus` VALUES ('9528', 19); +INSERT INTO `sys_authority_menus` VALUES ('9528', 20); +INSERT INTO `sys_authority_menus` VALUES ('9528', 21); +INSERT INTO `sys_authority_menus` VALUES ('9528', 22); +INSERT INTO `sys_authority_menus` VALUES ('9528', 23); +INSERT INTO `sys_authority_menus` VALUES ('9528', 26); +INSERT INTO `sys_authority_menus` VALUES ('9528', 33); +INSERT INTO `sys_authority_menus` VALUES ('9528', 34); -- ---------------------------- -- Table structure for sys_base_menus @@ -4023,164 +4065,72 @@ CREATE TABLE `sys_base_menus` ( `component` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `sort` int(255) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_base_menus_deleted_at`(`deleted_at`) USING BTREE, INDEX `idx_sys_base_menus_deleted_at`(`deleted_at`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; +) ENGINE = InnoDB AUTO_INCREMENT = 53 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of sys_base_menus -- ---------------------------- -INSERT INTO `sys_base_menus` VALUES (1, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 0, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', '仪表盘', 1); -INSERT INTO `sys_base_menus` VALUES (2, '2019-09-19 22:06:17', '2020-04-06 12:10:18', NULL, 0, 0, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', '测试菜单', 2); -INSERT INTO `sys_base_menus` VALUES (3, '2019-09-19 22:06:38', '2019-12-12 16:51:31', NULL, 0, 0, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', '超级管理员', 3); -INSERT INTO `sys_base_menus` VALUES (4, '2019-09-19 22:11:53', '2019-09-19 22:11:53', NULL, 0, 3, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', '角色管理', 1); -INSERT INTO `sys_base_menus` VALUES (5, '2019-09-19 22:13:18', '2019-12-12 16:57:20', NULL, 0, 3, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', '菜单管理', 2); -INSERT INTO `sys_base_menus` VALUES (6, '2019-09-19 22:13:36', '2019-12-12 16:57:30', NULL, 0, 3, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 'api管理', 3); -INSERT INTO `sys_base_menus` VALUES (17, '2019-10-09 15:12:29', '2019-12-12 16:57:25', NULL, 0, 3, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', '用户管理', 4); -INSERT INTO `sys_base_menus` VALUES (18, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 0, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', '个人信息', 4); -INSERT INTO `sys_base_menus` VALUES (19, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 0, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', '示例文件', 6); -INSERT INTO `sys_base_menus` VALUES (20, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 19, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', '表格示例', 1); -INSERT INTO `sys_base_menus` VALUES (21, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 19, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', '表单示例', 2); -INSERT INTO `sys_base_menus` VALUES (22, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 19, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', '富文本编辑器', 3); -INSERT INTO `sys_base_menus` VALUES (23, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 19, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 'excel导入导出', 4); -INSERT INTO `sys_base_menus` VALUES (26, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 19, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', '上传下载', 5); -INSERT INTO `sys_base_menus` VALUES (29, '2019-12-04 10:05:57', '2019-12-12 16:51:39', '2019-12-12 17:00:50', 0, 0, 'workflow', 'workflow', 0, 'view/workflow/index.vue', '工作流', 'share', '工作流', 6); -INSERT INTO `sys_base_menus` VALUES (30, '2019-12-04 10:06:36', '2019-12-04 10:06:36', '2019-12-12 17:00:48', 0, 29, 'workflowCreate', 'workflowCreate', 0, 'view/workflow/workflowCreate/workflowCreate', '创建工作流', '', '创建工作流', 1); -INSERT INTO `sys_base_menus` VALUES (31, '2019-12-17 10:08:02', '2019-12-17 10:08:58', '2019-12-17 10:09:27', 0, 0, 'testtest', 'testtest', 0, 'view/test/index.vue', '测试menu', '', '测试menu', 8); -INSERT INTO `sys_base_menus` VALUES (32, '2020-01-13 14:03:21', '2020-01-13 14:05:19', '2020-03-29 21:31:23', 0, 3, 'system', 'system', 0, 'view/superAdmin/system/system.vue', '配置管理', 'setting', '配置管理', 5); -INSERT INTO `sys_base_menus` VALUES (33, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 19, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', '断点续传', 6); -INSERT INTO `sys_base_menus` VALUES (34, '2020-02-24 19:48:37', '2020-03-27 20:10:02', NULL, 0, 19, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', '客户列表(资源示例)', 7); -INSERT INTO `sys_base_menus` VALUES (35, '2020-03-22 17:13:38', '2020-03-22 17:13:38', '2020-03-22 17:13:49', 0, 0, 'autoCode', 'autoCode', 0, 'view/superAdmin/autoCode/index.vue', '代码构建工具', 's-platform', '代码构建工具', 6); -INSERT INTO `sys_base_menus` VALUES (36, '2020-03-22 17:14:24', '2020-03-22 17:15:23', '2020-03-29 21:31:18', 0, 3, 'autoCode', 'autoCode', 0, 'view/superAdmin/autoCode/index.vue', '自动化代码', 'cpu', '自动化代码', 6); -INSERT INTO `sys_base_menus` VALUES (37, '2020-03-28 23:43:39', '2020-03-28 23:43:39', '2020-03-29 21:31:15', 0, 3, 'formCreate', 'formCreate', 0, 'view/superAdmin/formCreate/index.vue', '表单生成器', 'setting', '表单生成器', 8); -INSERT INTO `sys_base_menus` VALUES (38, '2020-03-29 21:31:03', '2020-03-29 21:31:03', NULL, 0, 0, 'systemTools', 'systemTools', 0, 'view/systemTools/index.vue', '系统工具', 's-cooperation', '系统工具', 5); -INSERT INTO `sys_base_menus` VALUES (39, '2020-03-29 21:34:06', '2020-03-30 13:56:24', '2020-03-30 15:58:32', 0, 38, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-order', '系统配置', 0); -INSERT INTO `sys_base_menus` VALUES (40, '2020-03-29 21:35:10', '2020-03-29 21:35:10', NULL, 0, 38, 'autoCode', 'autoCode', 0, 'view/systemTools/autoCode/index.vue', '代码生成器', 'cpu', '代码生成器', 1); -INSERT INTO `sys_base_menus` VALUES (41, '2020-03-29 21:36:26', '2020-03-29 21:36:26', NULL, 0, 38, 'formCreate', 'formCreate', 0, 'view/systemTools/formCreate/index.vue', '表单生成器', 'magic-stick', '表单生成器', 2); -INSERT INTO `sys_base_menus` VALUES (42, '2020-04-02 14:19:36', '2020-04-02 14:20:16', NULL, 0, 38, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-operation', '系统配置', 3); +INSERT INTO `sys_base_menus` VALUES (1, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 0, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', 1); +INSERT INTO `sys_base_menus` VALUES (2, '2019-09-19 22:06:17', '2020-03-27 20:33:58', NULL, 0, 0, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', 2); +INSERT INTO `sys_base_menus` VALUES (3, '2019-09-19 22:06:38', '2019-12-12 16:51:31', NULL, 0, 0, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', 3); +INSERT INTO `sys_base_menus` VALUES (4, '2019-09-19 22:11:53', '2019-09-19 22:11:53', NULL, 0, 3, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', 1); +INSERT INTO `sys_base_menus` VALUES (5, '2019-09-19 22:13:18', '2019-12-12 16:57:20', NULL, 0, 3, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', 2); +INSERT INTO `sys_base_menus` VALUES (6, '2019-09-19 22:13:36', '2019-12-12 16:57:30', NULL, 0, 3, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 3); +INSERT INTO `sys_base_menus` VALUES (17, '2019-10-09 15:12:29', '2019-12-12 16:57:25', NULL, 0, 3, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', 4); +INSERT INTO `sys_base_menus` VALUES (18, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 0, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', 4); +INSERT INTO `sys_base_menus` VALUES (19, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 0, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', 6); +INSERT INTO `sys_base_menus` VALUES (20, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 19, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', 1); +INSERT INTO `sys_base_menus` VALUES (21, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 19, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', 2); +INSERT INTO `sys_base_menus` VALUES (22, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 19, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', 3); +INSERT INTO `sys_base_menus` VALUES (23, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 19, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 4); +INSERT INTO `sys_base_menus` VALUES (26, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 19, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', 5); +INSERT INTO `sys_base_menus` VALUES (29, '2019-12-04 10:05:57', '2019-12-12 16:51:39', '2019-12-12 17:00:50', 0, 0, 'workflow', 'workflow', 0, 'view/workflow/index.vue', '工作流', 'share', 6); +INSERT INTO `sys_base_menus` VALUES (30, '2019-12-04 10:06:36', '2019-12-04 10:06:36', '2019-12-12 17:00:48', 0, 29, 'workflowCreate', 'workflowCreate', 0, 'view/workflow/workflowCreate/workflowCreate', '创建工作流', '', 1); +INSERT INTO `sys_base_menus` VALUES (31, '2019-12-17 10:08:02', '2019-12-17 10:08:58', '2019-12-17 10:09:27', 0, 0, 'testtest', 'testtest', 0, 'view/test/index.vue', '测试menu', '', 8); +INSERT INTO `sys_base_menus` VALUES (32, '2020-01-13 14:03:21', '2020-01-13 14:05:19', '2020-03-29 21:31:23', 0, 3, 'system', 'system', 0, 'view/superAdmin/system/system.vue', '配置管理', 'setting', 5); +INSERT INTO `sys_base_menus` VALUES (33, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 19, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', 6); +INSERT INTO `sys_base_menus` VALUES (34, '2020-02-24 19:48:37', '2020-03-27 20:10:02', NULL, 0, 19, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', 7); +INSERT INTO `sys_base_menus` VALUES (35, '2020-03-22 17:13:38', '2020-03-22 17:13:38', '2020-03-22 17:13:49', 0, 0, 'autoCode', 'autoCode', 0, 'view/superAdmin/autoCode/index.vue', '代码构建工具', 's-platform', 6); +INSERT INTO `sys_base_menus` VALUES (36, '2020-03-22 17:14:24', '2020-03-22 17:15:23', '2020-03-29 21:31:18', 0, 3, 'autoCode', 'autoCode', 0, 'view/superAdmin/autoCode/index.vue', '自动化代码', 'cpu', 6); +INSERT INTO `sys_base_menus` VALUES (37, '2020-03-28 23:43:39', '2020-03-28 23:43:39', '2020-03-29 21:31:15', 0, 3, 'formCreate', 'formCreate', 0, 'view/superAdmin/formCreate/index.vue', '表单生成器', 'setting', 8); +INSERT INTO `sys_base_menus` VALUES (38, '2020-03-29 21:31:03', '2020-03-29 21:31:03', NULL, 0, 0, 'systemTools', 'systemTools', 0, 'view/systemTools/index.vue', '系统工具', 's-cooperation', 5); +INSERT INTO `sys_base_menus` VALUES (39, '2020-03-29 21:34:06', '2020-03-30 13:56:24', '2020-03-30 15:58:32', 0, 38, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-order', 0); +INSERT INTO `sys_base_menus` VALUES (40, '2020-03-29 21:35:10', '2020-03-29 21:35:10', NULL, 0, 38, 'autoCode', 'autoCode', 0, 'view/systemTools/autoCode/index.vue', '代码生成器', 'cpu', 1); +INSERT INTO `sys_base_menus` VALUES (41, '2020-03-29 21:36:26', '2020-03-29 21:36:26', NULL, 0, 38, 'formCreate', 'formCreate', 0, 'view/systemTools/formCreate/index.vue', '表单生成器', 'magic-stick', 2); +INSERT INTO `sys_base_menus` VALUES (42, '2020-04-02 14:19:36', '2020-04-02 14:20:16', NULL, 0, 38, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-operation', 3); +INSERT INTO `sys_base_menus` VALUES (43, '2020-04-06 12:58:16', '2020-04-06 12:58:16', '2020-04-06 12:58:50', 0, 0, 'etetetet', 'etetetet', 0, 'tetete', 'tetetet', 'etet', 0); +INSERT INTO `sys_base_menus` VALUES (44, '2020-04-06 12:59:04', '2020-04-06 12:59:04', '2020-04-06 12:59:06', 0, 0, 'tetetet', 'tetetet', 0, 'tetetet', 'etetete', 'etete', 122); +INSERT INTO `sys_base_menus` VALUES (45, '2020-04-06 12:59:48', '2020-04-06 12:59:48', '2020-04-06 13:00:00', 0, 0, 'tetet', 'tetet', 0, 'tetet', 'ete', 'etet', 123123); +INSERT INTO `sys_base_menus` VALUES (46, '2020-04-06 13:14:55', '2020-04-06 13:14:55', '2020-04-06 13:15:03', 0, 0, '123123', '123123', 0, '3213', '321312', '12312', 12321321); +INSERT INTO `sys_base_menus` VALUES (47, '2020-04-06 13:16:29', '2020-04-06 13:16:29', '2020-04-06 13:17:00', 0, 0, '12312', '12312', 0, '3213', '12321123', '12312312', 213123); +INSERT INTO `sys_base_menus` VALUES (48, '2020-04-06 13:17:09', '2020-04-06 13:17:09', '2020-04-06 13:17:11', 0, 0, '321312', '321312', 0, '321321', '12312', '3123123', 12312321); +INSERT INTO `sys_base_menus` VALUES (49, '2020-04-06 13:17:37', '2020-04-06 13:17:37', '2020-04-06 13:17:39', 0, 0, '123', '123', 0, '123213', '12321', '3123213', 213213); +INSERT INTO `sys_base_menus` VALUES (50, '2020-04-06 13:18:24', '2020-04-06 13:18:24', '2020-04-06 13:21:25', 0, 0, '12312', '12312', 0, '3123', '213123', '123213', 213123); +INSERT INTO `sys_base_menus` VALUES (51, '2020-04-06 13:29:20', '2020-04-06 13:29:20', '2020-04-06 13:29:23', 0, 0, '12312', '12312', 0, '3123', '123123', '123123', 123123); +INSERT INTO `sys_base_menus` VALUES (52, '2020-04-06 13:29:31', '2020-04-06 13:29:31', '2020-04-06 13:29:41', 0, 0, '21321', '21321', 0, '3123', '321312', '312321', 12312); -- ---------------------------- -- Table structure for sys_data_authority_id -- ---------------------------- DROP TABLE IF EXISTS `sys_data_authority_id`; CREATE TABLE `sys_data_authority_id` ( - `sys_authority_id` int(10) UNSIGNED NOT NULL DEFAULT 0, - `data_id` int(10) UNSIGNED NOT NULL DEFAULT 0, - PRIMARY KEY (`sys_authority_id`, `data_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; + `sys_authority_authority_id` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + `data_authority_id` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, + PRIMARY KEY (`sys_authority_authority_id`, `data_authority_id`) USING BTREE, + INDEX `sys_authority_authority_id`(`sys_authority_authority_id`) USING BTREE, + INDEX `data_authority_id`(`data_authority_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of sys_data_authority_id -- ---------------------------- -INSERT INTO `sys_data_authority_id` VALUES (2, 2); -INSERT INTO `sys_data_authority_id` VALUES (2, 6); -INSERT INTO `sys_data_authority_id` VALUES (2, 8); -INSERT INTO `sys_data_authority_id` VALUES (6, 2); -INSERT INTO `sys_data_authority_id` VALUES (6, 6); -INSERT INTO `sys_data_authority_id` VALUES (8, 2); -INSERT INTO `sys_data_authority_id` VALUES (8, 6); -INSERT INTO `sys_data_authority_id` VALUES (8, 8); - --- ---------------------------- --- Table structure for sys_menus --- ---------------------------- -DROP TABLE IF EXISTS `sys_menus`; -CREATE TABLE `sys_menus` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, - `created_at` timestamp(0) NULL DEFAULT NULL, - `updated_at` timestamp(0) NULL DEFAULT NULL, - `deleted_at` timestamp(0) NULL DEFAULT NULL, - `menu_level` int(10) UNSIGNED NULL DEFAULT NULL, - `authority_id` int(10) UNSIGNED NULL DEFAULT NULL, - `path` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `hidden` tinyint(1) NULL DEFAULT NULL, - `component` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `parent_id` int(10) UNSIGNED NULL DEFAULT NULL, - `menu_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `sort` int(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_menus_deleted_at`(`deleted_at`) USING BTREE, - INDEX `idx_sys_menus_deleted_at`(`deleted_at`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 616 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; - --- ---------------------------- --- Records of sys_menus --- ---------------------------- -INSERT INTO `sys_menus` VALUES (231, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 999, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', 0, '1', '仪表盘', 1); -INSERT INTO `sys_menus` VALUES (232, '2019-09-19 22:06:17', '2020-04-06 12:10:18', NULL, 0, 999, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', 0, '2', '测试菜单', 2); -INSERT INTO `sys_menus` VALUES (451, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 8881, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', 0, '1', '仪表盘', 1); -INSERT INTO `sys_menus` VALUES (452, '2019-09-19 22:06:38', '2019-12-12 16:51:31', NULL, 0, 8881, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', 0, '3', '超级管理员', 3); -INSERT INTO `sys_menus` VALUES (453, '2019-09-19 22:11:53', '2019-09-19 22:11:53', NULL, 0, 8881, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', 3, '4', '角色管理', 1); -INSERT INTO `sys_menus` VALUES (454, '2019-09-19 22:13:18', '2019-12-12 16:57:20', NULL, 0, 8881, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', 3, '5', '菜单管理', 2); -INSERT INTO `sys_menus` VALUES (455, '2019-09-19 22:13:36', '2019-12-12 16:57:30', NULL, 0, 8881, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 3, '6', 'api管理', 3); -INSERT INTO `sys_menus` VALUES (456, '2019-10-09 15:12:29', '2019-12-12 16:57:25', NULL, 0, 8881, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', 3, '17', '用户管理', 4); -INSERT INTO `sys_menus` VALUES (458, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 8881, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', 0, '18', '个人信息', 4); -INSERT INTO `sys_menus` VALUES (459, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 8881, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', 0, '19', '示例文件', 6); -INSERT INTO `sys_menus` VALUES (460, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 8881, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', 19, '20', '表格示例', 1); -INSERT INTO `sys_menus` VALUES (461, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 8881, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', 19, '21', '表单示例', 2); -INSERT INTO `sys_menus` VALUES (462, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 8881, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', 19, '22', '富文本编辑器', 3); -INSERT INTO `sys_menus` VALUES (463, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 8881, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 19, '23', 'excel导入导出', 4); -INSERT INTO `sys_menus` VALUES (464, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 8881, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', 19, '26', '上传下载', 5); -INSERT INTO `sys_menus` VALUES (465, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 8881, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', 19, '33', '断点续传', 6); -INSERT INTO `sys_menus` VALUES (466, '2020-02-24 19:48:37', '2020-03-27 20:05:39', NULL, 0, 8881, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', 19, '34', '客户列表(资源示例)', 7); -INSERT INTO `sys_menus` VALUES (503, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 9528, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', 0, '1', '仪表盘', 1); -INSERT INTO `sys_menus` VALUES (504, '2019-09-19 22:06:17', '2020-04-06 12:10:18', NULL, 0, 9528, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', 0, '2', '测试菜单', 2); -INSERT INTO `sys_menus` VALUES (505, '2019-09-19 22:06:38', '2019-12-12 16:51:31', NULL, 0, 9528, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', 0, '3', '超级管理员', 3); -INSERT INTO `sys_menus` VALUES (506, '2019-09-19 22:11:53', '2019-09-19 22:11:53', NULL, 0, 9528, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', 3, '4', '角色管理', 1); -INSERT INTO `sys_menus` VALUES (507, '2019-09-19 22:13:18', '2019-12-12 16:57:20', NULL, 0, 9528, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', 3, '5', '菜单管理', 2); -INSERT INTO `sys_menus` VALUES (508, '2019-09-19 22:13:36', '2019-12-12 16:57:30', NULL, 0, 9528, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 3, '6', 'api管理', 3); -INSERT INTO `sys_menus` VALUES (509, '2019-10-09 15:12:29', '2019-12-12 16:57:25', NULL, 0, 9528, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', 3, '17', '用户管理', 4); -INSERT INTO `sys_menus` VALUES (512, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 9528, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', 0, '18', '个人信息', 4); -INSERT INTO `sys_menus` VALUES (513, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 9528, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', 0, '19', '示例文件', 6); -INSERT INTO `sys_menus` VALUES (514, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 9528, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', 19, '20', '表格示例', 1); -INSERT INTO `sys_menus` VALUES (515, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 9528, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', 19, '21', '表单示例', 2); -INSERT INTO `sys_menus` VALUES (516, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 9528, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', 19, '22', '富文本编辑器', 3); -INSERT INTO `sys_menus` VALUES (517, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 9528, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 19, '23', 'excel导入导出', 4); -INSERT INTO `sys_menus` VALUES (518, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 9528, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', 19, '26', '上传下载', 5); -INSERT INTO `sys_menus` VALUES (519, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 9528, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', 19, '33', '断点续传', 6); -INSERT INTO `sys_menus` VALUES (520, '2020-02-24 19:48:37', '2020-03-27 20:05:38', NULL, 0, 9528, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', 19, '34', '客户列表(资源示例)', 7); -INSERT INTO `sys_menus` VALUES (580, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 9999, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', 0, '1', '仪表盘', 1); -INSERT INTO `sys_menus` VALUES (581, '2019-09-19 22:06:17', '2020-04-06 12:10:18', NULL, 0, 9999, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', 0, '2', '测试菜单', 2); -INSERT INTO `sys_menus` VALUES (582, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 9999, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', 0, '18', '个人信息', 4); -INSERT INTO `sys_menus` VALUES (583, '2020-03-29 21:31:03', '2020-03-29 21:31:03', NULL, 0, 9999, 'systemTools', 'systemTools', 0, 'view/systemTools/index.vue', '系统工具', 's-cooperation', 0, '38', '系统工具', 5); -INSERT INTO `sys_menus` VALUES (584, '2020-03-29 21:35:10', '2020-03-29 21:35:10', NULL, 0, 9999, 'autoCode', 'autoCode', 0, 'view/systemTools/autoCode/index.vue', '代码生成器', 'cpu', 38, '40', '代码生成器', 1); -INSERT INTO `sys_menus` VALUES (585, '2020-03-29 21:36:26', '2020-03-29 21:36:26', NULL, 0, 9999, 'formCreate', 'formCreate', 0, 'view/systemTools/formCreate/index.vue', '表单生成器', 'magic-stick', 38, '41', '表单生成器', 2); -INSERT INTO `sys_menus` VALUES (586, '2020-04-02 14:19:36', '2020-04-02 14:20:16', NULL, 0, 9999, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-operation', 38, '42', '系统配置', 3); -INSERT INTO `sys_menus` VALUES (587, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 9999, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', 0, '19', '示例文件', 6); -INSERT INTO `sys_menus` VALUES (588, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 9999, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', 19, '20', '表格示例', 1); -INSERT INTO `sys_menus` VALUES (589, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 9999, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', 19, '21', '表单示例', 2); -INSERT INTO `sys_menus` VALUES (590, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 9999, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', 19, '22', '富文本编辑器', 3); -INSERT INTO `sys_menus` VALUES (591, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 9999, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 19, '23', 'excel导入导出', 4); -INSERT INTO `sys_menus` VALUES (592, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 9999, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', 19, '26', '上传下载', 5); -INSERT INTO `sys_menus` VALUES (593, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 9999, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', 19, '33', '断点续传', 6); -INSERT INTO `sys_menus` VALUES (594, '2020-02-24 19:48:37', '2020-03-27 20:10:02', NULL, 0, 9999, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', 19, '34', '客户列表(资源示例)', 7); -INSERT INTO `sys_menus` VALUES (595, '2019-09-19 22:05:18', '2020-04-02 22:33:49', NULL, 0, 888, 'dashbord', 'dashbord', 0, 'view/dashbord/index.vue', '仪表盘', 'setting', 0, '1', '仪表盘', 1); -INSERT INTO `sys_menus` VALUES (596, '2019-09-19 22:06:17', '2020-04-06 12:10:18', NULL, 0, 888, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', 0, '2', '测试菜单', 2); -INSERT INTO `sys_menus` VALUES (597, '2019-09-19 22:06:38', '2019-12-12 16:51:31', NULL, 0, 888, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', 0, '3', '超级管理员', 3); -INSERT INTO `sys_menus` VALUES (598, '2019-09-19 22:11:53', '2019-09-19 22:11:53', NULL, 0, 888, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', 3, '4', '角色管理', 1); -INSERT INTO `sys_menus` VALUES (599, '2019-09-19 22:13:18', '2019-12-12 16:57:20', NULL, 0, 888, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', 3, '5', '菜单管理', 2); -INSERT INTO `sys_menus` VALUES (600, '2019-09-19 22:13:36', '2019-12-12 16:57:30', NULL, 0, 888, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 3, '6', 'api管理', 3); -INSERT INTO `sys_menus` VALUES (601, '2019-10-09 15:12:29', '2019-12-12 16:57:25', NULL, 0, 888, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', 3, '17', '用户管理', 4); -INSERT INTO `sys_menus` VALUES (602, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 888, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', 0, '18', '个人信息', 4); -INSERT INTO `sys_menus` VALUES (603, '2020-03-29 21:31:03', '2020-03-29 21:31:03', NULL, 0, 888, 'systemTools', 'systemTools', 0, 'view/systemTools/index.vue', '系统工具', 's-cooperation', 0, '38', '系统工具', 5); -INSERT INTO `sys_menus` VALUES (604, '2020-03-29 21:35:10', '2020-03-29 21:35:10', NULL, 0, 888, 'autoCode', 'autoCode', 0, 'view/systemTools/autoCode/index.vue', '代码生成器', 'cpu', 38, '40', '代码生成器', 1); -INSERT INTO `sys_menus` VALUES (605, '2020-03-29 21:36:26', '2020-03-29 21:36:26', NULL, 0, 888, 'formCreate', 'formCreate', 0, 'view/systemTools/formCreate/index.vue', '表单生成器', 'magic-stick', 38, '41', '表单生成器', 2); -INSERT INTO `sys_menus` VALUES (606, '2020-04-02 14:19:36', '2020-04-02 14:20:16', NULL, 0, 888, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-operation', 38, '42', '系统配置', 3); -INSERT INTO `sys_menus` VALUES (607, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 888, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', 0, '19', '示例文件', 6); -INSERT INTO `sys_menus` VALUES (608, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 888, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', 19, '20', '表格示例', 1); -INSERT INTO `sys_menus` VALUES (609, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 888, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', 19, '21', '表单示例', 2); -INSERT INTO `sys_menus` VALUES (611, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 888, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', 19, '22', '富文本编辑器', 3); -INSERT INTO `sys_menus` VALUES (612, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 888, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 19, '23', 'excel导入导出', 4); -INSERT INTO `sys_menus` VALUES (613, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 888, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', 19, '26', '上传下载', 5); -INSERT INTO `sys_menus` VALUES (614, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 888, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', 19, '33', '断点续传', 6); -INSERT INTO `sys_menus` VALUES (615, '2020-02-24 19:48:37', '2020-03-27 20:10:02', NULL, 0, 888, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', 19, '34', '客户列表(资源示例)', 7); +INSERT INTO `sys_data_authority_id` VALUES ('888', '888'); +INSERT INTO `sys_data_authority_id` VALUES ('888', '8881'); +INSERT INTO `sys_data_authority_id` VALUES ('888', '9528'); -- ---------------------------- -- Table structure for sys_users @@ -4205,7 +4155,7 @@ CREATE TABLE `sys_users` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_users_deleted_at`(`deleted_at`) USING BTREE, INDEX `idx_sys_users_deleted_at`(`deleted_at`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of sys_users @@ -4256,4 +4206,10 @@ CREATE TABLE `sys_workflows` ( -- ---------------------------- INSERT INTO `sys_workflows` VALUES (8, '2019-12-09 15:20:21', '2019-12-09 15:20:21', NULL, '测试改版1', 'test', '123123'); +-- ---------------------------- +-- View structure for authority_menu +-- ---------------------------- +DROP VIEW IF EXISTS `authority_menu`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `authority_menu` AS select `sys_base_menus`.`created_at` AS `created_at`,`sys_base_menus`.`updated_at` AS `updated_at`,`sys_base_menus`.`deleted_at` AS `deleted_at`,`sys_base_menus`.`menu_level` AS `menu_level`,`sys_base_menus`.`parent_id` AS `parent_id`,`sys_base_menus`.`path` AS `path`,`sys_base_menus`.`name` AS `name`,`sys_base_menus`.`hidden` AS `hidden`,`sys_base_menus`.`component` AS `component`,`sys_base_menus`.`title` AS `title`,`sys_base_menus`.`icon` AS `icon`,`sys_base_menus`.`sort` AS `sort`,`sys_authority_menus`.`sys_base_menu_id` AS `menu_id`,`sys_authority_menus`.`sys_authority_authority_id` AS `authority_id` from (`sys_authority_menus` join `sys_base_menus` on((`sys_authority_menus`.`sys_base_menu_id` = `sys_base_menus`.`id`))); + SET FOREIGN_KEY_CHECKS = 1; diff --git a/README.md b/README.md index e2ab03a3..5b8537a0 100644 --- a/README.md +++ b/README.md @@ -1,253 +1,260 @@ - -
- -
-
- - - - - -
- -## 开发文档 -[在线文档](http://doc.henrongyi.top/) [http://doc.henrongyi.top/](http://doc.henrongyi.top/) - -本模板使用前端ui框架为 element-ui https://element.eleme.cn/#/zh-CN 前端组件可查看elementUi文档使用 - -## 基本介绍 ->GIN-VUE-ADMIN是一个基于vue和gin开发的全栈前后端分离的后台管理系统,拥有jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供了多种示例文件,让大家把更多时间专注在业务开发上。 - -## 技术选型 -1. 后端采用golang框架gin,快速搭建基础restful风格API - -2. 前端项目采用VUE框架,构建基础页面 - -3. 数据库采用Mysql(5.6.44)版本不同可能会导致SQL导入失败 - -4. 使用redis实现记录当前活跃用户的jwt令牌并实现多点登录限制 - -5. 使用swagger构建自动化文档 - -6. 使用fsnotify和viper实现json格式配置文件 - -7. 使用logrus实现日志记录 - -8. 使用gorm实现对数据库的基本操作 - -## 项目目录 - -``` - ├─QMPlusServer (后端文件夹) - │ ├─cmd (启动文件) - │ ├─config (配置包) - │ ├─controller (api和servers存放位置) - │ ├─db (数据库脚本) - │ ├─docs (swagger文档目录) - │ ├─init (初始化路由 数据库 日志等) - │ ├─log (日志存放地址) - │ ├─middleware (中间件) - │ ├─model (结构体层) - │ ├─router (路层) - │ ├─static (静态文件--配置文件 casbin模型等) - │ ├─tools (后端工具包) - │ └─tpl (自动化代码模板) - └─QMPlusVuePage (前端文件) - ├─public (发布模板) - └─src - ├─api (向后台发送ajax的封装层) - ├─assets (静态文件) - ├─components(组件) - ├─router (前端路由) - ├─store (vuex 状态管理仓) - ├─style (通用样式文件) - ├─utils (前端工具库) - └─view (前端页面) - -``` - -## 主要功能 -1. 权限管理:基于jwt和casbin实现的权限管理 - -2. 文件上传下载:实现基于七牛云的文件上传操作(需提前注册七牛云账号) (为了方便大家测试,我公开了自己的七牛测试号的各种重要token,恳请大家不要乱传东西) - -3. 分页封装:等装了分页方法,实现分页接口并且复制粘贴就可使用分页,前端分页mixin封装 分页方法调用mixins即可 - -4. 用户管理:系统管理员分配用户角色和角色权限。 - -5. 角色管理:创建权限控制的主要对象,可以给角色分配不同api权限和菜单权限。 - -6. 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。 - -7. api管理:不同用户可调用的api接口的权限不同。 - -8. 配置管理:配置文件可前台修改(测试环境不开放此功能) - -9. 富文本编辑器:富文本编辑器,MarkDown编辑器功能嵌入 - -10. 条件搜索:增加条件搜索示例 前端文件参考src\view\superAdmin\api\api.vue 后台文件参考 model\dnModel\api.go √ - -11. 多点登录限制:体验需要再 static\config中 把 system中的useMultipoint 修改为 true(需要自行配置redis和config中的redis参数)(测试阶段,有bug请及时反馈) - -12. 分片长传:提供文件分片上传和大文件分片上传功能示例 - -13. 表单生成器:表单生成器借助 [@form-generator](https://github.com/JakHuang/form-generator) - -14. 代码生成器:后台基础逻辑以及简单curd的代码生成器 - -## 计划任务 -1. 导入,导出Excel - -2. Echart图表支持 - -3. 工作流,任务交接功能开发 - -4. 单独前端使用模式以及数据模拟 -## 使用说明 -1. golang api server 基于go.mod 如果golang版本低于1.11 请自行升级golang版本 - -2. 支持go.mod的golang版本在运行go list 和 编译之前都会自动下载所需要的依赖包 - -3. go server建议使用goland运行 减少出错可能性 - -4. 前端项目node建议高于V8.6.0 - -5. 到前端项目目录下运行 npm i 安装所需依赖 - -6. 依赖安装完成直接运行 npm run serve即可启动项目 - -7. 如果要使用swagger自动化文档 首先需要安装 swagger - -```` -go get -u github.com/swaggo/swag/cmd/swag -```` - -由于国内没法安装到X包下面的东西 如果可以翻墙 上面的命令就可以让你安心使用swagger了 -如果没有翻墙的办法那就先装一下 gopm - -```` -go get -v -u github.com/gpmgo/gopm -```` - -此时你就可以使用 gopm了 -这时候执行 - -```` -gopm get -g -v github.com/swaggo/swag/cmd/swag -```` - -等待安装完成以后 -到我们GOPATH下面的/src/github.com/swaggo/swag/cmd/swag路径 -执行 - -```` -go install -```` - -安装完成过后在项目目录下运行 - -```` -swag init -```` - -项目文件夹下面会有 doc文件夹出现 - -这时候登录 localhost:8888/swagger/index.html - -就可以看到 swagger文档啦 - -## 团队博客 - https://blog.henrongyi.top,内有前端框架教学视频,GOLANG基础入门视频正在筹备中。 - 如果觉得项目对您有所帮助可以添加我的个人微信:shouzi_1994,欢迎您提出宝贵的需求。 - -## docker镜像 - 感谢 [@chenlinzhong](https://github.com/chenlinzhong)提供docker镜像 - - #启动容器 - docker run -itd --net=host --name=go_container shareclz/go_node /bin/bash; - - #进入容器 - docker exec -it go_container /bin/bash; - git clone https://github.com/piexlmax/gin-vue-admin.git /data1/www/htdocs/go/admin; - - #启动前端 - cd /data1/www/htdocs/go/admin/QMPlusVuePage; - cnpm i ; - npm run serve; - - #修改数据库配置 - vi /data1/www/htdocs/go/admin/QMPlusServer/static/dbconfig/config.json; - - #启动后端 - cd /data1/www/htdocs/go/admin/QMPlusServer; - go run main.go; - -## 一点建议 - 各位在clone项目以后,把db文件导入自己创建的库后,最好前往七牛云申请自己的空间地址, - 替换掉项目中的七牛云公钥,私钥,仓名和默认url地址,以免发生测试文件数据错乱 - -## 测试环境地址 - -测试环境:[http://qmplus.henrongyi.top/](http://qmplus.henrongyi.top/) - -账号/密码: admin/123456 - -## 环境搭建教学视频 - -腾讯视频:https://v.qq.com/x/page/e3008xjxqtu.html (等待最新视频录制) - -## 模板使用教学及展示视频 - -腾讯视频:https://v.qq.com/x/page/c3008y2ukba.html (等待最新视频录制) - -## 联系方式 - -| 奇淼 | krank666 |qq群| -| :---: | :---: | :---: | -| | | | - -
-

qq交流群:622360840

-

微信交流群可以添加任意一位开发者备注"加入gin-vue-admin交流群"

-
- -## 开发者(贡献者)列表 - -| 开发者 | 功能 | 姓名 | -| ---- | ---- | ---- | -| [@piexlmax](https://github.com/piexlmax) | 项目发起者 | 蒋\*兆 | -| [@krank666](https://github.com/krank666) | 前端联合作者 | 尹\* | -| [@1319612909](https://github.com/1319612909) | 前端css优化 | 杜\*兰 | -| [@granty1](https://github.com/granty1) | 代码积极贡献者 | 印\*林 | - -## 更新日志 - -| 日期 | 日志 | -| :---: | --- | -|2020/01/07| 角色增加数据资源功能 增加数据资源关联返回 演示环境代码已同步 开启了多点登录拦截 可能会被其他人挤掉 | -|2020/01/13| 增加了配置管理功能 此功能不发表至测试环境 待保护机制以及服务重启机制发开完成后才会发表值测试环境 请自行clone且导入sql体验 | -|2020/02/21| 修改了casbin的自定义鉴权方法,使其完全支持RESTFUL的/:params以及?query= 的接口模式 | -|2020/03/17| 增加了验证码功能 使用了 [@dchest/captcha](https://github.com/dchest/captcha)库 | -|2020/03/30| 代码生成器开发完成 表单生成器开发完成 使用了[@form-generator](https://github.com/JakHuang/form-generator) 库 | -|2020/04/01| 增加前端历史页签功能,增加(修改)条件查询示例,前端背景色调修改为白色 如不需要此功能可以在 view\/layout\/index\/ 屏蔽HistoryComponent 背景色调 为本页260行 &.el-main 的background | - -## golang基础教学视频录制中... -地址:https://space.bilibili.com/322210472/channel/detail?cid=108884 - - -## 捐赠 -如果你想请团队喝可乐 - -| 支付宝 | 微信 | -| :---: | :---: | -| ![markdown](http://qmplusimg.henrongyi.top/zfb.png "支付宝") | ![markdown](http://qmplusimg.henrongyi.top/wxzf.png "微信") | - - -## 捐赠列表 - -| 捐赠者 | 金额 | -| :---: | :---: | -| 老**途 | 100¥ | -| y*g | 10¥ | -| *波 | 50¥ | -| *雄 | 15¥ | + +
+ +
+
+ + + + + +
+ +## 开发文档 +[在线文档](http://doc.henrongyi.top/) [http://doc.henrongyi.top/](http://doc.henrongyi.top/) + +## 版本列表 +master为1.0版代码 + +[gin-vue-adminv 1.0稳定版](https://github.com/piexlmax/gin-vue-admin/tree/gin-vue-admin_v1_stable) v1.0保持更新和维护 + +[gin-vue-adminv 2.0测试版](https://github.com/piexlmax/gin-vue-admin) v2.0不再兼容v1.0 + +本模板使用前端ui框架为 element-ui https://element.eleme.cn/#/zh-CN 前端组件可查看elementUi文档使用 + +## 环境搭建教学视频 + +bilibili:https://www.bilibili.com/video/BV1Fg4y187Bw/ (v1.0版本视频,v2.0操作相同目录不同) + +## 使用教学及展示视频 + +bilibili:https://www.bilibili.com/video/BV16K4y1r7BD/ (v1.0版本视频,v2.0操作相同目录不同) + +## 基本介绍 +>GIN-VUE-ADMIN是一个基于vue和gin开发的全栈前后端分离的后台管理系统,拥有jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供了多种示例文件,让大家把更多时间专注在业务开发上。 + +## 技术选型 +1. 后端采用golang框架gin,快速搭建基础restful风格API + +2. 前端项目采用VUE框架,构建基础页面 + +3. 数据库采用Mysql(5.6.44)版本不同可能会导致SQL导入失败 + +4. 使用redis实现记录当前活跃用户的jwt令牌并实现多点登录限制 + +5. 使用swagger构建自动化文档 + +6. 使用fsnotify和viper实现json格式配置文件 + +7. 使用logrus实现日志记录 + +8. 使用gorm实现对数据库的基本操作 + +## 项目目录 + +``` + ├─QMPlusServer (后端文件夹) + │ ├─cmd (启动文件) + │ ├─config (配置包) + │ ├─controller (api和servers存放位置) + │ ├─db (数据库脚本) + │ ├─docs (swagger文档目录) + │ ├─init (初始化路由 数据库 日志等) + │ ├─log (日志存放地址) + │ ├─middleware (中间件) + │ ├─model (结构体层) + │ ├─router (路层) + │ ├─static (静态文件--配置文件 casbin模型等) + │ ├─tools (后端工具包) + │ └─tpl (自动化代码模板) + └─QMPlusVuePage (前端文件) + ├─public (发布模板) + └─src + ├─api (向后台发送ajax的封装层) + ├─assets (静态文件) + ├─components(组件) + ├─router (前端路由) + ├─store (vuex 状态管理仓) + ├─style (通用样式文件) + ├─utils (前端工具库) + └─view (前端页面) + +``` + +## 主要功能 +1. 权限管理:基于jwt和casbin实现的权限管理 + +2. 文件上传下载:实现基于七牛云的文件上传操作(需提前注册七牛云账号) (为了方便大家测试,我公开了自己的七牛测试号的各种重要token,恳请大家不要乱传东西) + +3. 分页封装:等装了分页方法,实现分页接口并且复制粘贴就可使用分页,前端分页mixin封装 分页方法调用mixins即可 + +4. 用户管理:系统管理员分配用户角色和角色权限。 + +5. 角色管理:创建权限控制的主要对象,可以给角色分配不同api权限和菜单权限。 + +6. 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。 + +7. api管理:不同用户可调用的api接口的权限不同。 + +8. 配置管理:配置文件可前台修改(测试环境不开放此功能) + +9. 富文本编辑器:富文本编辑器,MarkDown编辑器功能嵌入 + +10. 条件搜索:增加条件搜索示例 前端文件参考src\view\superAdmin\api\api.vue 后台文件参考 model\dnModel\api.go √ + +11. 多点登录限制:体验需要再 static\config中 把 system中的useMultipoint 修改为 true(需要自行配置redis和config中的redis参数)(测试阶段,有bug请及时反馈) + +12. 分片长传:提供文件分片上传和大文件分片上传功能示例 + +13. 表单生成器:表单生成器借助 [@form-generator](https://github.com/JakHuang/form-generator) + +14. 代码生成器:后台基础逻辑以及简单curd的代码生成器 + +## 计划任务 +1. 导入,导出Excel + +2. Echart图表支持 + +3. 工作流,任务交接功能开发 + +4. 单独前端使用模式以及数据模拟 +## 使用说明 +1. golang api server 基于go.mod 如果golang版本低于1.11 请自行升级golang版本 + +2. 支持go.mod的golang版本在运行go list 和 编译之前都会自动下载所需要的依赖包 + +3. go server建议使用goland运行 减少出错可能性 + +4. 前端项目node建议高于V8.6.0 + +5. 到前端项目目录下运行 npm i 安装所需依赖 + +6. 依赖安装完成直接运行 npm run serve即可启动项目 + +7. 如果要使用swagger自动化文档 首先需要安装 swagger + +```` +go get -u github.com/swaggo/swag/cmd/swag +```` + +由于国内没法安装到X包下面的东西 如果可以翻墙 上面的命令就可以让你安心使用swagger了 +如果没有翻墙的办法那就先装一下 gopm + +```` +go get -v -u github.com/gpmgo/gopm +```` + +此时你就可以使用 gopm了 +这时候执行 + +```` +gopm get -g -v github.com/swaggo/swag/cmd/swag +```` + +等待安装完成以后 +到我们GOPATH下面的/src/github.com/swaggo/swag/cmd/swag路径 +执行 + +```` +go install +```` + +安装完成过后在项目目录下运行 + +```` +swag init +```` + +项目文件夹下面会有 doc文件夹出现 + +这时候登录 localhost:8888/swagger/index.html + +就可以看到 swagger文档啦 + +## 团队博客 + https://blog.henrongyi.top,内有前端框架教学视频,GOLANG基础入门视频正在筹备中。 + 如果觉得项目对您有所帮助可以添加我的个人微信:shouzi_1994,欢迎您提出宝贵的需求。 + +## docker镜像 + 感谢 [@chenlinzhong](https://github.com/chenlinzhong)提供docker镜像 + + #启动容器 + docker run -itd --net=host --name=go_container shareclz/go_node /bin/bash; + + #进入容器 + docker exec -it go_container /bin/bash; + git clone https://github.com/piexlmax/gin-vue-admin.git /data1/www/htdocs/go/admin; + + #启动前端 + cd /data1/www/htdocs/go/admin/QMPlusVuePage; + cnpm i ; + npm run serve; + + #修改数据库配置 + vi /data1/www/htdocs/go/admin/QMPlusServer/static/dbconfig/config.json; + + #启动后端 + cd /data1/www/htdocs/go/admin/QMPlusServer; + go run main.go; + +## 一点建议 + 各位在clone项目以后,把db文件导入自己创建的库后,最好前往七牛云申请自己的空间地址, + 替换掉项目中的七牛云公钥,私钥,仓名和默认url地址,以免发生测试文件数据错乱 + +## 测试环境地址 + +测试环境:[http://qmplus.henrongyi.top/](http://qmplus.henrongyi.top/) + +账号/密码: admin/123456 + +## 联系方式 + +| 奇淼 | krank666 |qq群| +| :---: | :---: | :---: | +| | | | + +
+

qq交流群:622360840

+

微信交流群可以添加任意一位开发者备注"加入gin-vue-admin交流群"

+
+ +## 开发者(贡献者)列表 + +| 开发者 | 功能 | 姓名 | +| ---- | ---- | ---- | +| [@piexlmax](https://github.com/piexlmax) | 项目发起者 | 蒋\*兆 | +| [@krank666](https://github.com/krank666) | 前端联合作者 | 尹\* | +| [@1319612909](https://github.com/1319612909) | 前端css优化 | 杜\*兰 | +| [@granty1](https://github.com/granty1) | 代码积极贡献者 | 印\*林 | + +## 更新日志 + +| 日期 | 日志 | +| :---: | --- | +|2020/01/07| 角色增加数据资源功能 增加数据资源关联返回 演示环境代码已同步 开启了多点登录拦截 可能会被其他人挤掉 | +|2020/01/13| 增加了配置管理功能 此功能不发表至测试环境 待保护机制以及服务重启机制发开完成后才会发表值测试环境 请自行clone且导入sql体验 | +|2020/02/21| 修改了casbin的自定义鉴权方法,使其完全支持RESTFUL的/:params以及?query= 的接口模式 | +|2020/03/17| 增加了验证码功能 使用了 [@dchest/captcha](https://github.com/dchest/captcha)库 | +|2020/03/30| 代码生成器开发完成 表单生成器开发完成 使用了[@form-generator](https://github.com/JakHuang/form-generator) 库 | +|2020/04/01| 增加前端历史页签功能,增加(修改)条件查询示例,前端背景色调修改为白色 如不需要此功能可以在 view\/layout\/index\/ 屏蔽HistoryComponent 背景色调 为本页260行 &.el-main 的background | + +## golang基础教学视频录制中... +地址:https://space.bilibili.com/322210472/channel/detail?cid=108884 + + +## 捐赠 +如果你想请团队喝可乐 + +| 支付宝 | 微信 | +| :---: | :---: | +| ![markdown](http://qmplusimg.henrongyi.top/zfb.png "支付宝") | ![markdown](http://qmplusimg.henrongyi.top/wxzf.png "微信") | + + +## 捐赠列表 + +| 捐赠者 | 金额 | +| :---: | :---: | +| 老**途 | 100¥ | +| y*g | 10¥ | +| *波 | 50¥ | +| *雄 | 15¥ |