增加菜单项与验证

master
xiao.ming 2021-11-01 18:19:42 +08:00
parent 3b0763eec7
commit 944b273bbb
9 changed files with 460 additions and 44 deletions

226
README.md
View File

@ -1,5 +1,5 @@
# goweb-gin-demo
go web脚手架
go web脚手架, [数据库及表结构](./resource/sql/weekly_report.sql)
# [web框架gin](https://gin-gonic.com/zh-cn/docs/introduction/)
## 特性
@ -75,6 +75,7 @@ func main() {
# 通过Swagger测试接口
[官方地址](https://github.com/swaggo) ,其中包含`swag`可执行程序和`gin-swagger`go web模块, [使用手册](https://github.com/swaggo/gin-swagger)
查看地址为: **http://IP:8888/swagger/index.html**
```
// @BasePath /api/v1
@ -200,6 +201,18 @@ docs/
}
```
jwt token
<br>
<div align=center>
<img src="./resource/md_res/jwt.png" width="60%" height="60%" title="JWT Token"></img>
</div>
<br>
**用户-角色权限-菜单项|API|资源对应关系图**
<br>
![](./resource/md_res/user-auth.jpg)
# 获取菜单项
api接口`/api/menu/getMenu`
@ -235,11 +248,6 @@ x-user-id: 1
+---------------------+---------------------+------------+--------------+----------------+-----------+----------------+
```
返回数据样本
```
{
@ -248,67 +256,212 @@ x-user-id: 1
        "menus":[
            {
                "ID":1,
                "CreatedAt":"2021-10-25T14:53:31Z",
                "UpdatedAt":"2021-10-25T14:53:31Z",
                "CreatedAt":"2021-11-01T11:14:12Z",
                "UpdatedAt":"2021-11-01T11:14:14Z",
                "parentId":"0",
                "path":"dashboard",
                "name":"dashboard",
                "path":"",
                "name":"周报",
                "hidden":false,
                "component":"view/dashboard/index.vue",
                "component":"",
                "sort":1,
                "meta":{
                    "keepAlive":false,
                    "defaultMenu":false,
                    "title":"仪表盘",
                    "icon":"setting",
                    "title":"周报",
                    "icon":"",
                    "closeTab":false
                },
                "authoritys":null,
                "menuId":"1",
                "children":null,
                "children":[
                    {
                        "ID":2,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"1",
                        "path":"",
                        "name":"查看周报",
                        "hidden":false,
                        "component":"",
                        "sort":1,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"查看周报",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"2",
                        "children":null,
                        "parameters":[
                        ]
                    },
                    {
                        "ID":3,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"1",
                        "path":"",
                        "name":"写周报",
                        "hidden":false,
                        "component":"",
                        "sort":2,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"写周报",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"3",
                        "children":null,
                        "parameters":[
                        ]
                    },
                    {
                        "ID":4,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"1",
                        "path":"",
                        "name":"统计导出",
                        "hidden":false,
                        "component":"",
                        "sort":3,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"统计导出",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"4",
                        "children":null,
                        "parameters":[
                        ]
                    },
                    {
                        "ID":5,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"1",
                        "path":"",
                        "name":"模板编辑",
                        "hidden":false,
                        "component":"",
                        "sort":4,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"模板编辑",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"5",
                        "children":null,
                        "parameters":[
                        ]
                    }
                ],
                "parameters":[
                ]
            },
            {
                "ID":3,
                "CreatedAt":"2021-10-25T14:53:31Z",
                "UpdatedAt":"2021-10-25T14:53:31Z",
                "ID":6,
                "CreatedAt":"2021-11-01T11:16:40Z",
                "UpdatedAt":"2021-11-01T11:16:43Z",
                "parentId":"0",
                "path":"admin",
                "name":"superAdmin",
                "path":"",
                "name":"设置",
                "hidden":false,
                "component":"view/superAdmin/index.vue",
                "sort":3,
                "component":"",
                "sort":2,
                "meta":{
                    "keepAlive":false,
                    "defaultMenu":false,
                    "title":"超级管理员",
                    "icon":"user-solid",
                    "title":"设置",
                    "icon":"",
                    "closeTab":false
                },
                "authoritys":null,
                "menuId":"3",
                "menuId":"6",
                "children":[
                    {
                        "ID":4,
                        "CreatedAt":"2021-10-25T14:53:31Z",
                        "UpdatedAt":"2021-10-25T14:53:31Z",
                        "parentId":"3",
                        "path":"authority",
                        "name":"authority",
                        "ID":7,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"6",
                        "path":"",
                        "name":"用户密码",
                        "hidden":false,
                        "component":"view/superAdmin/authority/authority.vue",
                        "component":"",
                        "sort":1,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"角色管理",
                            "icon":"s-custom",
                            "title":"用户密码",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"4",
                        "menuId":"7",
                        "children":null,
                        "parameters":[
                        ]
                    },
                    {
                        "ID":8,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"6",
                        "path":"",
                        "name":"统计规则",
                        "hidden":false,
                        "component":"",
                        "sort":2,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"统计规则",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"8",
                        "children":null,
                        "parameters":[
                        ]
                    },
                    {
                        "ID":9,
                        "CreatedAt":"2021-11-01T11:16:40Z",
                        "UpdatedAt":"2021-11-01T11:16:43Z",
                        "parentId":"6",
                        "path":"",
                        "name":"用户管理",
                        "hidden":false,
                        "component":"",
                        "sort":3,
                        "meta":{
                            "keepAlive":false,
                            "defaultMenu":false,
                            "title":"用户管理",
                            "icon":"",
                            "closeTab":false
                        },
                        "authoritys":null,
                        "menuId":"9",
                        "children":null,
                        "parameters":[
@ -365,10 +518,7 @@ if ok == true {
results, err := e.BatchEnforce([][]interface{}{{"alice", "data1", "read"}, {"bob", "data2", "write"}, {"jack", "data3", "read"}})
```
f
# 文件上传及下载
# 反射reflect

View File

@ -28,7 +28,7 @@ casbin:
# system configuration
system:
env: 'public' # Change to "develop" to skip authentication for development mode
env: 'develop' # Change to "develop" to skip authentication for development mode # public
addr: 8888
db-type: 'mysql'
oss-type: 'local' # 控制oss选择走本期还是 七牛等其他仓 自行增加其他oss仓可以在 server/utils/upload/upload.go 中 NewOss函数配置
@ -41,11 +41,10 @@ captcha:
img-height: 80
# mysql connect configuration
# 未初始化之前请勿手动修改数据库信息如果一定要手动初始化请看https://www.github.com/flipped-aurora/gin-vue-admin/server.com/docs/first
mysql:
path: ''
path: '10.25.17.236:3306'
config: 'parseTime=true'
db-name: 'gva'
db-name: 'weekly_report'
username: 'root'
password: 'root'
max-idle-conns: 10

View File

@ -1 +1 @@
log/2021-10-29.log
log/2021-11-01.log

40
log/2021-11-01.log Normal file
View File

@ -0,0 +1,40 @@
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:35:15.728 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:35:15.730 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:37:50.685 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:37:56.723 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:37:56.729 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:39:24.549 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:39:27.841 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:39:27.842 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:39:40.386 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:39:43.200 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:39:43.201 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:43:00.886 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:43:05.782 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:43:05.783 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:44:39.572 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:44:43.674 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:44:43.675 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:53:20.469 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:53:26.535 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:53:26.537 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:57:11.338 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:57:16.622 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:57:16.631 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:57:56.918 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:58:10.380 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 11:58:10.381 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 12:00:42.239 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 12:00:42.240 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 12:18:01.957 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 12:18:01.961 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 12:18:12.715 error /Users/zero/work/mygithub/goweb-gin-demo/api/web/menu.go:28 获取失败! {"err": "Error 1146: Table 'weekly_report.authority_menu' doesn't exist"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 13:12:08.274 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 13:59:12.657 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 13:59:12.660 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 18:07:17.857 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 18:07:17.858 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 18:12:46.454 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 18:12:49.860 info /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:43 router register success
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 18:12:49.861 info /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
[github.com/flipped-aurora/gin-vue-admin/server]2021/11/01 - 18:13:19.271 error /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection

View File

@ -22,7 +22,7 @@ func CasbinHandler() gin.HandlerFunc {
// 获取用户的角色
sub := waitUse.AuthorityId
e := casbinService.Casbin()
// 判断策略中是否存在
// 判断策略中是否存在, 查表匹配,比如: sub:100 ,obt:"/menu/getMenu", act:"Post"
success, _ := e.Enforce(sub, obj, act)
if global.GLOBAL_CONFIG.System.Env == "develop" || success {
c.Next()

View File

@ -66,6 +66,7 @@ func JWTAuth() gin.HandlerFunc {
_ = jwtService.SetRedisJWT(newToken, newClaims.Username)
}
}
c.Set("claims", claims)
c.Next()
}

BIN
resource/md_res/jwt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

View File

@ -0,0 +1,226 @@
/*
Navicat Premium Data Transfer
Source Server : g1_mysql
Source Server Type : MySQL
Source Server Version : 50736
Source Host : g1:3306
Source Schema : weekly_report
Target Server Type : MySQL
Target Server Version : 50736
File Encoding : 65001
Date: 01/11/2021 17:25:45
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for casbin_rule
-- ----------------------------
DROP TABLE IF EXISTS `casbin_rule`;
CREATE TABLE `casbin_rule` (
`p_type` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`v0` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`v1` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`v2` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`v3` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`v4` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`v5` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`ptype` varchar(100) COLLATE utf8_bin DEFAULT NULL,
UNIQUE KEY `idx_casbin_rule` (`ptype`,`v0`,`v1`,`v2`,`v3`,`v4`,`v5`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of casbin_rule
-- ----------------------------
BEGIN;
INSERT INTO `casbin_rule` VALUES ('p', '100', '/menu/getMenu', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/jwt/jsonInBlacklist', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/base/login', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/user/register', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/user/changePassword', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/user/setUserAuthority', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/user/setUserInfo', 'PUT', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '100', '/user/getUserInfo', 'GET', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/menu/getMenu', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/jwt/jsonInBlacklist', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/base/login', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/user/register', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/user/changePassword', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/user/setUserAuthority', 'POST', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/user/setUserInfo', 'PUT', '', '', '', NULL);
INSERT INTO `casbin_rule` VALUES ('p', '200', '/user/getUserInfo', 'GET', '', '', '', NULL);
COMMIT;
-- ----------------------------
-- Table structure for jwt_blacklists
-- ----------------------------
DROP TABLE IF EXISTS `jwt_blacklists`;
CREATE TABLE `jwt_blacklists` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
`jwt` text COLLATE utf8_bin COMMENT 'jwt',
PRIMARY KEY (`id`),
KEY `idx_jwt_blacklists_deleted_at` (`deleted_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of jwt_blacklists
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for sys_authorities
-- ----------------------------
DROP TABLE IF EXISTS `sys_authorities`;
CREATE TABLE `sys_authorities` (
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
`authority_id` varchar(90) COLLATE utf8_bin NOT NULL COMMENT '角色ID',
`authority_name` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '角色名',
`parent_id` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '父角色ID',
`default_router` varchar(191) COLLATE utf8_bin DEFAULT 'dashboard' COMMENT '默认菜单',
PRIMARY KEY (`authority_id`),
UNIQUE KEY `authority_id` (`authority_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of sys_authorities
-- ----------------------------
BEGIN;
INSERT INTO `sys_authorities` VALUES ('2021-11-01 10:57:52', '2021-11-01 10:57:55', NULL, '100', '管理员', '0', 'dashboard');
INSERT INTO `sys_authorities` VALUES ('2021-11-01 11:02:49', '2021-11-01 11:02:51', NULL, '200', '普通用户', '0', 'dashboard');
COMMIT;
-- ----------------------------
-- Table structure for sys_authority_menus
-- ----------------------------
DROP TABLE IF EXISTS `sys_authority_menus`;
CREATE TABLE `sys_authority_menus` (
`sys_base_menu_id` bigint(20) unsigned NOT NULL,
`sys_authority_authority_id` varchar(90) COLLATE utf8_bin NOT NULL COMMENT '角色ID',
PRIMARY KEY (`sys_base_menu_id`,`sys_authority_authority_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of sys_authority_menus
-- ----------------------------
BEGIN;
INSERT INTO `sys_authority_menus` VALUES (1, '100');
INSERT INTO `sys_authority_menus` VALUES (1, '200');
INSERT INTO `sys_authority_menus` VALUES (2, '100');
INSERT INTO `sys_authority_menus` VALUES (2, '200');
INSERT INTO `sys_authority_menus` VALUES (3, '100');
INSERT INTO `sys_authority_menus` VALUES (3, '200');
INSERT INTO `sys_authority_menus` VALUES (4, '100');
INSERT INTO `sys_authority_menus` VALUES (5, '100');
INSERT INTO `sys_authority_menus` VALUES (6, '100');
INSERT INTO `sys_authority_menus` VALUES (6, '200');
INSERT INTO `sys_authority_menus` VALUES (7, '100');
INSERT INTO `sys_authority_menus` VALUES (7, '200');
INSERT INTO `sys_authority_menus` VALUES (8, '100');
INSERT INTO `sys_authority_menus` VALUES (9, '100');
COMMIT;
-- ----------------------------
-- Table structure for sys_base_menus
-- ----------------------------
DROP TABLE IF EXISTS `sys_base_menus`;
CREATE TABLE `sys_base_menus` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
`menu_level` bigint(20) unsigned DEFAULT NULL,
`parent_id` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '父菜单ID',
`path` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '路由path',
`name` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '路由name',
`hidden` tinyint(1) DEFAULT NULL COMMENT '是否在列表隐藏',
`component` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '对应前端文件路径',
`sort` bigint(20) DEFAULT NULL COMMENT '排序标记',
`keep_alive` tinyint(1) DEFAULT NULL COMMENT '附加属性',
`default_menu` tinyint(1) DEFAULT NULL COMMENT '附加属性',
`title` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '附加属性',
`icon` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '附加属性',
`close_tab` tinyint(1) DEFAULT NULL COMMENT '附加属性',
PRIMARY KEY (`id`),
KEY `idx_sys_base_menus_deleted_at` (`deleted_at`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of sys_base_menus
-- ----------------------------
BEGIN;
INSERT INTO `sys_base_menus` VALUES (1, '2021-11-01 11:14:12', '2021-11-01 11:14:14', NULL, NULL, '0', NULL, '周报', NULL, NULL, 1, NULL, NULL, '周报', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (2, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '1', NULL, '查看周报', NULL, NULL, 1, NULL, NULL, '查看周报', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (3, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '1', NULL, '写周报', NULL, NULL, 2, NULL, NULL, '写周报', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (4, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '1', NULL, '统计导出', NULL, NULL, 3, NULL, NULL, '统计导出', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (5, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '1', NULL, '模板编辑', NULL, NULL, 4, NULL, NULL, '模板编辑', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (6, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '0', NULL, '设置', NULL, NULL, 2, NULL, NULL, '设置', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (7, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '6', NULL, '用户密码', NULL, NULL, 1, NULL, NULL, '用户密码', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (8, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '6', NULL, '统计规则', NULL, NULL, 2, NULL, NULL, '统计规则', NULL, NULL);
INSERT INTO `sys_base_menus` VALUES (9, '2021-11-01 11:16:40', '2021-11-01 11:16:43', NULL, NULL, '6', NULL, '用户管理', NULL, NULL, 3, NULL, NULL, '用户管理', NULL, NULL);
COMMIT;
-- ----------------------------
-- Table structure for sys_user_authority
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_authority`;
CREATE TABLE `sys_user_authority` (
`sys_user_id` bigint(20) unsigned NOT NULL,
`sys_authority_authority_id` varchar(90) COLLATE utf8_bin NOT NULL COMMENT '角色ID',
PRIMARY KEY (`sys_user_id`,`sys_authority_authority_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of sys_user_authority
-- ----------------------------
BEGIN;
INSERT INTO `sys_user_authority` VALUES (1, '100');
INSERT INTO `sys_user_authority` VALUES (2, '200');
COMMIT;
-- ----------------------------
-- Table structure for sys_users
-- ----------------------------
DROP TABLE IF EXISTS `sys_users`;
CREATE TABLE `sys_users` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
`uuid` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '用户UUID',
`username` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '用户登录名',
`password` varchar(191) COLLATE utf8_bin DEFAULT NULL COMMENT '用户登录密码',
`nick_name` varchar(191) COLLATE utf8_bin DEFAULT '系统用户' COMMENT '用户昵称',
`side_mode` varchar(191) COLLATE utf8_bin DEFAULT 'dark' COMMENT '用户侧边主题',
`header_img` varchar(191) COLLATE utf8_bin DEFAULT 'https://qmplusimg.henrongyi.top/gva_header.jpg' COMMENT '用户头像',
`base_color` varchar(191) COLLATE utf8_bin DEFAULT '#fff' COMMENT '基础颜色',
`active_color` varchar(191) COLLATE utf8_bin DEFAULT '#1890ff' COMMENT '活跃颜色',
`authority_id` varchar(90) COLLATE utf8_bin DEFAULT '888' COMMENT '用户角色ID',
PRIMARY KEY (`id`),
KEY `idx_sys_users_deleted_at` (`deleted_at`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of sys_users
-- ----------------------------
BEGIN;
INSERT INTO `sys_users` VALUES (1, '2021-11-01 14:53:31', '2021-11-01 14:53:31', NULL, '8e600b7f-3297-4979-a445-d218205ef9a6', 'admin', 'e10adc3949ba59abbe56e057f20f883e', '超级管理员', 'dark', '', '#fff', '#1890ff', '100');
INSERT INTO `sys_users` VALUES (2, '2021-11-01 14:53:31', '2021-11-01 14:53:31', NULL, '9d9ab82d-81a7-433b-9ea1-bde1c4f1b990', 'user', 'e10adc3949ba59abbe56e057f20f883e', '普通用户', 'dark', '', '#fff', '#1890ff', '200');
COMMIT;
-- ----------------------------
-- 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`.`id` AS `id`,`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_authority_authority_id` AS `authority_id`,`sys_authority_menus`.`sys_base_menu_id` AS `menu_id`,`sys_base_menus`.`keep_alive` AS `keep_alive`,`sys_base_menus`.`close_tab` AS `close_tab`,`sys_base_menus`.`default_menu` AS `default_menu` 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;