基于go-gin + vue开发的简单权限管理系统
1. 基本介绍1.1 基本功能之前一直做Java开发,Go语言语法看过两三次,但是没动手写点东西总觉得不对劲,于是有了这个项目,当是练练手。
这个系统主要实现的是一个简单的权限管理系统,主要功能如下:
- 登录认证
- 用户管理
- 角色管理
- 菜单管理
- 客户端管理
- API管理
基于以上功能实现前端页面菜单和按钮级权限,后端API权限校验
1.2 系统预览-
用户管理
-
角色管理
-
菜单管理
-
API管理
-
客户端管理
2. 技术栈系统部署到个人云主机上了,可以戳链接体验,入门级云主机,请轻点~
项目前后端分离,使用restful接口进行交互。
1. 前端前端主要使用的是vue.js框架,UI是饿了么开源的ElementUI。本项目前端是基于vue-element-admin进行的二次开发,个人是个前端渣渣,觉得这个开源后台系统模版对后端开发者来说十分的友好,值得学习~
2. 后端PS:其实这个前端模块是我之前另一个Spring Cloud项目用的前端模块,偷一下懒,直接搬过来用。因为都是前后端分离的,只要保证后端接口一致,然后做了点适配修改就可以直接用了邏邏
后端主要用到开源库有以下
- gin-gonic/gin : web框架
- jinzhu/gorm : 对象关系映射库
- appleboy/gin-jwt: 基于jwt实现登录
- facebookgo/inject: 依赖注入
可以先学习一下以上相关库的使用
3. 本地跑起来前提条件:
- 安装好go 1.13环境和node环境
- mysql数据库
包管理是go modules, 可参考这篇文章,是一个系列文章,推荐~
先把两个项目克隆到本地
# 后端模块 git clone git@github.com:PGshen/june.git # 前端模块 git clone git@github.com:PGshen/june-web.git3.1 数据准备
- 将june/doc/june.sql导入到自己的mysql数据库
- 修改june/config/config.yml,将数据库配置指向自己的数据库
- 移动到june目录,执行go命令
go run main.go
- 查看日志或者curl http://localhost:8000/login,验证下后端服务是否正常跑起来了
- 移动到june-web目录,先执行如下命令下载node的相关依赖
npm install
- 以开发模式启动
npm run dev
正常的话会自动打开http://localhost:9527,这样就OK了~
- 如果修改了后端的默认端口,那么需要在前端配置june-web/vue.config.js那里同步修改服务端指向
proxy: {
[process.env.VUE_APP_base_API]: {
// 修改target指向
target: `http://127.0.0.1:8000`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_base_API]: ''
}
}
},
项目地址
后端 https://github.com/PGshen/june
前端 https://github.com/PGshen/june-web



