GO项目实践一(gin + vue)
GO项目实践一(gin + vue)基于go-gin + vue开发的简单权限管理系统1. 基本介绍之前一直做Java开发,Go语言语法看过两三次,但是没动手写点东西总觉得不对劲,于是有了这个项目,当是练练手。1.1 基本功能这个系统主要实现的是一个简单的权限管理系统,主要功能如下:登录认证用户管理角色管理菜单管理客户端管理API管理基于以上功能实现前端页面菜单和按钮级权限,后端API权限校验1.
GO项目实践一(gin + vue)
基于go-gin + vue
开发的简单权限管理系统
1. 基本介绍
之前一直做Java开发,Go语言语法看过两三次,但是没动手写点东西总觉得不对劲,于是有了这个项目,当是练练手。
1.1 基本功能
这个系统主要实现的是一个简单的权限管理系统,主要功能如下:
- 登录认证
- 用户管理
- 角色管理
- 菜单管理
- 客户端管理
- API管理
基于以上功能实现前端页面菜单和按钮级权限,后端API权限校验
1.2 系统预览
-
用户管理
-
角色管理
-
菜单管理
-
API管理
-
客户端管理
1.3 体验
系统部署到个人云主机上了,可以戳链接体验,入门级云主机,请轻点~
2. 技术栈
项目前后端分离,使用restful接口进行交互。
1. 前端
前端主要使用的是vue.js
框架,UI是饿了么开源的ElementUI
。本项目前端是基于vue-element-admin进行的二次开发,个人是个前端渣渣,觉得这个开源后台系统模版对后端开发者来说十分的友好,值得学习~
PS:其实这个前端模块是我之前另一个Spring Cloud项目用的前端模块,偷一下懒,直接搬过来用。因为都是前后端分离的,只要保证后端接口一致,然后做了点适配修改就可以直接用了🤓🤓
2. 后端
后端主要用到开源库有以下
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.git
3.1 数据准备
- 将
june/doc/june.sql
导入到自己的mysql数据库 - 修改
june/config/config.yml
,将数据库配置指向自己的数据库
3.2 启动后端服务
- 移动到june目录,执行go命令
go run main.go
- 查看日志或者
curl http://localhost:8000/login
,验证下后端服务是否正常跑起来了
3.3 启动前端服务
- 移动到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
更多推荐
所有评论(0)