3YAdmin-专注通用权限控制与表单的后台管理系统模板

3YAdmin基于React+Antd构建。GitHub搜索React+Antd+Admin出来的结果没有上百也有几十个,为什么还要写这个东西呢?

一个后台管理系统的核心我认为应该是权限控制,表单以及错误信息收集这三大块,前两个最为重要。而GitHub上的大多数项目关注点都不在这里,各种第三方组件堆砌在一起,看起来很炫酷,但是实用性没多大,改起来也麻烦(如果是vue,可以看我的另一个项目vue-quasar-admin)。

有人可能会有疑问:权限控制,不同系统实现不一样,根本没法做到通用。权限控制的模型就那几种,而且大部分都是RBAC,可能做不到完全通用,但是至少改动不会太大。

3YAdmin

??3YAdmin是一个专注通用权限控制与表单的后台管理系统模板。

??3YAdmin支持两种布局模式,Tab模式和正常模式。两种模式是webpack打包编译时确定的,打包某个模式时不会引入另外一种模式下的多余代码(React 实现Tab模式比较蛋疼)。

??3YAdmin实现了RBAC权限控制模型的核心功能页面和操作。

??3YAdmin通过解析定义好的JSON数据,可以生成查询表单,静态表单,动态表单。

??搭配lazy-mock 可以快速生成前后端带mock数据的增删改查功能(简单的代码生成器)。







online demo:

Tab Mode

Common Mode

登录账号:

admin 123

test 123456

website_admin 123456

功能与特点

  • 真实后端数据支持
  • 登录/登出
  • 收缩左侧菜单栏
  • 响应式布局
  • 按需加载
  • Tag标签导航
  • 面包屑
  • 全屏/退出全屏
  • 动态菜单与静态菜单
  • 菜单按模块划分
  • 通用权限控制
    • 菜单级权限控制
    • 接口级权限控制
    • 元素级权限控制
  • 全局可配置loading效果
  • 网络异常处理
  • 模块
    • 系统模块

      • 系统设置

        • 菜单管理
      • 权限管理
        • 功能管理
        • 角色管理
        • 角色权限管理
        • 角色用户管理
        • 用户角色管理
      • 组织架构
        • 部门管理
        • 职位管理
      • 用户管理
    • 审计日志
    • 数据初始化
  • 例子
    • 权限测试页
    • 错误页
    • JSON表单(通过解析JSON数据,动态生成表单)
      • Search Form(查询表单)
      • Common Form(静态表单,解析第一次后,JSON数据改变后表单不会跟着变)
      • Dynamic Form(动态表单,JSON数据改变后表单重新生成)

安装使用

Install

git clone https://github.com/wjkang/3YAdmin.git

npm install

安装后台mock服务

git clone -b 3YAdmin https://github.com/wjkang/quasar-admin-server.git

npm install

npm start

Run

Development

npm start

Production(Build)

npm run build

配置

直接将react-react-app生成的配置复制出来进行修改,都在react-scripts文件夹下,当前配置了antd按需引入,分chunk打包以及使用了AutoDllPlugin。可以按照自己的需要进行修改。

打包模式的配置需修改buils.js与start.js文件中的process.env.REACT_APP_LAYOUT_MODE

使用教程

后面会出详细使用教程以及前后端分离的后台管理系统前端架构设计思路(包含vue和react),喜欢的话可以给个star。

效果展示

原文地址:https://www.cnblogs.com/jaycewu/p/9326716.html

时间: 2024-10-10 14:28:40

3YAdmin-专注通用权限控制与表单的后台管理系统模板的相关文章

JS控制submit表单提交前进行预览和confirm确认提交

JS控制submit表单提交前进行预览和confirm确认提交. 我们经常会遇到这样的场景,某一个form表单提交前,想知道那些checkbox的内容被选中了,如果符合则提交,如果不符合,则取消提交,很简单的代码,我就不说了,直接上代码了. <script type="text/jscript"> $(document).ready(function() { //alert($("input[name='xinjiu']:checked").val())

Confluence 6 管理员联系表单的后台配置界面

管理员联系表单的后台配置界面截图和配置. 对输入的数据进行编辑和选择是否启用发送电子邮件给管理员 https://www.cwiki.us/display/CONFLUENCEWIKI/Configuring+the+Administrator+Contact+Page 原文地址:http://blog.51cto.com/ossez/2116390

django web 自定义通用权限控制

需求:web系统有包含以下5个url,分别对于不同资源: 1.stu/add_stu/ 2.stu/upload_homework/ 3.stu/query_homework/ 4.stu/add_record/ -------------------------------------------------------------------------------------------------------- 学生可以访问:2,3 老师可以访问:1,4 可以通过基于角色对用户权限进行控

jQuery控制form表单元素聚焦

CreateTime--2017年5月28日08:57:16Author:Marydon jQuery使form表单的第一个文本框聚焦 /** * 使form表单的第一个文本框聚焦 */ function makeFirstTextFormElementFocused (formId) { $('#' + formId + ' :text').eq(0).focus(); } 测试: window.onload = function() { makeFirstTextFormElementFoc

JS控制form表单action去向

http://blog.csdn.net/w709854369/article/details/6261624 不知道大家遇没遇到这种情况,当我们提交一个表单的时候,可能因为相关的参数不同而需提交给不同的action地址.这时我们就可以用JS来实现这种功能.===============把相同的内容提交到不同的页面=============== [javascript] view plaincopy <mce:script type="text/javascript">&l

JavaScript控制阻止表单提交

1.在表单上使用onSubmit方法 <?php $form = ActiveForm::begin([ 'options'=>[ 'class' => 'form-horizontal', 'enctype' => 'multipart/form-data', 'onSubmit'=>'return validateForm(event)', ], 'fieldConfig' => [ 'template' => '{input}{error}', 'optio

HTML meta 文本 格式排版 链接图表 列表 表单 frame后台布局实例

meta标签 content属性必须和http-equiv或者name属性一起使用 http-equiv属性,就是http当量,用于和服务器发送数据前的提交交互使用.(另层含义这个当量在浏览器和服务器同价值,就是当量,采用的http协议) 服务器代码response.ContentType=“text/html”,先和浏览器提前交互. <meta></meta>对搜索引擎和更新频度的描述和关键词  charset只是content的属性一个内容,用:分开. 比如<meta c

控制Elmment表单 是否为必传字段

computed: { editText () { this.$set(this.formRules.sshPassword[0], "required", !this.isEdit) return this.isEdit ? "编辑" : "新增"; } }, 原文地址:https://www.cnblogs.com/fczbk/p/12395146.html

multipart/form-data post 方法提交表单,后台获取不到数据

这个和servlet容器有关系,比如tomcat等. 1.get方式 get方式提交的话,表单项都保存在http header中,格式是 http://localhost:8080/hello.do?name1=value1&name2=value2这样的字符串.server端通过request.getParameter是可以取到值的. 2.post方式(enctype为缺省的application/x-www-form-urlencoded) 表单数据都保存在http的正文部分,格式类似于下面