项目介绍
一款 Go 语言基于Beego、Vue、ElementUI、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式,同时为了敏捷快速开发,框架特地集成了代码生成器,完全自主研发了自定义GO后端服务模板和前端Vue自定义模板,可以根据已建好的表结构,可以快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发方式,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、可插拔式的敏捷开发框架。
项目特点
- 模块化、松耦合
- 模块丰富、开箱即用
- 简洁易用、快速接入
- 文档详尽、易于维护
- 自顶向下、体系化设计
- 统一框架、统一组件、降低选择成本
- 开发规范、设计模式、代码分层模型
- 强大便捷的开发工具链
- 完善的本地中文化支持
- 设计为团队及企业使用
内置模块
- 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。
- 角色管理:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 职级管理:主要管理用户的职级。
- 岗位管理:主要管理用户担任职务。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
- 字典管理:对系统中常用的较为固定的数据进行统一维护。
- 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。
- 通知公告:系统通知公告信息发布维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 代码生成:一键生成模块CRUD的功能,包括后端Go和前端Vue等相关代码。
- 案例演示:常规代码生成器一键生成后的演示案例。
软件信息
- 软件名称:EasyGoAdmin敏捷开发框架Beego+EleVue版本
系统演示
账号 | 密码 | 操作权限 |
---|---|---|
admin | 123456 | 演示环境无法进行修改删除操作 |
版本说明
版本名称 | 版本说明 | 版本地址 |
---|---|---|
GoFrame+Layui混编版 | 采用GoFrame、Layui等框架研发 | https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_Layui |
Beego+Layui混编版 | 采用Beego、Layui等框架研发 | https://gitee.com/easygoadmin/EasyGoAdmin_Beego_Layui |
Gin+Layui混编版 | 采用Gin、Layui等框架研发 | https://gitee.com/easygoadmin/EasyGoAdmin_Gin_Layui |
Iris+Layui混编版 | 采用Iris、Layui等框架研发 | https://gitee.com/easygoadmin/EasyGoAdmin_Iris_Layui |
GoFrame+EleVue前后端分离版 | 采用GoFrame、Vue、ElementUI等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_EleVue |
Beego+EleVue前后端分离版 | 采用Beego、Vue、ElementUI等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_Beego_EleVue |
Gin+EleVue前后端分离版 | 采用Gin、Vue、ElementUI等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_Gin_EleVue |
Iris+EleVue前后端分离版 | 采用Iris、Vue、ElementUI等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_Iris_EleVue |
GoFrame+AntdVue前后端分离版 | 采用GoFrame、Vue、AntDesign等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_AntdVue |
Beego+AntdVue前后端分离版 | 采用Beego、Vue、AntDesign等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_Beego_AntdVue |
Gin+AntdVue前后端分离版 | 采用Gin、Vue、AntDesign等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_Gin_AntdVue |
Iris+AntdVue前后端分离版 | 采用Iris、Vue、AntDesign等框架研发前后端分离版本 | https://gitee.com/easygoadmin/EasyGoAdmin_Iris_AntdVue |
项目结构
easygoadmin
|-- conf
| `-- app.conf
|-- controllers
| `-- default.go
|-- main.go
|-- models
|-- routers
| `-- router.go
|-- static
| |-- css
| |-- img
| `-- js
|-- tests
| `-- default_test.go
`-- views
`-- index.tpl
路由注册
func main() {
orm.Debug = true
// 启动应用
beego.Run()
}
func init() {
// 跨域解决方案
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
// 允许访问所有源
AllowAllOrigins: true,
// 可选参数"GET", "POST", "PUT", "DELETE", "OPTIONS" (*为所有)
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
// 指的是允许的Header的种类
AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
// 公开的HTTP标头列表
ExposeHeaders: []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
// 如果设置,则允许共享身份验证凭据,例如cookie
AllowCredentials: true,
}))
// 登录验证中间件
middleware.CheckLogin()
// 系统登录
//beego.Router("/", &controllers.IndexController{}, "get:Index")
beego.Router("/login", &controllers.LoginController{}, "post:Login")
beego.Router("/captcha", &controllers.LoginController{}, "get:Captcha")
beego.Router("/updateUserInfo", &controllers.IndexController{}, "put:UpdateUserInfo")
beego.Router("/updatePwd", &controllers.IndexController{}, "put:UpdatePwd")
beego.Router("/logout", &controllers.IndexController{}, "get:Logout")
// 系统主页
beego.Router("/index/menu", &controllers.IndexController{}, "get:Menu")
beego.Router("/index/user", &controllers.IndexController{}, "get:User")
// 普通图片上传
beego.Router("/upload/uploadImage", &controllers.UploadController{}, "post:UploadImage")
// 职级管理
beego.Router("/level/list", &controllers.LevelController{}, "get:List")
beego.Router("/level/detail/:id", &controllers.LevelController{}, "get:Detail")
beego.Router("/level/add", &controllers.LevelController{}, "post:Add")
beego.Router("/level/update", &controllers.LevelController{}, "put:Update")
beego.Router("/level/delete/:id", &controllers.LevelController{}, "delete:Delete")
beego.Router("/level/status", &controllers.LevelController{}, "put:Status")
beego.Router("/level/getLevelList", &controllers.LevelController{}, "get:GetLevelList")
// 岗位管理
beego.Router("/position/list", &controllers.PositionController{}, "get:List")
beego.Router("/position/detail/:id", &controllers.PositionController{}, "get:Detail")
beego.Router("/position/add", &controllers.PositionController{}, "post:Add")
beego.Router("/position/update", &controllers.PositionController{}, "put:Update")
beego.Router("/position/delete/:id", &controllers.PositionController{}, "delete:Delete")
beego.Router("/position/status", &controllers.PositionController{}, "put:Status")
beego.Router("/position/getPositionList", &controllers.PositionController{}, "get:GetPositionList")
// 角色管理
beego.Router("/role/list", &controllers.RoleController{}, "get:List")
beego.Router("/role/detail/:id", &controllers.RoleController{}, "get:Detail")
beego.Router("/role/add", &controllers.RoleController{}, "post:Add")
beego.Router("/role/update", &controllers.RoleController{}, "put:Update")
beego.Router("/role/delete/:id", &controllers.RoleController{}, "delete:Delete")
beego.Router("/role/status", &controllers.RoleController{}, "put:Status")
beego.Router("/role/getRoleList", &controllers.RoleController{}, "get:GetRoleList")
}
特别鸣谢
感谢Beego、Vue、ElementUI等优秀开源项目。
版权声明
本文章版权归作者所有,未经作者允许禁止任何转载、采集,作者保留一切追究的权利;