Vue3 + ElementPlus 관리 백그라운드 시스템

이 글은 금창조의 길을 함께 시작하는 '신인창조식' 행사에 참여하게 되었습니다.

심벌 마크

문서 | 미리보기

본 요소 플러스 본

       Java + Vue에는 우수한 백그라운드 관리 시스템이 많이 있지만 백그라운드 권한 관리 시스템을 효율적으로 개발하기 위해 작성자가 직접 vue3-element-plus-admin을 개발했습니다.
       vue3-element-plus-admin 은 Vue3 + Element-plus + Java를 기반으로 하는 다중 엔터프라이즈 백그라운드 권한 관리 시스템으로 완전한 권한 시스템을 제공하여 개발자가 특정 비즈니스에 집중할 수 있도록 하여 개발 비용을 절감하고 프로젝트 효율성을 향상시킵니다. 웹사이트 관리 배경, SAAS, CMS, CRM, OA, ERP 등에 사용할 수 있습니다. 기업과 개인 모두 무료로 사용할 수 있습니다. PR 제출을 환영합니다(요구사항) 개발 중 문제가 발생하면 Github에서 Issues를 제출할 수 있습니다.

기분이 좋으시다면 ⭐스타를 눌러주세요~ 제 가장 큰 응원과 격려가 됩니다!

내장 기능

  • 시스템 관리: 기본 기능
    • 역할: 역할 메뉴 권한 할당
    • 관리자: 다중 역할 할당 지원, 역할이 소유한 메뉴 권한에 따라 다른 페이지 표시
    • 메뉴 관리: 현재 엔터프라이즈 메뉴의 이름, 아이콘 및 정렬 수정 지원
  • 로그 관리: 엔터프라이즈 로그
    • 로그인 로그: 현재 기업 관리자의 로그인 시스템 기록 조회
    • 운영 로그: 현재 기업 관리자의 시스템 정상 운영 기록 조회
  • 메시지 관리: 푸시 메시지 및 이메일 보내기
    • WebSocket: 현재 엔터프라이즈 웹 소켓 엔터프라이즈 푸시 레코드, 시스템 푸시 레코드 쿼리
    • 메일 관리: 메일 관련 구성
      • 이메일 템플릿: 이메일 전송을 위한 템플릿 구성: 인증 코드 등
      • 메일 기록 : 기업 내에서 발송된 메일 기록 조회
  • 엔터프라이즈 관리: 완전한 엔터프라이즈 관련 구성
    • 엔터프라이즈 목록: 시스템 엔터프라이즈의 추가, 편집, 삭제, 소스
    • 엔터프라이즈 역할: 엔터프라이즈에서 역할 추가, 편집, 삭제
    • 엔터프라이즈 관리자: 엔터프라이즈에서 관리자 추가, 편집, 삭제
    • 엔터프라이즈 메뉴: 엔터프라이즈에는 메뉴 권한 구성이 있습니다.
  • 데이터 센터: 시스템의 일부 구성 관리
    • 数据字典:系统内常用且固定的数据的维护
    • 配置管理:系统内第三方的配置:如 oss、邮箱
    • 文件管理:管理当前系统上传的文件及图片等信息
    • 备份管理:对系统数据库的备份与恢复
    • 区域管理:级联区域的维护
  • 系统监控:对系统的监控管理
    • 在线管理员:当前登录系统的管理员
    • 日志:整个系统内的日志
      • 登录日志:系统内所有管理员登录系统的记录查询
      • 操作日志:系统内所有管理员对系统的正常操作的记录查询
      • 异常日志:系统内运行是后的异常记录查询
      • 定时任务日志:系统内定时任务执行的记录查询
  • 开发配置:开发过程中的相关配置操作
    • 菜单权限:整个系统内的菜单权限配置,支持拖拽排序
    • 定时任务:系统内的所有定时任务维护
    • 代码生成器:前端(api.js、list.vue、add-edit.vue)后端单表的增删改查相关代码生成
    • 接口文档:后端使用的是 apidoc 生成的接口文档
  • 主题设置:整体页面主题设置,布局设置,暗黑模式

分支

  • master 轻量版本:多企业后台管理,持续维护分支
  • base-refactoring 精简版本:单个企业基于 RBAC 的权限功能-仅包含 菜单管理角色管理用户管理 三个模块
  • composition-api 内置__Type ScriptI18n__,已停止维护可以参考相关的配置
  • class-style 使用 class 风格开发,内置__Type ScriptI18n__,已停止维护可以参考相关的配置
  • single 该分支为之前单个企业版本的代码
  • 说明:다른 브랜치는 저자가 개발할 때 사용하는 브랜치로 저자의 지속적인 최적화, 리팩토링, 버전 반복으로 인해 composition-apiclass-style 이 동기적, 반복적으로 업데이트되지 않으므로 이 두 브랜치는 참조 학습에 권장됩니다.

환경적 필요

  • 노드 => 12.0.0
  • 뷰-클리 => 5.0.0
  • JDK = 1.8.x
  • MySQL >= 8.0.0

프로젝트 구조

vue3-src
├─api 接口模块
│
├─assets 静态资源模块
│  ├─font 字体
│  └─sass 样式
│ 
├─components 通用组件
│  ├─global 全局组件
│  │  ├─container 布局组件
│  │  ├─iconfont 使用阿里图库图标的组件
│  │  ├─page 分页组件
│  │  └─index 统一全局注册
│  ├─collapse 折叠组件
│  ├─container-custom 自定义布局组件
│  ├─container-sidebar 左右布局组件
│  ├─enterprise-sidebar 企业侧边栏组件
│  ├─icon-select-input 阿里图库图标选择组件
│  ├─image-upload-single 单图片上传组件
│  ├─region 区域级联选择组件
│  └─view router-view 视图组件
│ 
├─directive 全局自定义指令
│ 
├─mixins 代码复用 (vue2混入)
│  ├─dictionary 字典
│  ├─model 双向绑定
│  └─page 分页
│ 
├─router 动态路由
│ 
├─store vuex
│  ├─modules
│  │  ├─administrator 管理员登录信息模块
│  │  ├─dictionary 数据字典模块
│  │  ├─enterprise 企业模块
│  │  ├─menu 菜单模块
│  │  ├─setting 设置模块
│  │  ├─tabs 标签页模块
│  │  ├─theme 主题模块
│  │  └─websocket 消息推送模块
│  └─index 动态加载模块
│ 
├─utils 工具模块
│  ├─constant 常量
│  ├─dictionary 字典
│  ├─index 工具
│  ├─prompt 单次提示处理类
│  ├─regular 正则
│  ├─request axios二次封装
│  ├─storage 本地缓存工具
│  └─websocket websocket对象封装
│
├─views 视图模块
│  ├─common 通用页面
│  │  ├─401 401页面
│  │  ├─404 404页面
│  │  ├─500 500页面
│  │  └─login 登录页面
│  ├─layout
│  │  ├─components
│  │  │  ├─headbar 顶部导航
│  │  │  ├─navigation 导航布局组件
│  │  │  ├─sidebar 侧边栏
│  │  │  ├─tabsbar 标签页
│  │  │  └─websocket 消息推送组件
│  │  └─index 布局入口页面
│  └─modules 页面模块

复制代码

개발하다

# 克隆项目
git clone https://github.com/gmingchen/vue3-element-plus-admin.git

# 进入项目目录
cd vue3-element-plus-admin

# 安装依赖
npm install

# 若执行 npm install 报错,可能由于node版本太高原因导致,可执行一下命令
npm install --legacy-peer-deps

# 启动服务
npm run dev   # 开发环境
npm run prod  # 正式环境
npm run test  # 测试环境

# 发布
npm run build:dev   # 开发环境
npm run build:prod  # 正式环境
npm run build:test  # 测试环境
复制代码

온라인 미리보기

``` 일반 백그라운드 계정: demo1, demo2, demo3 엔터프라이즈 최고 관리 계정: admin1, admin2, admin3 모든 계정의 암호가 통합됨: superadmin ``` > 경험 사용자가 더티 데이터를 추가하는 것을 방지하고 일부 작업 권한이 열리지 않습니다. 데모 계정용

데모 이미지

데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지
데모 이미지 데모 이미지

기타 오픈 소스 프로젝트

자바 관리자 기반

기반으로 백그라운드 기본 기능 프레임워크 의 베이스 리팩토링java 분기 를 관리하는 백엔드 코드입니다.springboot

vue3-element-plus-im

vue3element-plus 기반의 인스턴트 채팅 시스템입니다 . 친구 개인 채팅 기능이 내장되어 있습니다.

자바-임

nettyshiro 를 기반 으로 하는 vue3-element-plus-imjava 인스턴트 채팅 시스템 의 백엔드 코드입니다 .springboot

nod-server 는 노드 기반으로 개발된 백엔드 서비스 프레임워크로, SQL만 알면 인터페이스를 작성할 수 있고, 더 이상 백엔드 면을 볼 필요가 없습니다.

추천

출처juejin.im/post/7120042074908409892