「今日推荐」
百度面试官:“说说 Redis 为什么引入多线程?有什么优势?”
来源 | 整理自终码一生
该项目是一个基于vue和gin开发的全栈前后端分离的后台管理系统,集成jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供多种示例文件,让您把更多时间专注在业务开发上。

1
技术选型
前端:用基于vue的Element-UI构建基础页面。
后端:用Gin快速搭建基础restful风格API,Gin是一个go语言编写的Web框架。
数据库:采用MySql(5.6.44)版本,使用gorm实现对数据库的基本操作,已添加对sqlite数据库的支持。
缓存:使用Redis实现记录当前活跃用户的jwt令牌并实现多点登录限制。
API文档:使用Swagger构建自动化文档。
配置文件:使用fsnotify和viper实现yaml格式的配置文件。
日志:使用go-logging实现日志记录。
2
主要功能
权限管理:基于jwt和casbin实现的权限管理
文件上传下载:实现基于七牛云的文件上传操作(为了方便大家测试,我公开了自己的七牛测试号的各种重要token,恳请大家不要乱传东西)
分页封装:前端使用mixins封装分页,分页方法调用mixins即可
用户管理:系统管理员分配用户角色和角色权限。
角色管理:创建权限控制的主要对象,可以给角色分配不同api权限和菜单权限。
菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。
api管理:不同用户可调用的api接口的权限不同。
配置管理:配置文件可前台修改(测试环境不开放此功能)。
富文本编辑器:MarkDown编辑器功能嵌入。
条件搜索:增加条件搜索示例。
restful示例:可以参考用户管理模块中的示例API。
多点登录限制:需要在config.yaml中把system中的useMultipoint修改为true(需要自行配置Redis和Config中的Redis参数,测试阶段,有bug请及时反馈)。
分片长传:提供文件分片上传和大文件分片上传功能示例。
表单生成器:表单生成器借助 @form-generator。
代码生成器:后台基础逻辑以及简单curd的代码生成器。
3
项目架构

4
目录结构
├─server (后端文件夹)
│ ├─api (API)
│ ├─config (配置包)
│ ├─core (內核)
│ ├─docs (swagger文档目录)
│ ├─global (全局对象)
│ ├─initialiaze (初始化)
│ ├─middleware (中间件)
│ ├─model (结构体层)
│ ├─resource (资源)
│ ├─router (路由)
│ ├─service (服务)
│ └─utils (公共功能)
└─web (前端文件)
├─public (发布模板)
└─src (源码包)
├─api (向后台发送ajax的封装层)
├─assets (静态文件)
├─components(组件)
├─router (前端路由)
├─store (vuex 状态管理仓)
├─style (通用样式文件)
├─utils (前端工具库)
└─view (前端页面)
5
后台截图
|
|
|
|
|
|
|
|
6
最后
该项目功能非常完善,是一个基于gin+vue搭建的后台管理系统框架,已经完成了大部分我们需要的功能和模块,五分钟一套CURD前后端代码,目前已支持VUE3,非常适合接私活和学习使用。
需要的小伙伴,关注下面的公众号,后台回复关键词【0406】获取源码下载和项目相关信息。
👆关注公众号回复【0406】👆
👆获取项目相关信息👆
最热门的文章
2021-04-04
2021-04-02
2021-04-01
2021-03-30
2021-03-28










