百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

go-admin开源项目,快速搭建一个管理后台系统,直接二次开发上线

haoteby 2024-12-04 11:29 13 浏览

#头条创作挑战赛#

目录

  • 1,关于go-admin
  • 2,使用go-admin进行构建
  • 3,使用go-admin进行数据库,后端初始化
  • 4,下载前端代码,进行node编译
  • 5,总结

1,关于go-admin


github地址:
https://github.com/go-admin-team/go-admin
国内:
https://gitee.com/go-admin-team/go-admin

一个非常不错的开源项目,完成度非常的高,基础的权限角色,组织机构都有了。

可以直接开发自己的业务模块,相关的代码了,减少了很多基础功能开发投入,节省了大量时间。非常不错。
基于Gin + Vue + Element UI OR Arco Design OR Ant Design的前后端分离权限管理系统,系统初始化极度简单,只需要配置文件中,修改数据库连接,系统支持多指令操作,迁移指令可以让初始化数据库信息变得更简单,服务指令可以很简单的启动api服务。

  • 多租户:系统默认支持多租户,按库分离,一个库一个租户。
  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组),数据结构展现支持数据权限。
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识,接口权限等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 参数管理:对系统动态配置常用参数。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 接口文档:根据业务代码自动生成相关的api接口文档。
  • 代码生成:根据数据表结构生成对应的增删改查相对应业务,全程可视化操作,让基本业务可以零代码实现。
  • 表单构建:自定义页面样式,拖拉拽实现页面布局。
  • 服务监控:查看一些服务器的基本信息。
  • 内容管理:demo功能,下设分类管理、内容管理。可以参考使用方便快速入门。
  • 定时任务:自动化任务,目前支持接口调用和函数调用。

2,使用go-admin进行构建


# https://goproxy.io/zh/
# 配置 GOPROXY 环境变量
export GOPROXY=https://proxy.golang.com.cn,direct

# 配置好 golang 代理执行:
# 最近 github 代码下载总是慢
git clone https://gitee.com/go-admin-team/go-admin.git

# 下载相关依赖
export GO111MODULE=on
go mod tidy

3,使用go-admin进行数据库,后端初始化


数据库使用 mysql 数据库,使用docker mysql 进行构建:

mysql:5.7 使用docker 启动,设置root密码是mysql

docker run --name mysqldb -v ${PWD}/data/mysqldb/data:/var/lib/mysql --restart=always \
        -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=go_admin -e TZ=Asia/Shanghai \
        -p 3306:3306 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

# 要是已经有了数据库,直接创建一个go_admin的数据库:
CREATE DATABASE IF NOT EXISTS `go_admin` CHARACTER SET utf8 COLLATE utf8_general_ci;

然后修改 config/settings.yml 数据库的配置文件:

...
    driver: mysql
    # 数据库连接字符串 mysql 缺省信息 charset=utf8&parseTime=True&loc=Local&timeout=1000ms
    source: root:mysql@tcp(127.0.0.1:3306)/go_admin?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
#  databases:

进行数据库初始化:


go run main.go migrate -c config/settings.yml
...
2022-11-21 23:00:32.789+0800 trace /home/test/newDisk1/go/src/go-admin/cmd/migrate/migration/version/1653638869132_migrate.go:44 [0.322ms] [rows:1] INSERT INTO `sys_migration` (`version`,`apply_time`) VALUES ('1653638869132','2022-11-21 23:00:32.79')
数据库基础数据初始化成功
2022/11/21 23:00:32 !!! config init

项目启动,端口8000

go run main.go server -c config/settings.yml

后端接口swagger 地址:
http://localhost:8000/swagger/admin/index.html#/

4,下载前端代码,进行node编译


首先要自己折腾个 node 环境,或者使用 node:14 镜像也可以。

配置 源,加速编译
# npm 源
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
# yarn 源
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
git clone https://gitee.com/go-admin-team/go-admin-ui.git

cd go-admin-ui
yarn install
# 启动开发环境:
yarn run dev 

端口:
  - Local:   http://localhost:9527/ 

数据初始化成功之后就可以看到后端管理界面了:

4,总结


Element UI vue体验:https://vue2.go-admin.dev

账号 / 密码: admin / 123456

非常强大的golang 管理系统,使用gin进行项目开发,同时完成了基本的权限,角色,日志管理等非常多的功能。还集成了swagger 接口开发。
非常容易使用,源代码已经开放了,直接可以用来做个内部系统然后再进行二次开发了。

很快就可以发布上线了,领导非常喜欢。

相关推荐

Chrome OS 41 用 Freon 取代 X11_chrome os atom

在刚发布的ChromeOS41里,除了常规的Wi-Fi稳定性提升(几乎所有系统的changelog里都会包含这一项)、访客模式壁纸等之外,还存在底层改变。这一更新中Google移除...

苹果iPad Pro再曝光 有望今年六月发布

自进入2015年以后,有关大屏iPad的消息便一直不绝于耳,之前就有不少媒体猜想这款全新的平板电脑将会在三月发布,不过可惜的是我么只在那次发布会上看到了MacBookPro。近日@Ubuntu团队便...

雷卯针对香橙派Orange Pi 5 Max开发板防雷防静电方案

一、应用场景高端平板、边缘计算、人工智能、云计算、AR/VR、智能安防、智能家居、Linux桌面计算机、Linux网络服务器、Android平板、Android游戏机...

Ubuntu Server无法更新问题解决_ubuntu server not found

上周老家的一台运行UbuntuServer的盒子无法连接上了,中秋这两天回来打开,顺手更新一下发现更新报错。提示`E:Releasefileforhttps://mirrors.aliyun...

虚幻引擎5正式版发布:古墓丽影&巫师新作采用、新一代实时渲染

机器之心报道编辑:杜伟、陈萍虚幻引擎5的目标是「助力各种规模的团队在视觉领域和互动领域挑战极限,施展无限潜能」。...

AMD Milan-X双路霄龙7773X平台基准测试曝光 CPU缓存总量超1.5GB

OpenBenchmarking基准测试数据库刚刚曝光了AMDMilan-X双路霄龙7773X平台的跑分成绩,虽然很快就被撤下,但我们还是知晓了高达1.6GB的总CPU缓存。早些时...

ROS机器人建模_ros机器人硬件搭建

...

全网最新的Dify(1.7.2)私有化离线部署教程(ARM架构)

Hello,大家好!近期工作中有涉及到Dify私有化离线部署,特别是针对于一些国产设备。因此特别整理了该教程,实测有效!有需要的小伙伴可以参考下!本文主要针对Dify1.7.2最新版本+国产操作系...

在ubuntu下新建asp.net core项目_创建ubuntu

本文一步步讲述在ubuntu下用visualstudiocode创建asp.netcore项目的过程。step1:环境操作系统:virtualbox下安装的lubuntu。请不要开启“硬件...

在晶晨A311D2处理器上进行Linux硬件视频编码
在晶晨A311D2处理器上进行Linux硬件视频编码

在KhadasVIM4AmogicA311D2SBC上,我更多的时间是在使用Ubuntu22.04。它的总体性能还不错,只不过缺少3D图形加速和硬件视...

2025-08-26 17:22 haoteby

Nacos3.0重磅来袭!全面拥抱AI,单机及集群模式安装详细教程!

之前和大家分享过JDK17的多版本管理及详细安装过程,然后在项目升级完jdk17后又发现之前的注册和配置中心nacos又用不了,原因是之前的nacos1.3版本的,版本太老了,已经无法适配当前新的JD...

电影质量级渲染来了!虚幻引擎5.3正式发布:已开放下载

快科技9月8日消息,日前,Unrealengine正式发布了虚幻引擎5.3,带来了大量全方位的改进。...

2025如何选购办公电脑?极摩客mini主机英特尔系列选购指南

当下,迷你主机的性能越来越强,品类也越来越多。但是CPU是不变的,基本都是AMD和英特尔的。有一个小伙伴在评论区提问,我应该如何在众多机器中选购一台符合自己的迷你主机呢?那今天我们优先把我们的系列,分...

ubuntu 20.04+RTX4060 Ti+CUDA 11.7+cudnn

ububtu添加国内源sudocp/etc/apt/sources.list/etc/apt/sources.list.backupsudovim/etc/apt/sources.lis...

Linux Mint 18将重新基于Ubuntu 16.04 带来更好硬件支持

项目负责人ClementLefebvre在本月6日披露了关于LinuxMint18“Sarah”操作系统的大量信息,包括带来全新扁平化体验的Mint-Y主题。而现在,这款将于年底之前上线的操作...