耗时几个月,终于决定把原本想用于商业的系统开源了
前言
嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。
今天又来给小伙伴们分享一个基于 SpringBoot + Vue 实现的前后端分离后台管理系统项目;
简介
这个项目是基于xiliu-tenant脚手架项目搭建而成,原本是帮朋友公司做的一个租赁管理系统,用来管理房态信息、办理入住等。对方没给设计图、也没有提具体需求,只是让我凭感觉来做。在项目做了几个月后,因业务调整,所以就没有后续了,想着与其直接删除还不如开源分享给大家一起讨论学习。
项目虽然没有做的很完整,但是整体的数据架构还算是可以的,可以很容易进行功能完善和添加新功能。
由于本人的精力有限,还有很多地方没法完善,如有感兴趣的朋友,欢迎加入一起完善,共同进步!
功能设计
系统的基础设计可以参考发布的上一篇文章这么优秀的开源脚手架项目,我不允许还有人不知道,这里介绍一下新加的一些功能点吧
集成了百度地图
集成步骤参考:前端Vue项目如何集成地图实现地图选址功能
集成了easyexcel
集成了easyexcel,实现导入导出功能。
内置功能
| 序号 | 模快 | 说明 |
|---|---|---|
| 1 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能。 |
| 2 | 配置租户套餐 | 自定每个租户的菜单、操作、按钮的权限。 |
| 3 | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置。 |
| 4 | 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 |
| 5 | 菜单管理 | 配置系统菜单,操作权限,按钮权限标识等。 |
| 6 | 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分。 |
| 7 | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护。 |
| 8 | 操作日志 | 系统正常操作日志记录和查询;系统异常信息日志记录和查询。 |
| 9 | 登录日志 | 系统登录日志记录查询包含登录异常。 |
| 10 | 在线用户 | 当前系统中活跃用户状态监控。 |
| 11 | 代码生成 | 前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 |
| 12 | 系统接口 | 根据业务代码自动生成相关的api接口文档。 |
| 13 | 服务监控 | 监视当前系统CPU、内存、磁盘、堆栈等相关信息。 |
| 14 | 缓存监控 | 监视当前缓存的相关信息。 |
| 15 | 房源管理 | 房源添加、导入等信息。 |
核心技术
依赖
- [Mysql] 5.7+
- [Jdk] 1.8+
- [Maven] 3.0+
- [Redis] 3.0+
后端
- Spring Boot2.5.4.RELEASE: Spring Boot是一款开箱即用框架,让我们的Spring应用变的更轻量化、更快的入门。在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java -jar来运行你的Web应用;
- Mybatis-plus3.5.1: MyBatis-plus(简称 MP)是一个 MyBatis (opens new window) 的增强工具。
- Spring Security: 认证和授权框架
- JWT: 登录支持
- Redis: 分布式缓存
- Easyexcel: 简化导入导出工具
前端
- npm:node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
- webpack:用于现代 JavaScript 应用程序的_静态模块打包工具
- ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
- vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
- vue-router:Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
- element-ui:基于MVVM框架Vue开源出来的一套前端ui组件。
- avue: 用该组件包裹后可以变成拖拽组件,采用相对于父类绝对定位;用键盘的上下左右也可以控制移动
- vue-echarts: vue-echarts是封装后的vue插件,基于 ECharts v4.0.1+ 开发
系统截图
开源地址:
github:https://github.com/277769738/xiliu-lease-tenant
gitee:https://gitee.com/huoqstudy/xiliu-lease-tenant
- 在线体验:https://lms.xiliu.online
- 平台管理员:admin/123456
- 租户1管理员:yz_admin/123456
- 租户2管理员:test_admin/123456
总结
以上就是本文的全部内容了,感谢大家的阅读。
如果觉得文章对你有帮助,还不忘帮忙点赞、收藏、关注、评论哟,您的支持就是我创作最大的动力!
相关文章:
耗时几个月,终于决定把原本想用于商业的系统开源了
前言 嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。 今天又来给小伙伴们分享一个基于 SpringBoot Vue 实现的前后端分离后台管理系统项目; 简介 这个项目是基于xiliu-tenant脚手架项目搭建而成,原本是帮朋…...
HarmonyOS应用端云一体化开发主要流程
图示 主要步骤 序号 阶段 任务 说明 1 创建端云一体化开发工程 选择工程类型与云开发模板 确定工程类型:选择“Application”或“Atomic Service”页签,确定创建的是HarmonyOS应用工程还是原子化服务工程。选择云开发模板,包括通用云开…...
NoSQL之 Redis配置与优化
NoSQL之 Redis配置与优化 ---------------------- 关系数据库与非关系型数据库 ---------------------------------------- ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一…...
Redis哨兵模式
1.哨兵模式是什么 解释一 哨兵巡查监控 master主机是否故障,如果故障了,根据投票数自动将一个从库转换为新数据库,继续对外服务。 解释二 监控redis 的运行状态,包括master和slave当master宕机后,能自动将slave切换…...
数据库管理-第七十六期 如何升级19c RAC(20230516)
数据库管理 2023-05-16 第七十六期 如何升级19c RAC1 回头处理2 升级AHF3 升级GI及DB3.1 拷贝所需文件3.2 升级OPatch3.3 升级GI与DB3.4 应用SQL变更 4 升级OJVM4.1 解压补丁4.2执行补丁冲突检查:4.3 升级OJVM4.4 应用SQL变更 5 最终验证总结 第七十六期 如何升级19…...
组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)
组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python) 目录 组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-CNN-LSTM是一种结合了传统时间序列模型和深度学习模型的…...
实验四 面向对象分析与设计——UML类图与时序图
一、实验目的: 掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。 二、实验仪器及实验环境&a…...
最短路径问题
如图,设定源点为D,终点为A,则D到A的最短路径是多少? 算法思路: 第一步,从源点D出发,此时能到达的选择是C和E,我们根据路径长度选择最少的作为下一个节点,于是选择C&…...
国内有哪些SAAS软件?SAAS软件有哪些优点?
国内有哪些SAAS软件?SAAS软件有哪些优点?不请自来答一下,通过SaaS软件与传统软件的对比来详细讲下SaaS软件有哪些优点? 配合以下内容食用更佳: 关于概念——深度详解什么是SaaS(软件即服务)关…...
分享两组不同的3D VR卡片
最近某音上出现了很多VR视频,转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了: 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动,但不会显示更多的信息&#x…...
外贸人如何精准开发客户?Facebook开发客户全攻略
现在做跨境的都了解的一个社媒平台就是Facebook了,因为很多人都会拿Facebook来开发客户,忙里偷闲,今天东哥就来聊聊用Facebook开发客户的一些心得。 用Facebook开发客户的心得 1、利用关键词搜索 使用行业相关的关键词、产品特定的关键词、相…...
一、Git安装(Git+TortoiseGit图形化)
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式…...
mysql死锁,如何产生?如何发现?如何处理?
1 产生死锁 就是资源互斥 例子如下 好的,请参考以下 SQL 语句来创建 base_account_item 表和向表中插入一些数据: CREATE TABLE base_account_item (id INT(11) NOT NULL,account_item_name VARCHAR(50) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…...
YOLO V1-V3 简单介绍
目录 1. YOLO 2. YOLO V1 3. YOLO V2 4. YOLO V3 5. YOLO V3 SPP网络 5.1 Mosaic 图像增强 5.2 SPP 模块 5.3 CIou Loss 5.4 Focal loss 1. YOLO YOLO 是目标检测任务强大的算法,将目标检测的问题转换边界框和相关概率的回归问题,是目标检测…...
数据结构总结1:了解数据结构、时间复杂度、空间复杂度
后续可能会有补充和更改 目录 一、数据结构 1.算法介绍 二、时间复杂度、空间复杂度 三、练习 1.时间复杂度 2.空间复杂度 一、数据结构 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 数据结构和数据库的区…...
abstract class和interface有什么区别?
含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以…...
Kafka在Java项目中的应用
Kafka在Java项目中的应用 Docker 安装Kafka 一.首先需要安装docker,可看这篇文章安装docker 二.拉取zookeeper和KafKa镜像 docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafkaKafka组件需要向zookeeper进行注册,所以也需要安装zookeeper 三.启动zookeeper…...
理解分布式id生成算法SnowFlake
理解分布式id生成算法SnowFlake 分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。 概述 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: } public function __construct(){ $this->rnew…...
光纤收发器可以连接光模块吗?
随着科技的进步发展,城市信息化速度的加快,光通信产品在数据中心和安防监控等场景中的运用越来越广泛,而这之间的连接则需要光模块和光纤收发器来实现。很多用户对光模块和光纤收发器的使用有些疑虑,两者该如何连接?又…...
一文快速了解浏览器Sui Explorer
Sui作为一条基于第一原理重新设计和构建而成的L1公链,所有区块和交易信息皆公开透明,每个人都能自行查看。通过Sui链上浏览器,用户可以迅速了解链上的交易情况,比如当前的TPS和Gas价格,也可以使用Digest来查看特定交易…...
C#怎么获取多显示器屏幕尺寸_C#如何适应不同分辨率【解析】
Screen.AllScreens 可获取所有显示器的 Bounds(含位置和宽高)及 WorkingArea,需配合 per-monitor V2 manifest 实现准确 DPI 感知,否则 Bounds 返回逻辑像素而非物理分辨率。怎么用 Screen.AllScreens 拿到所有显示器的尺寸直接遍…...
ConvNeXt 系列改进:ConvNeXt 与 Swin Transformer 融合:构建 CSWin 混合 Block,超越纯 CNN
摘要:在 2026 年的计算机视觉(CV)主干网络发展中,纯卷积神经网络(CNN)与纯视觉 Transformer(ViT)的“路线之争”已落下帷幕,“混合架构(Hybrid Architecture)”全面接管了 SOTA 榜单。根据 2026 年 3 月最新发表的多篇顶会与医学视觉核心论文(如 CS-Net、HyCoSwin …...
手把手教学:基于Anything V5的Web服务搭建与使用详解
手把手教学:基于Anything V5的Web服务搭建与使用详解 1. 概述与准备工作 1.1 Anything V5简介 Anything V5是基于Stable Diffusion技术构建的AI图像生成模型,能够根据文字描述生成高质量的图片。相比标准版Stable Diffusion,Anything V5在…...
第3篇:ChatGPT引爆的AIGC革命——内容创作的新纪元(概念入门)
文章目录背景引入:当我的“周报”被AI抢了饭碗核心概念:什么是AIGC?类比解释:从“图书馆管理员”到“小说家”简单示例:看AIGC如何工作为什么说这是“新纪元”?小结:拥抱变化,聚焦“…...
避坑指南:QCustomPlot绘制平滑曲线时,你可能忽略的5个关键设置
避坑指南:QCustomPlot绘制平滑曲线时,你可能忽略的5个关键设置 第一次用QCustomPlot绘制曲线时,我盯着屏幕上锯齿状的折线图愣了半天——明明数据点足够密集,为什么曲线看起来还是像被狗啃过一样?这个问题困扰过不少开…...
基于Mixly和MAX30102的心率监测系统设计与实现
1. 从零开始搭建心率监测系统 最近在做一个健康监测小项目,发现MAX30102这款心率传感器真是太好用了。配合Arduino和Mixly图形化编程工具,不到半小时就能搭建出一个实时心率监测系统。今天我就把整个实现过程详细分享给大家,哪怕你是刚接触硬…...
3步解锁碧蓝航线全皮肤:Perseus原生库补丁终极指南
3步解锁碧蓝航线全皮肤:Perseus原生库补丁终极指南 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus Perseus是一个专为碧蓝航线(Azur Lane)设计的原生库补丁工具&#x…...
书匠策AI:毕业论文写作的“智能魔法棒”,开启学术新纪元!
在学术的浩瀚宇宙中,毕业论文如同璀璨星辰,既照亮了我们求知的道路,也考验着我们的智慧与毅力。然而,撰写一篇高质量的毕业论文并非易事,它需要我们跨越选题迷雾、穿越文献丛林、构建逻辑框架、雕琢内容细节࿰…...
Face3D.ai Pro实战手册:基于ModelScope cv_resnet50_face-reconstruction管道调用
Face3D.ai Pro实战手册:基于ModelScope cv_resnet50_face-reconstruction管道调用 1. 项目概述与核心价值 Face3D.ai Pro 是一个将前沿AI视觉算法与现代化工业UI设计相结合的Web应用。这个系统最大的亮点在于,它能从你上传的一张普通2D照片中ÿ…...
猫抓(cat-catch)终极指南:3步掌握浏览器资源嗅探技术
猫抓(cat-catch)终极指南:3步掌握浏览器资源嗅探技术 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法下载网页视频而烦恼吗&…...
