cms-cloud后台管理系统
课时介绍
课程介绍
cms-Cloud后台管理系统
cms-Cloud 基于Spring Boot、Spring Cloud & Alibaba、OAuth2的前后端分离的后台管理系统,内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。
核心技术
前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui
后端技术栈 Spring Boot、Spring Cloud & Alibaba、OAuth2
系统需求
JDK >= 1.8
MySQL >= 5.5
Maven >= 3.0
主要特性
1. 完全响应式布局(支持电脑、平板、手机等所有主流设备)
2. 强大的一键生成功能(包括控制器、模型、视图、菜单等)
3. 支持多数据源,简单配置即可实现切换。
4. 支持按钮及数据权限,可自定义部门数据权限。
5. 对常用js插件进行二次封装,使js代码变得简洁,更加易维护
6. 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
7. Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。
8. 国际化支持,服务端及客户端支持
9. 完善的日志记录体系简单注解即可实现
技术选型
1、系统环境
Java EE 8
Servlet 3.0
Apache Maven 3
2、主框架
Spring Boot 2.2
Spring Cloud Hoxton.SR3
Spring Framework 5.1
Spring Security 5.1
3、持久层
Apache MyBatis 3.4
Alibaba Druid 1.1
4、视图层
Vue 2.6
Axios 0.18
Element UI 2.11
内置功能
(1) 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
(2) 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
(3) 岗位管理:配置系统用户所属担任职务。
(4) 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
(5) 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
(6) 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
(7) 参数管理:对系统动态配置常用参数。
(8) 通知公告:系统通知公告信息发布维护。
(9) 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
(10) 登录日志:系统登录日志记录查询包含登录异常。
(11) 在线用户:当前系统中活跃用户状态监控。
(12) 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
(13) 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
(14) 系统接口:根据业务代码自动生成相关的api接口文档。
(15) 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
(16) 在线构建器:拖动表单元素生成相应的HTML代码。
(17) 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
环境部署
准备工作
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.5.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
nacos >= 1.1.0
sentinel >= 1.6.0
运行系统
因为本项目是前后端分离的,所以需要前后端都启动好,才能进行访问。
后端运行
1、导入cms到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择工作目录,然后点击 Finish 按钮,即可成功导入Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定)
2、创建数据库cms-cloud并导入数据脚本cms.sql(必须),quartz.sql(可选)
3、创建数据库cms-config并导入数据脚本cms_config.sql(必须)
4、配置nacos持久化,修改conf/application.properties文件,增加支持mysql数据源配置。
# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/cms-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password
5、打开运行基础模块(启动没有先后顺序)
CmsGatewayApplication (网关模块 必须)
CmsAuthApplication (认证模块 必须)
CmsSystemApplication (系统模块 必须)
CmsMonitorApplication (监控中心 可选)
CmsGenApplication (代码生成 可选)
CmsJobApplication (定时任务 可选)
CmsFileApplication (文件服务 可选)
前端运行
# 进入项目目录
cd cms-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npm.taobao.org
本地开发 启动项目
npm run dev
打开浏览器,输入:http://localhost:80 (默认账户 admin/admin123)
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功
提示
前端安装完node后,最好设置下淘宝的镜像源,不建议使用cnpm(可能会出现奇怪的问题)
部署系统
因为本项目是前后端分离的,所以需要前后端都部署好,才能进行访问
后端部署
bin/package.bat 在项目的目录下执行
然后会在项目下生成 target文件夹包含 war 或jar
1、jar部署方式
使用命令行执行:java –jar xxxx.jar 或者执行脚本:bin/run.bat
2、war部署方式
pom.xml packaging修改为war 放入tomcat服务器webapps
提示
SpringBoot去除内嵌tomcat
前端部署
当项目开发完毕,只需要运行一行命令就可以打包你的应用
# 打包正式环境
npm run build:prod
# 打包预发布环境
npm run build:stage
构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。
通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。
环境变量
所有测试环境或者正式环境变量的配置都在 .env.development (opens new window)等 .env.xxxx文件中。
它们都会通过 webpack.DefinePlugin 插件注入到全局。
常见问题
如果使用Mac 需要修改application.yml文件路径profile
如果使用Linux 提示表不存在,设置大小写敏感配置在/etc/my.cnf 添加lower_case_table_names=1,重启MYSQL服务
如果提示当前权限不足,无法写入文件请检查profile是否可读可写,或者无法访问此目录
信息系统项目管理师自考笔记
李明 · 512人在学
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 20578人在学
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 4047人在学
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 731人在学
基于SSM酒店管理系统(毕设)
小尼老师 · 785人在学
java项目实战之购物商城(java毕业设计)
Long · 5073人在学
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1457人在学
Python Django 深度学习 小程序
钟翔 · 2234人在学
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 496人在学
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 3843人在学