【开源】基于 Vue 和 Gin 开发的前后端分离的开源框架
myzbx 2025-03-26 14:26 10 浏览
项目介绍
Gin-vue-admin是一个基于vue和gin开发的全栈前后端分离的开发基础平台,旨在快速搭建中小型项目。拥有jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供了多种示例文件,让大家把更多时间专注在业务开发上。
技术选型
- 前端:使用Vue框架结合Element UI构建基础页面,提供友好的用户界面。
- 后端:采用Gin框架快速搭建RESTful风格的API接口,提高开发效率。
- 数据库:支持MySQL(5.7及以上版本),使用gorm进行ORM操作,简化数据库操作。
- 缓存:使用Redis存储活跃用户的JWT令牌,实现多点登录限制。
- API文档:通过Swagger自动生成API文档,便于前后端联调。
主要功能
- 权限管理:基于jwt和casbin实现细粒度的权限控制。
- 文件上传下载:支持多种云存储平台的文件上传操作,如七牛云、阿里云、腾讯云。
- 分页封装:前端使用mixins封装分页功能,简化分页操作。
- 用户与角色管理:系统管理员可分配用户角色和角色权限,实现灵活的权限管理。
- 动态菜单:根据用户角色动态生成菜单,实现不同角色不同菜单的展示。
- API管理:不同用户可调用的API接口权限不同,增强系统的安全性。
- 配置管理:支持在线修改配置文件,提高系统的灵活性。
系统架构图
目录结构
├── server
├── api (api层)
│ └── v1 (v1版本接口)
├── config (配置包)
├── core (核心文件)
├── docs (swagger文档目录)
├── global (全局对象)
├── initialize (初始化)
│ └── internal (初始化内部函数)
├── middleware (中间件层)
├── model (模型层)
│ ├── request (入参结构体)
│ └── response (出参结构体)
├── packfile (静态文件打包)
├── resource (静态资源文件夹)
│ ├── excel (excel导入导出默认路径)
│ ├── page (表单生成器)
│ └── template (模板)
├── router (路由层)
├── service (service层)
├── source (source层)
└── utils (工具包)
├── timer (定时器接口封装)
└── upload (oss接口封装)
web
├── babel.config.js
├── Dockerfile
├── favicon.ico
├── index.html -- 主页面
├── limit.js -- 助手代码
├── package.json -- 包管理器代码
├── src -- 源代码
│ ├── api -- api 组
│ ├── App.vue -- 主页面
│ ├── assets -- 静态资源
│ ├── components -- 全局组件
│ ├── core -- gva 组件包
│ │ ├── config.js -- gva网站配置文件
│ │ ├── gin-vue-admin.js -- 注册欢迎文件
│ │ └── global.js -- 统一导入文件
│ ├── directive -- v-auth 注册文件
│ ├── main.js -- 主文件
│ ├── permission.js -- 路由中间件
│ ├── pinia -- pinia 状态管理器,取代vuex
│ │ ├── index.js -- 入口文件
│ │ └── modules -- modules
│ │ ├── dictionary.js
│ │ ├── router.js
│ │ └── user.js
│ ├── router -- 路由声明文件
│ │ └── index.js
│ ├── style -- 全局样式
│ │ ├── base.scss
│ │ ├── basics.scss
│ │ ├── element_visiable.scss -- 此处可以全局覆盖 element-plus 样式
│ │ ├── iconfont.css -- 顶部几个icon的样式文件
│ │ ├── main.scss
│ │ ├── mobile.scss
│ │ └── newLogin.scss
│ ├── utils -- 方法包库
│ │ ├── asyncRouter.js -- 动态路由相关
│ │ ├── btnAuth.js -- 动态权限按钮相关
│ │ ├── bus.js -- 全局mitt声明文件
│ │ ├── date.js -- 日期相关
│ │ ├── dictionary.js -- 获取字典方法
│ │ ├── downloadImg.js -- 下载图片方法
│ │ ├── format.js -- 格式整理相关
│ │ ├── image.js -- 图片相关方法
│ │ ├── page.js -- 设置页面标题
│ │ ├── request.js -- 请求
│ │ └── stringFun.js -- 字符串文件
| ├── view -- 主要view代码
| | ├── about -- 关于我们
| | ├── dashboard -- 面板
| | ├── error -- 错误
| | ├── example --上传案例
| | ├── iconList -- icon列表
| | ├── init -- 初始化数据
| | | ├── index -- 新版本
| | | ├── init -- 旧版本
| | ├── layout -- layout约束页面
| | | ├── aside
| | | ├── bottomInfo -- bottomInfo
| | | ├── screenfull -- 全屏设置
| | | ├── setting -- 系统设置
| | | └── index.vue -- base 约束
| | ├── login --登录
| | ├── person --个人中心
| | ├── superAdmin -- 超级管理员操作
| | ├── system -- 系统检测页面
| | ├── systemTools -- 系统配置相关页面
| | └── routerHolder.vue -- page 入口页面
├── vite.config.js -- vite 配置文件
└── yarn.lock
在线演示
- 在线预览: http://demo.gin-vue-admin.com
- 测试用户名:admin,测试密码:123456
开源地址
https://github.com/flipped-aurora/gin-vue-admin
相关推荐
- 06Ni9DR容器板,06Ni9DR钢板切割,06Ni9DR钢板规格尺寸
-
06Ni9DR容器板,06Ni9DR钢板切割,06Ni9DR钢板规格尺寸06Ni9DR是低温容器钢板,含有9%Ni的钢板,06Ni9DR因为钢板Ni含量在百分之0.9左右又被叫作9镍钢或9Ni钢,06...
- TOS5系统命令行部署Docker版网心云
-
Docker版网心云也就官主叫做容器魔方,由网心云推出的一款docker容器镜像软件,目前支持:铁威马TOS、koolshare、群晖、树莓派等支持docker的设备(arm32、aarch64、...
- 诞生比航母还早,能造的国家屈指可数
-
蒸汽弹射器是航空母舰上的飞机起飞装置,用于舰载机蒸汽弹射起飞,使用一个平的甲板作为飞机跑道。起飞时一个蒸汽驱动的弹射装置带动飞机在两秒钟内达到起飞速度。蒸气弹射器是一个非常复杂的系统工程,是由起飞系统...
- S550QL high strength steel plate、S550QL相当于国内什么材质
-
S550QLhighstrengthsteelplate、S550QL相当于国内什么材质S550QLhighstrengthsteelplate调质高屈服强度结构钢。S550QL相当于...
- 特别关注|中垂变形对VLCC油轮载货量的影响
-
VLCC油轮营运过程中,在船抵达装运港之前,船长需要计算和申报本航次的最大装货量,影响货物最大装货量的各相关因素主要有:●该轮在装货港所允许的最大吃水;●货舱舱容和油品密度;●VLCC航线通常...
- 南海车改装音响奥迪S5升级弗莱德FP-6A功放—永日汽车音响
-
奥迪S5的原车音响效果也比较普通的,其实跟其他日产国产车好不了多少,整体表现含糊不清;所以很难满足今天来的奥迪车主聆听需求,为了享受到更好的音乐,为爱车进行音响升级。奥迪S5音响升级配置:前声场:弗莱...
- 奥迪S5轿跑:354马力+3.0T奥迪进口车,落地近70万,选它还是A7?
-
前几天我们介绍了奥迪S5,今天我们拿到的是奥迪的S5,可谓是A5的性能版本,往上还有RS5,S5落地近70万,和4缸的奥迪A7同一价位,相当于2台进口A5低配的价格,而这个价位,可供选择的余地太多了...
- S5定时器与IEC定时器差异巨大,资料分散难入门,你真的懂了吗?
-
你有没有想过,小小的定时器,在工业自动化里竟然扮演着如此重要的角色?它就像一位精准的指挥家,掌控着生产线的节奏。今天,我们就来聊聊PLC编程里两种常见的定时器:S5定时器和IEC定时器。它们看起来差不...
- LOL英雄联盟S5新赛季季前赛野区入门手册
-
本文摘要:随着S5季前赛的到来,LOL各个方面都做了不小的改动,而其中改动最明显的莫过于野区,现在从各方面来带大家认识一下改版后的野区。首先是野怪的伤害有了非常大的提升并且惩戒的CD时间被提高到了一分...
- 六个重点 搞懂全新Audi A5 Coupe改在哪
-
由于Audi正式进入新一世代后的车款各个都有著令人印象深刻的亮眼表现,品牌旗下的双门轿跑车系A5Coupe的改款同样让人期待不已,也就在2016年6月3日,全新一代AudiA5以及S5终于正式的与...
- 入门级视频拍摄设备该如何选?(拍视频设备推荐性价比)
-
如今的年轻人都很热衷于视频制作,B站各种领域的up主层出不穷,而短视频领域,大家也开始倾向于使用专业的设备去拍摄。对于很多想要开启自己视频拍摄生涯的小伙伴来说,如何选择一台入门级的视频拍摄设备很关键,...
- pb管规格及用途这么多,你知道多少?
-
导语:谈到PB管,估计大家都只知其一不知其二,pb管在生活中到底扮演着什么样的角色呢?它给我们的生活带来了那些便利呢?下面让小编带领大家来一块了解pb管的奥秘!pb管的材料是聚丁烯(PB)树脂,开始工...
- Bcup S5今日开赛,Life又复出了(b05赛制)
-
由知名电竞解说BBC(直播间抖音搜索:BBC张宏圣)主办的Bcup魔兽争霸赛S5将于2024年1月3日20点正式开战。目前,S5分组已经全部出炉,下面让我们一起看下。S5最大的亮点莫过于前职业选手Li...
- 无主之地2:仍然可用的SHiFT代码(2023年1月15日)
-
兑换方式需要首先注册SHiFT账号,可以在SHiFT网站注册,也可以在游戏中注册。SHiFT网址:https://shift.gearboxsoftware.com游戏中注册:主菜单>...
- 三年LOL资深玩家,教你在S5玩转VN
-
做为一个资深的LOL玩家,我已经玩了有几年了,从12年那会就已经开始玩了。在LOL当中我最喜欢的adc就是薇恩没有之一。每次玩LOL,最后一盘必定是薇恩。在这说说个人玩VN的经验跟大家一起分享下,不认...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 基础教程 (29)
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 选择器 (30)
- CSS 轮廓 (30)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 中级教程 (30)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)