内容简介
第一篇 系统介绍篇
第1章 权限管理系统介绍
1.1 系统简介
1.2 系统架构
1.2.1 前端架构
1.2.2 后端架构
1.3 系统界面
1.3.1 登录页面
1.3.2 系统主页
1.3.3 用户管理
1.3.4 机构管理
1.3.5 角色管理
1.3.6 菜单管理
1.3.7 字典管理
1.3.8 系统配置
1.3.9 登录日志
1.3.10 操作日志
1.3.11 注册中心
1.3.12 接口文档
1.3.13 数据监控
1.3.14 服务监控
1.3.15 备份还原
1.3.16 主题切换
第2章 安装指南
2.1 前端安装指南
2.1.1 开发环境
2.1.2 技术选型
2.1.3 项目结构
2.1.4 编译运行
2.2 后端安装指南
2.2.1 开发环境
2.2.2 技术选型
2.2.3 项目结构
2.2.4 编译运行
第3章 关键技术
3.1 Spring Boot
3.2 Spring Cloud
3.2.1 Spring Cloud简介
3.2.2 Spring Cloud架构
3.2.3 Spring Cloud组件
3.2.4 参考教程
3.3 Spring Security
3.4 MyBatis
3.5 Vue.js
3.6 Element
第二篇 后端实现篇
第4章 数据库设计
4.1 数据库表设计
4.2 数据库表关系
4.3 数据库表结构
4.3.1 用户表(sys_user)
4.3.2 角色表(sys_role)
4.3.3 机构表(sys_dept)
4.3.4 菜单表(sys_menu)
4.3.5 用户角色表(sys_user_role)
4.3.6 角色菜单表(sys_role_menu)
4.3.7 角色机构表(sys_role_dept)
4.3.8 字典表(sys_dict)
4.3.9 配置表(sys_config)
4.3.10 操作日志表(sys_log)
4.3.11 登录日志表(sys_login_log)
第5章 搭建开发环境
5.1 开发环境准备
5.1.1 安装JDK环境
5.1.2 安装Eclipse开发工具
5.1.3 安装MySQL数据库
5.1.4 安装Maven构建工具
5.2 生成项目模板
5.3 导入Maven项目
5.4 编译打包运行
5.4.1 编译打包
5.4.2 启动应用
5.4.3 修改启动端口
5.4.4 自定义Banner
5.4.5 接口测试
第6章 集成Swagger文档
6.1 添加依赖
6.2 配置类
6.3 页面测试
第7章 集成MyBatis框架
7.1 添加依赖
7.2 添加配置
7.2.1 添加MyBatis配置
7.2.2 添加数据源配置
7.2.3 修改启动类
7.3 生成MyBatis模块
7.4 编写服务接口
7.5 配置打包资源
7.6 编译运行测试
第8章 集成Druid数据源
8.1 Druid介绍
8.2 添加依赖
8.3 添加配置
8.4 配置Servlet和Filter
8.5 编译运行
8.6 查看监控
8.6.1 登录界面
8.6.2 监控首页
8.6.3 数据源
8.6.4 SQL监控
第9章 跨域解决方案
9.1 什么是跨域
9.2 CORS技术
9.2.1 简单请求
9.2.2 非简单请求
9.3 CORS实现
第10章 业务功能实现
10.1 工程结构规划
10.1.1 mango-admin
10.1.2 mango-common
10.1.3 mango-core
10.1.4 mango-porn
10.1.5 打包测试
10.2 业务代码封装
10.2.1 通用CURD接口
10.2.2 分页请求封装
10.2.3 分页结果封装
10.2.4 分页助手封装
10.2.5 HTTP结果封装
10.3 MyBatis分页查询
10.3.1 添加依赖
10.3.2 添加配置
10.3.3 分页代码
10.3.4 接口测试
10.4 业务功能开发
10.4.1 编写DAO接口
10.4.2 编写映射文件
10.4.3 编写服务接口
10.4.4 编写服务实现
10.4.5 编写控制器
10.5 业务接口汇总
10.5.1 用户管理
10.5.2 机构管理
10.5.3 角色管理
10.5.4 菜单管理
10.5.5 字典管理
10.5.6 系统配置
10.5.7 登录日志
10.5.8 操作日志
10.6 导出Excel报表
10.6.1 添加依赖
10.6.2 编写服务接口
10.6.3 编写服务实现
10.6.4 编写控制器
10.6.5 工具类代码
10.6.6 接口测试
第11章 登录流程实现
11.1 登录验证码
11.1.1 添加依赖
11.1.2 添加配置
11.1.3 生成代码
11.1.4 接口测试
11.2 Spring Security
11.2.1 添加依赖
11.2.2 添加配置
11.2.3 登录认证过滤器
11.2.4 身份验证组件
11.2.5 认证信息查询
11.2.6 添加权限注解
11.2.7 Swagger添加令牌参数
11.3 登录接口实现
11.4 接口测试
11.5 Spring Security执行流程剖析
第12章 数据备份还原
12.1 新建工程
12.2 添加依赖
12.3 添加配置
12.4 自定Banner
12.5 启动类
12.6 跨域配置
12.7 Swagger配置
12.8 数据源属性
12.9 备份还原接口
12.10 备份还原实现
12.11 备份还原逻辑
12.11.1 数据备份服务
12.11.2 数据还原服务
12.12 备份还原控制器
12.12.1 数据备份接口
12.12.2 数据还原接口
12.12.3 查找备份接口
12.12.4 删除备份接口
12.13 接口测试
第13章 系统服务监控
13.1 新建工程
13.2 添加依赖
13.3 添加配置
13.4 自定义Banner
13.5 启动类
13.6 启动服务端
13.7 监控客户端
13.8 启动客户端
第14章 注册中心(Consul)
14.1 什么是Consul
14.2 Consul安装
14.3 monitor改造
14.3.1 添加依赖
14.3.2 配置文件
14.3.3 启动类
14.3.4 测试效果
14.4 backup改造
14.4.1 添加依赖
14.4.2 配置文件
14.4.3 启动类
14.4.4 测试效果
14.5 admin改造
14.5.1 添加依赖
14.5.2 配置文件
14.5.3 启动类
14.5.4 测试效果
第15章 服务消费(Ribbon、Feign)
15.1 技术背景
15.2 服务提供者
15.2.1 新建项目
15.2.2 配置文件
15.2.3 启动类
15.2.4 自定义Banner
15.2.5 添加控制器
15.3 服务消费者
15.3.1 新建项目
15.3.2 添加配置
15.3.3 启动类
15.3.4 自定义Banner
15.3.5 服务消费
15.3.6 负载均衡器(Ribbon)
15.3.7 修改启动类
15.3.8 添加服务
15.3.9 页面测试
15.3.10 负载策略
15.4 服务消费(Feign)
15.4.1 添加依赖
15.4.2 启动类
15.4.3 添加Feign接口
15.4.4 添加控制器
15.4.5 页面测试
第16章 服务熔断(Hystrix、Turbine)
16.1 雪崩效应
16.2 熔断器(CircuitBreaker)
16.3 Hystrix特性
16.3.1 断路器机制
16.3.2 fallback
16.3.3 资源隔离
16.4 Feign Hystrix
16.4.1 修改配置
16.4.2 创建回调类
16.4.3 页面测试
16.5 Hystrix Dashboard
16.5.1 添加依赖
16.5.2 启动类
16.5.3 自定义Banner
16.5.4 配置文件
16.5.5 配置监控路径
16.5.6 页面测试
16.6 Spring Cloud Turbine
16.6.1 添加依赖
16.6.2 启动类
16.6.3 配置文件
16.6.4 测试效果
第17章 服务网关(Zuul)
17.1 技术背景
17.2 Spring Cloud Zuul
17.3 Zuul工作机制
17.3.1 过滤器机制
17.3.2 过滤器的生命周期
17.3.3 禁用指定的Filter
17.4 实现案例
17.4.1 新建工程
17.4.2 添加依赖
17.4.3 启动类
17.4.4 配置文件
17.4.5 页面测试
17.4.6 配置接口前缀
17.4.7 默认路由规则
17.4.8 路由熔断
17.4.9 自定义Filter
第18章 链路追踪(Sleuth、 ZipKin)
18.1 技术背景
18.2 ZipKin
18.3 Spring Cloud Sleuth
18.4 实现案例
18.4.1 下载镜像
18.4.2 编写启动文件
18.4.3 启动服务
18.4.4 添加依赖
18.4.5 配置文件
18.4.6 页面测试
第19章 配置中心(Config、Bus)
19.1 技术背景
19.2 Spring Cloud Config
19.3 实现案例
19.3.1 准备配置文件
19.3.2 服务端实现
19.3.3 客户端实现
19.3.4 Refresh机制
19.3.5 Spring Cloud Bus
第三篇 前端实现篇
第20章 搭建开发环境
20.1 技术基础
20.2 开发环境
20.2.1 Visual Studio Code
20.2.2 Node JS
20.2.3 安装webpack
20.2.4 安装vue-cli
20.2.5 淘宝镜像
20.2.6 安装Yarn
20.3 创建项目
20.3.1 生成项目
20.3.2 安装依赖
20.3.3 启动运行
第21章 前端项目案例
21.1 导入项目
21.2 安装Element
21.2.1 安装依赖
21.2.2 导入项目
21.3 页面路由
21.3.1 添加页面
21.3.2 配置路由
21.4 安装SCSS
21.4.1 安装依赖
21.4.2 添加配置
21.4.3 如何使用
21.4.4 页面测试
21.5 安装axios
21.5.1 安装依赖
21.5.2 编写代码
21.5.3 页面测试
21.6 安装Mock.js
21.6.1 安装依赖
21.6.2 编写代码
21.6.3 页面测试
第22章 工具模块封装
22.1 封装axios模块
22.1.1 封装背景
22.1.2 封装要点
22.1.3 文件结构
22.1.4 代码说明
22.1.5 安装js-cookie
22.1.6 测试案例
22.2 封装mock模块
22.2.1 文件结构
22.2.2 登录界面
22.2.3 主页界面
22.2.4 页面测试
第23章 第三方图标库
23.1 使用第三方图标库
23.2 Font Awesome
23.2.1 安装依赖
23.2.2 项目引入
23.2.3 页面使用
23.2.4 页面测试
第24章 多语言国际化
24.1 安装依赖
24.2 添加配置
24.3 字符引用
24.4 页面测试
第25章 登录流程完善
25.1 登录界面
25.1.1 界面设计
25.1.2 关键代码
25.2 主页面
25.2.1 界面设计
25.2.2 关键代码
25.3 页面测试
第26章 管理应用状态
26.1 安装依赖
26.2 添加store
26.2.1 index.js
26.2.2 app.js
26.3 引入Store
26.4 使用Store
26.5 收缩组件
26.5.1 文件结构
26.5.2 关键代码
26.6 页面测试
第27章 头部功能组件
27.1 主题切换组件
27.1.1 编写组件
27.1.2 页面测试
27.2 语言切换组件
27.2.1 编写组件
27.2.2 页面测试
27.3 用户信息面板
27.3.1 编写组件
27.3.2 页面测试
27.4 系统通知面板
27.4.1 编写组件
27.4.2 页面测试
27.5 用户私信面板
27.5.1 编写组件
27.5.2 页面测试
第28章 动态加载菜单
28.1 添加Store
28.2 登录页面
28.3 导航守卫
28.4 导航树组件
28.5 页面测试
第29章 页面权限控制
29.1 权限控制方案
29.1.1 菜单类型
29.1.2 权限标识
29.1.3 菜单表结构
29.2 导航菜单实现思路
29.2.1 用户登录系统
29.2.2 根据用户加载导航菜单
29.2.3 导航栏读取菜单树
29.3 页面按钮实现思路
29.3.1 用户登录系统
29.3.2 加载权限标识
29.3.3 页面按钮控制
29.4 权限控制实现
29.4.1 导航菜单权限
29.4.2 页面按钮权限
29.5 标签页功能
29.6 系统介绍页
29.7 页面测试
第30章 功能管理模块
30.1 字典管理
30.1.1 关键代码
30.1.2 页面截图
30.2 角色管理
30.2.1 关键代码
30.2.2 页面截图
30.3 菜单管理
30.3.1 表格列组件
30.3.2 创建表格树
30.3.3 页面截图
第31章 嵌套外部网页
31.1 需求背景
31.2 实现原理
31.3 代码实现
31.3.1 确定菜单URL
31.3.2 创建嵌套组件
31.3.3 绑定嵌套组件
31.3.4 菜单路由跳转
31.4 页面测试
第32章 数据备份还原
32.1 需求背景
32.2 后台接口
32.3 备份页面
32.4 页面引用
32.5 页面测试