『7x24小时有问必答』

前言

以前做后台管理系统,最头疼的就是CRUD。几十张表摆在那里,每张表都要写一遍增删改查接口,写完了还得写前端页面、对接接口,翻来覆去全是重复劳动。后来自己动手写了一套脚手架来简化这件事,经过几个版本的迭代,功能慢慢丰富起来,不再局限于CRUD生成,又加了不少日常开发中高频用到的功能。

项目介绍

一套基于SpringBoot + Vue的前后端分离快速开发平台,完全开源,个人和企业都能免费使用。它比较适合中小型项目的快速开发——大型项目一般有自己的架构团队,反而不太需要这种开箱即用的东西。
项目的核心定位是三个词:快速、简洁、规范。快速体现在代码生成能力上,简洁体现在对重复代码的封装上,规范则是对接口命名、请求方式、响应格式的统一约束。这三件事做好了,开发效率确实能提上来不少。
演示地址是 http://manage.xijia.plus/ ,账号test,密码123456。
如果访问不了直接拉代码本地跑也行,文档在 http://xijia.plus/ 可以找到。

项目功能

功能类别
包含内容
基础功能
用户管理、角色管理、菜单管理、部门管理、接口管理、字典管理
增强功能
Banner配置、消息管理、请求日志、黑名单、全局配置
技术集成
阿里云OSS、WebSocket、Redis
开发工具
前后端代码生成、Swagger + Knife4j接口文档
分布式支持
Redis分布式缓存、分布式锁、分布式唯一编号
特色功能
本地图床/阿里云图床、飞书/微信群机器人异常监控、多数据源
其中代码生成功能是节省时间最明显的一块——表结构建好之后,前端页面和后端接口一键生成,生成完就能直接用。

项目特点

一是引入成本低。  引入一个jar包就能拿到整套脚手架的功能,工具类和常用代码都封装好了,不用自己从头搭框架。
二是代码生成覆盖前后端。  不只生成Java后端代码,前端Vue页面也一起生成,而且接口是自动对接好的,生成完直接能用,不用再手工改。
三是规范统一。  接口命名、请求方式、参数校验、响应格式都有统一约定,团队协作时不用反复对齐这些细枝末节的东西。
四是分布式方案相对完整。  分布式锁、分布式缓存、分布式ID这些场景都有现成方案,默认支持集群部署。
五是有些偏实用的小功能。  比如群机器人异常通知,系统报错的时候自动往飞书或微信群推一条消息,对没有专职运维的小团队来说挺省心的。

项目技术

后端技术栈

后端基于SpringBoot 2.7.x,数据库用MySQL 5.7+,缓存用Redis,接口文档用Swagger配合Knife4j做增强。项目按模块拆分,核心模块包括基础核心(xj-base-core)、代码生成(xj-base-generate)、文件处理(xj-base-file)、WebSocket(xj-websocket)、Redis模块(xj-redis)等,按需引入就行。

前端技术栈

前端目前同时维护Vue2和Vue3两个版本。Vue2版本用的是Element-UI + Avue,Vue3版本用的是Element-Plus + Avue。Avue这个框架是基于Element二次封装的,对CRUD场景做了很多简化,表格和表单的配置比直接写Element要省事不少。

架构设计上几个值得注意的点

统一返回格式。  所有接口返回结构一致,前端对接的时候不用每个接口单独处理异常情况。
全局异常处理。  业务异常统一走全局拦截,返回格式化的错误信息,不会把异常堆栈直接抛到前端去。
参数处理方案。  核心参数加解密、敏感数据脱敏、参数校验都有统一处理方式。
多数据源支持。  用dynamic-datasource做的动态数据源配置,多库场景下切换比较方便。

项目代码

Gitee:https://gitee.com/wslxm/xijia-plus

项目效果

做新项目的时候,不用从零开始搭框架、写登录权限、配swagger这些基础工作,直接在一个可用的基础上开始写业务。
遇到十几二十张表的CRUD需求时,代码生成能省掉很大一部分重复劳动。表结构设计好,页面和接口一键生成,基本功能直接就能用,只有特殊逻辑需要额外写代码。

项目源码

服务端主仓库:https://gitee.com/wslxm/xijia-plus
管理端Vue2版:https://gitee.com/wslxm/xj-manage-vue2
管理端Vue3版:https://gitee.com/wslxm/xj-manage-vue3
文档地址:http://xijia.plus/
示例项目:https://gitee.com/wslxm/xijia-plus-demo
项目采用MIT开源协议,可以自由使用和二次开发。

总结

这个项目,本质上是在解决后台管理系统开发中的重复劳动问题。它的核心价值不在于技术多先进,而在于把CRUD生成、基础功能、分布式方案这些常见需求打包好了,让做项目的人可以直接跳过搭框架的阶段,把精力放在业务逻辑上。当然它也有明确的边界——定位是中小型项目,适合快速交付的场景。项目文档、代码生成、多版本前端支持这些细节都做得比较完整,对想找个现成脚手架来用的团队来说,是一个值得参考的选择。

关键词

SpringBootVue前后端分离、代码生成、CRUD、后台管理系统、分布式锁、多数据源、Knife4j、Avue、Element-Plus、快速开发脚手架、图床、群机器人
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!

END

备注【开源
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码

有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力

点分享
点收藏
点在看
点点赞

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码