naive_admin项目实战03 基于Go语言的后端
01.使用Goland打开项目
02.使用Goland连接MySQL
03.执行SQL脚本
set names utf8mb4;
set foreign_key_checks = 0;
-- ----------------------------
-- table structure for permission
-- ----------------------------
drop table if exists `permission`;
create table `permission`
(
`id` int(11) not null auto_increment,
`name` varchar(255) character set utf8mb4 collate utf8mb4_general_ci not null,
`code` varchar(50) character set utf8mb4 collate utf8mb4_general_ci not null,
`type` varchar(255) character set utf8mb4 collate utf8mb4_general_ci not null,
`parentid` int(11) null default null,
`path` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`redirect` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`icon` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`component` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`layout` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`keepalive` tinyint(4) null default null,
`method` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`description` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`show` tinyint(4) not null default 1 comment '是否展示在页面菜单',
`enable` tinyint(4) not null default 1,
`order` int(11) null default null,
primary key (`id`) using btree,
unique index `idx_30e166e8c6359970755c5727a2` (`code`) using btree
) engine = innodb
auto_increment = 21
character set = utf8mb4
collate = utf8mb4_general_ci
row_format = dynamic;
-- ----------------------------
-- records of permission
-- ----------------------------
insert into `permission`
values (1, '资源管理', 'resource_mgt', 'menu', 2, '/pms/resource', null, 'i-fe:list',
'/src/views/pms/resource/index.vue', null, null, null, null, 1, 1, 1);
insert into `permission`
values (2, '系统管理', 'sysmgt', 'menu', null, null, null, 'i-fe:grid', null, null, null, null, null, 1, 1, 2);
insert into `permission`
values (3, '角色管理', 'rolemgt', 'menu', 2, '/pms/role', null, 'i-fe:user-check', '/src/views/pms/role/index.vue',
null, null, null, null, 1, 1, 2);
insert into `permission`
values (4, '用户管理', 'usermgt', 'menu', 2, '/pms/user', null, 'i-fe:user', '/src/views/pms/user/index.vue', null, 1,
null, null, 1, 1, 3);
insert into `permission`
values (5, '分配用户', 'roleuser', 'menu', 3, '/pms/role/user/:roleid', null, 'i-fe:user-plus',
'/src/views/pms/role/role-user.vue', null, null, null, null, 0, 1, 1);
insert into `permission`
values (6, '业务示例', 'demo', 'menu', null, null, null, 'i-fe:grid', null, null, null, null, null, 1, 1, 1);
insert into `permission`
values (7, '图片上传', 'imgupload', 'menu', 6, '/demo/upload', null, 'i-fe:image', '/src/views/demo/upload/index.vue',
null, 1, null, null, 1, 1, 2);
insert into `permission`
values (8, '个人资料', 'userprofile', 'menu', null, '/profile', null, 'i-fe:user', '/src/views/profile/index.vue', null,
null, null, null, 0, 1, 99);
insert into `permission`
values (9, '基础功能', 'base', 'menu', null, '/base', null, 'i-fe:grid', null, null, null, null, null, 1, 1, 0);
insert into `permission`
values (10, '基础组件', 'basecomponents', 'menu', 9, '/base/components', null, 'i-me:awesome',
'/src/views/base/index.vue', null, null, null, null, 1, 1, 1);
insert into `permission`
values (11, 'unocss', 'unocss', 'menu', 9, '/base/unocss', null, 'i-me:awesome', '/src/views/base/unocss.vue', null,
null, null, null, 1, 1, 2);
insert into `permission`
values (12, 'keepalive', 'keepalive', 'menu', 9, '/base/keep-alive', null, 'i-me:awesome',
'/src/views/base/keep-alive.vue', null, 1, null, null, 1, 1, 3);
insert into `permission`
values (13, '创建新用户', 'adduser', 'button', 4, null, null, null, null, null, null, null, null, 1, 1, 1);
insert into `permission`
values (14, '图标 icon', 'icon', 'menu', 9, '/base/icon', null, 'i-fe:feather', '/src/views/base/unocss-icon.vue', null,
null, null, null, 1, 1, 0);
insert into `permission`
values (15, 'memodal', 'testmodal', 'menu', 9, '/testmodal', null, 'i-me:dialog', '/src/views/base/test-modal.vue',
null, null, null, null, 1, 1, 5);
-- ----------------------------
-- table structure for profile
-- ----------------------------
drop table if exists `profile`;
create table `profile`
(
`id` int(11) not null auto_increment,
`gender` int(11) null default null,
`avatar` varchar(255) character set utf8mb4 collate utf8mb4_general_ci not null default 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif?imageview2/1/w/80/h/80',
`address` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`email` varchar(255) character set utf8mb4 collate utf8mb4_general_ci null default null,
`userid` int(11) not null,
`nickname` varchar(10) character set utf8mb4 collate utf8mb4_general_ci null default null,
primary key (`id`) using btree,
unique index `idx_a24972ebd73b106250713dcddd` (`userid`) using btree
) engine = innodb
auto_increment = 2
character set = utf8mb4
collate = utf8mb4_general_ci
row_format = dynamic;
-- ----------------------------
-- records of profile
-- ----------------------------
insert into `profile`
values (1, null, 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif?imageview2/1/w/80/h/80', null,
null, 1, 'admin');
-- ----------------------------
-- table structure for role
-- ----------------------------
drop table if exists `role`;
create table `role`
(
`id` int(11) not null auto_increment,
`code` varchar(50) character set utf8mb4 collate utf8mb4_general_ci not null,
`name` varchar(50) character set utf8mb4 collate utf8mb4_general_ci not null,
`enable` tinyint(4) not null default 1,
primary key (`id`) using btree,
unique index `idx_ee999bb389d7ac0fd967172c41` (`code`) using btree,
unique index `idx_ae4578dcaed5adff96595e6166` (`name`) using btree
) engine = innodb
auto_increment = 3
character set = utf8mb4
collate = utf8mb4_general_ci
row_format = dynamic;
-- ----------------------------
-- records of role
-- ----------------------------
insert into `role`
values (1, 'super_admin', '超级管理员', 1);
insert into `role`
values (2, 'role_qa', '质检员', 1);
-- ----------------------------
-- table structure for role_permissions_permission
-- ----------------------------
drop table if exists `role_permissions_permission`;
create table `role_permissions_permission`
(
`roleid` int(11) not null,
`permissionid` int(11) not null,
primary key (`roleid`, `permissionid`) using btree,
index `idx_b36cb2e04bc353ca4ede00d87b` (`roleid`) using btree,
index `idx_bfbc9e263d4cea6d7a8c9eb3ad` (`permissionid`) using btree
) engine = innodb
character set = utf8mb4
collate = utf8mb4_general_ci
row_format = dynamic;
-- ----------------------------
-- records of role_permissions_permission
-- ----------------------------
insert into `role_permissions_permission`
values (2, 1);
insert into `role_permissions_permission`
values (2, 2);
insert into `role_permissions_permission`
values (2, 3);
insert into `role_permissions_permission`
values (2, 4);
insert into `role_permissions_permission`
values (2, 5);
insert into `role_permissions_permission`
values (2, 9);
insert into `role_permissions_permission`
values (2, 10);
insert into `role_permissions_permission`
values (2, 11);
insert into `role_permissions_permission`
values (2, 12);
insert into `role_permissions_permission`
values (2, 14);
insert into `role_permissions_permission`
values (2, 15);
-- ----------------------------
-- table structure for user
-- ----------------------------
drop table if exists `user`;
create table `user`
(
`id` int(11) not null auto_increment,
`username` varchar(50) character set utf8mb4 collate utf8mb4_general_ci not null,
`password` varchar(255) character set utf8mb4 collate utf8mb4_general_ci not null,
`enable` tinyint(4) not null default 1,
`createtime` datetime(6) not null default current_timestamp(6),
`updatetime` datetime(6) not null default current_timestamp(6) on update current_timestamp(6),
primary key (`id`) using btree,
unique index `idx_78a916df40e02a9deb1c4b75ed` (`username`) using btree
) engine = innodb
auto_increment = 2
character set = utf8mb4
collate = utf8mb4_general_ci
row_format = dynamic;
-- ----------------------------
-- records of user
-- ----------------------------
insert into `user`
values (1, 'admin', '$2a$10$fsaafxttvvgxfikjqvaiv.1vpfq4v9hw298mcpldjgo829pr52a56', 1, '2023-11-18 16:18:59.150632',
'2023-11-18 16:18:59.150632');
-- ----------------------------
-- table structure for user_roles_role
-- ----------------------------
drop table if exists `user_roles_role`;
create table `user_roles_role`
(
`userid` int(11) not null,
`roleid` int(11) not null,
primary key (`userid`, `roleid`) using btree,
index `idx_5f9286e6c25594c6b88c108db7` (`userid`) using btree,
index `idx_4be2f7adf862634f5f803d246b` (`roleid`) using btree
) engine = innodb
character set = utf8mb4
collate = utf8mb4_general_ci
row_format = dynamic;
-- ----------------------------
-- records of user_roles_role
-- ----------------------------
insert into `user_roles_role`
values (1, 1);
insert into `user_roles_role`
values (1, 2);
set foreign_key_checks = 1;
04.修改.env
主要是修改数据库的配置,改为你自己的数据库地址。
Mysql="naive_admin:naive_admin_pass@tcp(127.0.0.1:3306)/naive_admin?charset=utf8&parseTime=True&loc=Local"
JWT_SIGNING_KEY="naive_admin_lksjxlckjlsd"
05.运行main.go
go run main.go
06.访问前端
参考本套教程的01,02文章。
浏览器访问:http://localhost:13200/#/login
默认账号密码是: admin 123456
登录成功
其他功能也能正常使用。
需要完整教程,私教课,录播课,加入知识星球等,可以私信我。