ContiNew Admin前后端分离框架,持续优化的管理框架,开箱即用

前端·后端 · 2023-11-22

简介

ContiNew Admin(Continue New Admin)持续迭代优化的前后端分离中后台管理系统框架。开箱即用,重视每一处代码规范,重视每一种解决方案细节,持续提供舒适的前、后端开发体验。

技术栈:Spring Boot3(Java17)、Vue3 & Arco Design & TS & Vite、Sa-Token、MyBatis Plus、Redisson、JetCache、JustAuth、Crane4j、EasyExcel、Liquibase、Hutool 等。

项目地址

更多更新的内容请查看以下链接

官网:https://continew.top

演示环境地址:https://admin.continew.top
账号:admin
密码:admin123

后端仓库:https://github.com/Charles7c/continew-admin
前端仓库:https://github.com/Charles7c/continew-admin-ui

系统功能

  • 个人中心:支持基础信息修改、密码修改、邮箱绑定、手机号绑定(并提供行为验证码、短信限流等安全处理)、第三方账号绑定/解绑、头像裁剪上传
  • 消息中心:提供站内信消息统一查看、标记已读、全部已读、删除等功能 用户管理:提供用户的相关配置,新增、修改、删除、重置密码、导出
  • 部门管理:可配置系统组织架构,并以树形表格展示 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
  • 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
  • 通知公告:提供公告的发布、查看和删除等功能。管理员可以在后台发布公告,并可以设置公告的生效时间、终止时间,以 markdown-it为内核渲染 Markdown 格式内容显示
  • 字典管理:提供对系统公用数据字典的维护,例如:公告类型,支持字典标签背景色和排序等配置
  • 文件管理:提供文件上传、下载、预览(目前支持图片、音视频)、重命名、切换视图(列表、网格)等功能
  • 存储管理:提供文件存储库新增、编辑、删除等功能,支持本地存储、兼容 S3 协议存储
  • 系统配置:提供修改系统标题、Logo、favicon等基础配置功能,以方便用户系统与其自身品牌形象保持一致,提供系统发件箱配置,也支持通过配置文件指定,提供密码策略修改,支持丰富的密码策略设定,包括但不限于密码有效期、修改密码最短时间间隔、密码错误锁定账号次数、时间等
  • 代码生成:提供根据数据库表自动生成相应的前后端 CRUD 代码的功能,支持同步最新表结构及代码生成预览
  • 在线用户:管理当前登录用户,可一键踢下线 日志管理:提供登录日志、操作日志管理功能,可查看指定日志的详细请求及响应信息

项目结构

后端项目按功能拆分模块,下方项目目录结构是按照模块的层次顺序进行介绍的,实际 IDE 中 continew-admin-common 模块会因为字母排序原因排在上方。

continew-admin
├─ continew-admin-webapi(API 及打包部署模块)
│  ├─ src
│  │  ├─ main
│  │  │  ├─ java/top/continew/admin
│  │  │  │  ├─ webapi
│  │  │  │  │  ├─ auth(系统认证相关 API)
│  │  │  │  │  ├─ common(通用相关 API)
│  │  │  │  │  ├─ monitor(系统监控相关 API)
│  │  │  │  │  ├─ system(系统管理相关 API)
│  │  │  │  │  └─ tool(系统工具相关 API)
│  │  │  │  └─ ContiNewAdminApplication.java(Spring Boot 启动程序)
│  │  │  └─ resources
│  │  │     ├─ config(核心配置目录)
│  │  │     │  ├─ application-dev.yml(开发环境配置文件)
│  │  │     │  ├─ application-prod.yml(生产环境配置文件)
│  │  │     │  └─ application.yml(通用配置文件)
│  │  │     ├─ db/changelog(Liquibase 数据脚本配置目录)
│  │  │     │  ├─ mysql(MySQL 数据库初始 SQL 脚本目录)
│  │  │     │  ├─ postgresql(PostgreSQL 数据库初始 SQL 脚本目录)
│  │  │     │  └─ db.changelog-master.yaml(Liquibase 变更记录文件)
│  │  │     ├─ templates(模板配置目录,例如:邮件模板)
│  │  │     ├─ banner.txt(Banner 配置文件)
│  │  │     └─ logback-spring.xml(日志配置文件)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml(包含打包相关配置)
├─ continew-admin-system(系统管理模块,存放系统管理相关业务功能,例如:部门管理、角色管理、用户管理等)
│  ├─ src
│  │  ├─ main
│  │  │  ├─ java/top/continew/admin
│  │  │  │  ├─ auth(系统认证相关业务)
│  │  │  │  │  ├─ config(系统认证相关配置)
│  │  │  │  │  ├─ model(系统认证相关模型)
│  │  │  │  │  │  ├─ query(系统认证相关查询条件)
│  │  │  │  │  │  ├─ req(系统认证相关请求对象(Request))
│  │  │  │  │  │  └─ resp(系统认证相关响应对象(Response))
│  │  │  │  │  └─ service(系统认证相关业务接口及实现类)
│  │  │  │  └─ system(系统管理相关业务)
│  │  │  │     ├─ config(系统管理相关配置)
│  │  │  │     ├─ enums(系统管理相关枚举)
│  │  │  │     ├─ mapper(系统管理相关 Mapper)
│  │  │  │     ├─ model(系统管理相关模型)
│  │  │  │     │  ├─ entity(系统管理相关实体对象)
│  │  │  │     │  ├─ query(系统管理相关查询条件)
│  │  │  │     │  ├─ req(系统管理相关请求对象(Request))
│  │  │  │     │  └─ resp(系统管理相关响应对象(Response))
│  │  │  │     └─ service(系统管理相关业务接口及实现类)
│  │  │  └─ resources
│  │  │     └─ mapper(系统管理相关 Mapper XML 文件目录)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml
├─ continew-admin-generator(代码生成器插件模块,生产不需要部署此模块)
│  ├─ src
│  │  ├─ main
│  │  │  ├─ java/top/continew/admin/generator
│  │  │  │  ├─ config(代码生成器相关配置)
│  │  │  │  ├─ enums(代码生成器相关枚举)
│  │  │  │  ├─ mapper(代码生成器相关 Mapper)
│  │  │  │  ├─ model(代码生成器相关模型)
│  │  │  │  │  ├─ entity(代码生成器相关实体对象)
│  │  │  │  │  ├─ query(代码生成器相关查询条件)
│  │  │  │  │  ├─ req(代码生成器相关请求对象(Request))
│  │  │  │  │  └─ resp(代码生成器相关响应对象(Response))
│  │  │  │  └─ service(代码生成器相关业务接口及实现类)
│  │  │  └─ resources
│  │  │     ├─ templates/generator(代码生成相关模板目录)
│  │  │     ├─ application.yml(代码生成配置文件)
│  │  │     └─ generator.properties(代码生成类型映射配置文件)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml
├─ continew-admin-common(公共模块,存放公共工具类,公共配置等)
│  ├─ src
│  │  ├─ main/java/top/continew/admin/common
│  │  │  ├─ config(公共配置)
│  │  │  ├─ constant(公共常量)
│  │  │  ├─ enums(公共枚举)
│  │  │  ├─ model(公共模型)
│  │  │  │  ├─ dto(公共 DTO(Data Transfer Object))
│  │  │  │  ├─ req(公共请求对象(Request))
│  │  │  │  └─ resp(公共响应对象(Response))
│  │  │  └─ util(公共工具类)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml
├─ .github(GitHub 相关配置目录,实际开发时直接删除)
├─ .idea
│  └─ icon.png(IDEA 项目图标,实际开发时直接删除)
├─ .image(截图目录,实际开发时直接删除)
├─ .style(代码格式相关配置目录,实际开发时根据需要取舍,删除时注意删除 spotless 插件配置)
├─ .gitignore(Git 忽略文件相关配置文件)
├─ docker(项目部署相关配置目录,实际开发时可备份后直接删除)
├─ LICENSE(开源协议文件)
├─ CHANGELOG.md(更新日志文件,实际开发时直接删除)
├─ README.md(项目 README 文件,实际开发时替换为真实内容)
├─ lombok.config(Lombok 全局配置文件)
└─ pom.xml(包含版本锁定及全局插件相关配置)






Java SrpingBoot Vue
Theme Jasmine by Kent Liao