{"id":21567003,"url":"https://github.com/wjkang/3yadmin","last_synced_at":"2025-04-06T10:14:14.390Z","repository":{"id":99120368,"uuid":"140303327","full_name":"wjkang/3YAdmin","owner":"wjkang","description":"基于react全家桶+antd构建的专注通用权限控制与表单的后台管理系统模板","archived":false,"fork":false,"pushed_at":"2022-05-09T15:20:54.000Z","size":1044,"stargazers_count":390,"open_issues_count":5,"forks_count":89,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-03-30T09:08:15.229Z","etag":null,"topics":["access-control","admin","admin-dashboard","admin-template","antd","antd-admin","axios","rbac","react-admin","react-router-v4","redux"],"latest_commit_sha":null,"homepage":"http://jaycewu.coding.me/3YAdmin-preview","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wjkang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-09T15:13:04.000Z","updated_at":"2025-02-16T14:41:06.000Z","dependencies_parsed_at":"2023-06-04T00:15:38.977Z","dependency_job_id":null,"html_url":"https://github.com/wjkang/3YAdmin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wjkang%2F3YAdmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wjkang%2F3YAdmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wjkang%2F3YAdmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wjkang%2F3YAdmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wjkang","download_url":"https://codeload.github.com/wjkang/3YAdmin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247464226,"owners_count":20942970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access-control","admin","admin-dashboard","admin-template","antd","antd-admin","axios","rbac","react-admin","react-router-v4","redux"],"created_at":"2024-11-24T10:28:56.384Z","updated_at":"2025-04-06T10:14:14.355Z","avatar_url":"https://github.com/wjkang.png","language":"JavaScript","readme":"代码太丑，不建议照搬，可以看一看 RBAC 的实现思路，这是通用的。\n\n## 3YAdmin\n\u0026emsp;\u0026emsp;[3YAdmin](https://github.com/wjkang/3YAdmin)是一个专注通用权限控制与表单的后台管理系统模板。\n\n\u0026emsp;\u0026emsp;3YAdmin支持两种布局模式，Tab模式和正常模式。两种模式是webpack打包编译时确定的，打包某个模式时不会引入另外一种模式下的多余代码(React 实现Tab模式比较蛋疼)。\n\n\u0026emsp;\u0026emsp;3YAdmin实现了RBAC权限控制模型的核心功能页面和操作。\n\n\u0026emsp;\u0026emsp;3YAdmin通过解析定义好的JSON数据，可以生成查询表单，静态表单，动态表单。\n\n\u0026emsp;\u0026emsp;搭配[lazy-mock](https://github.com/wjkang/lazy-mock) 可以快速生成前后端带mock数据的增删改查功能(简单的代码生成器)。\n\n[![](https://ci.appveyor.com/api/projects/status/github/wjkang/3YAdmin?branch=master\u0026svg=true)]()\n[![react](https://img.shields.io/badge/react-16.3.2-brightgreen.svg)](https://github.com/facebook/react/)\n[![antd](https://img.shields.io/badge/antd-3.5.3-brightgreen.svg)](https://github.com/ant-design/ant-design)\n[![axios](https://img.shields.io/badge/axios-0.18.0-brightgreen.svg)](https://github.com/axios/axios)\n[![redux](https://img.shields.io/badge/redux-4.0.0-brightgreen.svg)](https://github.com/reduxjs/redux)\n[![react-router-dom](https://img.shields.io/badge/react--router--dom-4.2.2-brightgreen.svg)](https://github.com/axios/axios)\n[![MIT](https://img.shields.io/badge/license-MIT-brightgreen.svg)]()\n\nonline demo:\n\n[Tab Mode](http://jaycewu.coding.me/3YAdmin-preview)    \n\n[Common Mode](http://jaycewu.coding.me/3YAdmin-preview-common)\n\n登录账号:\n\n    admin 123\n\n    test 123456\n\n    website_admin 123456\n\n\n## 功能与特点\n\n- 真实后端数据支持\n- 登录/登出\n- 收缩左侧菜单栏\n- 响应式布局\n- 按需加载\n- Tag标签导航\n- 面包屑\n- 全屏/退出全屏\n- 动态菜单与静态菜单\n- 菜单按模块划分\n- 通用权限控制\n    - 菜单级权限控制\n    - 接口级权限控制\n    - 元素级权限控制\n- 全局可配置loading效果\n- 网络异常处理\n- 模块\n    - 系统模块\n        - 系统设置\n            - 菜单管理\n        - 权限管理\n            - 功能管理\n            - 角色管理\n            - 角色权限管理\n            - 角色用户管理\n            - 用户角色管理\n        - 组织架构\n            - 部门管理\n            - 职位管理\n        - 用户管理 \n    - 审计日志\n    - 数据初始化\n- 例子\n    - 权限测试页\n    - 错误页\n    - JSON表单(通过解析JSON数据,动态生成表单)\n        - Search Form(查询表单)\n        - Common Form(静态表单,解析第一次后,JSON数据改变后表单不会跟着变)\n        - Dynamic Form(动态表单,JSON数据改变后表单重新生成)\n\n\n## 安装使用\n\n## Install\n```bush\ngit clone https://github.com/wjkang/3YAdmin.git\n\nnpm install\n```\n\n安装后台mock服务\n```bush\ngit clone -b 3YAdmin https://github.com/wjkang/quasar-admin-server.git\n\nnpm install\n\nnpm start\n```\n\n\n## Run\n### Development\n```bush\nnpm start\n```\n### Production(Build)\n```bush\nnpm run build\n```\n\n## 配置\n\n直接将react-react-app生成的配置复制出来进行修改，都在react-scripts文件夹下，当前配置了antd按需引入，分chunk打包以及使用了AutoDllPlugin。可以按照自己的需要进行修改。\n\n打包模式的配置需修改buils.js与start.js文件中的process.env.REACT_APP_LAYOUT_MODE\n\n## 使用教程\n\n后面会出详细使用教程以及前后端分离的后台管理系统前端架构设计思路(包含vue和react)，喜欢的话可以给个star。\n\n## 效果展示\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/1.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/2.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/3.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/4.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/5.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/6.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/7.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/8.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/9.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/10.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/11.jpg)\n\n![image](https://raw.githubusercontent.com/wjkang/3YAdmin/master/screenshot/12.jpg)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwjkang%2F3yadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwjkang%2F3yadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwjkang%2F3yadmin/lists"}