• 基于Go语言快速搭建Iris+Xorm后台管理系统


    项目介绍

    一款 Go 语言基于Iris、Layui、MySQL等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架。

    项目特点

    • 模块化、松耦合
    • 模块丰富、开箱即用
    • 简洁易用、快速接入
    • 文档详尽、易于维护
    • 自顶向下、体系化设计
    • 统一框架、统一组件、降低选择成本
    • 开发规范、设计模式、代码分层模型
    • 强大便捷的开发工具链
    • 完善的本地中文化支持
    • 设计为团队及企业使用

    内置模块

    • 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。
    • 角色管理:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
    • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
    • 职级管理:主要管理用户的职级。
    • 岗位管理:主要管理用户担任职务。
    • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
    • 字典管理:对系统中常用的较为固定的数据进行统一维护。
    • 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。
    • 通知公告:系统通知公告信息发布维护。
    • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
    • 登录日志:系统登录日志记录查询包含登录异常。
    • 代码生成:一键生成模块CRUD的功能,包括后端Go和前端HTML、JS等相关代码。
    • 案例演示:常规代码生成器一键生成后的演示案例。

    软件信息

    系统演示

    账号密码操作权限
    admin123456演示环境无法进行修改删除操作

    版本说明

    版本名称版本说明版本地址
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    核心组件

    • 单图上传组件
    {{upload_image "avatar|头像|90x90|建议上传尺寸450x450|450x450" .info.Avatar "" 0}}
    
    • 1
    • 多图上传组件
    {{album "avatar|图集|90x90|20|建议上传尺寸450x450" .info.Avatar "" 0}}
    
    • 1
    • 下拉选择组件
    {{select "gender|1|性别|name|id" "1=男,2=女,3=保密" .info.Gender}}
    
    • 1
    • 单选按钮组件
    {{radio "gender|name|id" "1=男,2=女,3=保密" .info.Gender}}
    
    • 1
    • 复选框组件
    {{checkbox "role_ids|name|id" .roleList .info.RoleIds}}
    
    • 1
    • 城市选择组件
    {{city .info.DistrictCode 3 1}}
    
    • 1
    • 开关组件
    {{switch "status" "在用|禁用" .info.Status}}
    
    • 1
    • 日期组件
    {{date "birthday|1|出生日期|date" .info.Birthday}}
    
    • 1
    • 图标组件
    {{icon "icon" .info.Icon}}
    
    • 1
    • 穿梭组件
    {{transfer "func|0|全部节点,已赋予节点|name|id|220x350" "1=列表,5=添加,10=修改,15=删除,20=详情,25=状态,30=批量删除,35=添加子级,40=全部展开,45=全部折叠" .funcList}}
    
    • 1

    模板布局

    • Layout布局
    <!DOCTYPE html>
    <html>
    <!-- 引入头部 -->
    {{template "header" .}}
    <body>
    
    <!-- 主体部分开始 -->
    <div class="layui-fluid">
        <div class="layui-card">
            <div class="layui-card-body">
                <!-- 内容区 -->
                {{ yield }}
            </div>
        </div>
    </div>
    <!-- 主体部分结束 -->
    
    <!-- 引入脚部 -->
    {{template "footer" .}}
    </body>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 头部模板
    {{define "header"}}
    <head>
        <meta charset="utf-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <title>Iris+Layui【旗舰版】敏捷开发框架</title>
        <link href="/static/assets/images/favicon.ico" rel="icon">
        <link type="text/css" rel="stylesheet" href="/static/assets/libs/layui/css/layui.css"/>
        <link type="text/css" rel="stylesheet" href="/static/assets/module/admin.css?v=318"/>
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
        <script type="text/javascript" src="/static/assets/libs/layui/layui.js"></script>
        <script type="text/javascript" src="/static/assets/js/common.js?v=318"></script>
        <script type="text/javascript">
            var url = window.location.pathname.substring(1);
            var item = url.split("/");
            var C = item[0];
            var A = item[1];
            var cUrl = "/" + C;
        </script>
    </head>
    {{end}}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 脚部模板
    {{define "footer"}}
    <!-- JS部分 -->
    <script type="text/javascript">
        var url = window.location.pathname.substring(1);
        var item = url.split("/");
        var jsUrl = "/static/module/easygoadmin_" + item[0] + ".js";
        document.write("<script src='" + jsUrl + "'><\/script>");
    </script>
    {{end}}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    特别鸣谢

    感谢IrisLayui等优秀开源项目。

    版权声明

    本文章版权归作者所有,未经作者允许禁止任何转载、采集,作者保留一切追究的权利;

  • 相关阅读:
    基于java找到并显示100以内的素数
    【配置环境】SQLite数据库安装和编译以及VS下C++访问SQLite数据库
    lvgl显示中文和自定义图标
    java--02
    如何用chatGTP function calling 写sql query,附代码!
    github创建个人网页登录后404无法显示的问题
    KubeEdge 云端架构设计
    静态/动态代理模式
    vue3全局状态的管理——Pinia
    ARM 笔记
  • 原文地址:https://blog.csdn.net/weixin_50196917/article/details/124893735