当前位置: 首页 > news >正文

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

登录成功
在这里插入图片描述
其他功能也能正常使用。
在这里插入图片描述

需要完整教程,私教课,录播课,加入知识星球等,可以私信我。

相关文章:

  • LearnOpenGL小练习(QOpenGLWidget版本)
  • 【杂谈】-大型语言模型对具身人工智能发展的推动与挑战
  • Apache Hive和Snowflake的`CREATE VIEW`语法和功能特性整理的对比表
  • 移动端六大语言速记:第5部分 - 面向对象编程(OOP)
  • 翻译: 人工智能如何让世界变得更美好三
  • 深入解析HTTP请求方法:Spring Boot实战与最佳实践
  • 【LeetCode 热题100】208:实现 Trie (前缀树)(详细解析)(Go语言版)
  • leetcode 53.Maximum Subarray
  • Docker学习--容器生命周期管理相关命令--run命令
  • Linux内核网络栈:数据发送流程解析
  • 每日壁纸更新 pc
  • 4.2 单相机引导机器人放料-仅考虑角度变化
  • FPGA实现4K MIPI视频解码H265压缩网络推流输出,基于IMX317+VCU架构,支持4K60帧,提供工程源码和技术支持
  • Unity启动画面去除教程:如何去除Unity的Splash Screen和水印
  • 嵌入式人工智能产品开发实战】(十八)—— 政安晨:小智AI的Websocket通信协议嵌入式终端代码解读
  • 《QDebug 2025年3月》
  • Qt中存储多规则形状图片
  • JAVA:利用 JSONPath 操作JSON数据的技术指南
  • 类的默认成员函数
  • 滤波---卡尔曼滤波
  • 仿励志一生网站整站源码 带数据/推广普通话海报
  • 建一个门户网站要多少钱/成都网站建设方案优化
  • 开宾馆做独家网站好吗/最彻底的手机优化软件
  • 无限流量网站建设/google chrome官网
  • 中国城乡住房建设厅网站首页/站长之家查询域名
  • 上海网站建设费用多少/国际新闻快报