平台使用说明文档
2021-06-15
目录
1 平台整体介绍................................................................1
1.1 后端软件包................................................................1
1.2 前端软件包................................................................1
1.3 运维部署环境..............................................................1
2 后台说明....................................................................1
2.1 模块说明..................................................................1
2.2 业务子模块拆分............................................................2
2.3 主要配置..................................................................4
2.4 Controller................................................................4
2.5 Service...................................................................5
2.5.1 实现思路................................................................5
2.5.2 事务规则................................................................6
2.5.3 常用方法................................................................7
2.5.3.1 查询列表对象..........................................................7
2.5.3.2 查询单个对象..........................................................8
2.5.3.3 保存..................................................................8
2.5.3.4 更新..................................................................9
2.5.3.5 删除.................................................................10
2.5.3.6 SQL 语句工具类方法 ...................................................10
2.6 Dao......................................................................10
2.6.1 一个数据库只有一个 Dao .................................................11
2.6.2 数据库 dialect .........................................................11
2.6.3 使用多个数据库.........................................................12
2.7 Entity...................................................................12
2.7.1 使用的注解.............................................................13
2.7.2 使用别名...............................................................13
2.8 Finder...................................................................14
2.8.1 直接写 SQL 语句.........................................................14
2.8.2 获取具体操作的 Finder 对象..............................................14
2.8.3 like 写法 ..............................................................14
2.8.4 使用范例...............................................................15
2.9 Lucene...................................................................15
2.10 业务权限................................................................16
2.10.1 URL 请求拦截 ..........................................................16
2.10.2 业务数据权限..........................................................16
2.10.2.1 权限实现的功能......................................................16
2.10.2.2 表结构设计..........................................................17
2.10.2.3 不同菜单下,数据权限不同(暂时不用)...................................17
2.10.2.4 调用示例............................................................18
2.11 安全....................................................................18
2.11.1 SQL 注入 ..............................................................18
2.11.2 XSS 防护 ..............................................................18
2.11.3 CSRF..................................................................19
2.12 缓存....................................................................19
2.13 数据库读写分离..........................................................21
2.13.1 事务粘性..............................................................21
2.13.2 读写强制切换..........................................................22
2.14 代码生成器(springrain-gencode)..........................................22
2.14.1.1 原理................................................................22
2.14.1.2 使用................................................................23
2.14.1.3 维护数据库注释......................................................24
2.15 微服务..................................................................24
2.15.1 说明..................................................................25
2.15.2 实现思路..............................................................25
2.15.3 限制..................................................................25
2.15.4 实现代码..............................................................25
2.15.4.1 项目启动加载 SpringBean .............................................26
2.15.4.2 事务处理............................................................26
2.15.4.3 GRPC 调用 ...........................................................27
2.15.4.4 POM 依赖例子 ........................................................28
2.15.4.5 serviceimpl 独立运行 ................................................28
2.15.4.6 效果演示............................................................28
2.16 规范约定................................................................29
2.16.1 不允许改动 frame 包下的文件............................................29
2.16.2 不允许 SQL 拼接前台参数,必须使用占位符.................................29
2.16.3 不允许手写表名,只能使用 Finder 工具类获取表名.........................29
2.16.4 Controller 编写规范 ...................................................29
2.16.5 Service 编写规范及常用方法 ............................................30
2.16.6 不允许复写 Dao,一个数据库只能有一个 Dao...............................31
2.16.7 不允许手动编写分页函数和其他特定函数..................................31
3 前端说明...................................................................32
3.1 目录结构.................................................................32
3.1.1 目录规范说明...........................................................32
3.2 目录重点文件说明.........................................................32
3.2.1 目录位置:src/commons..................................................32
3.2.2 目录位置:src/router...................................................33
3.3 菜单配置.................................................................34
3.3.1 目录位置...............................................................34
3.3.2 字段说明...............................................................35
3.4 页面配置.................................................................35
3.4.1 页面模板...............................................................35
3.4.2 页面配置...............................................................35
3.4.3 页面显示和隐藏.........................................................37
3.4.4 页面容器 PageContent ...................................................38
3.4.5 弹窗页面...............................................................39
3.5 AJAX 配置 ................................................................40
3.5.1 Ajax 请求 ..............................................................40
3.5.2 Ajax 调用方式 ..........................................................40
3.5.3 Ajax 配置参数 ..........................................................41
3.5.4 Ajax 请求结果提示 ......................................................42
3.5.5 Loading 处理 ...........................................................42
3.6 Models(redux)封装........................................................42
3.6.1 Redux..................................................................42
3.6.2 Redux models 配置 ......................................................43
3.6.3 组件和 redux 进行连接...................................................43
3.7 权限控制,权限组件.......................................................45
3.7.1 菜单权限...............................................................45
3.7.2 功能权限...............................................................45
3.8 其他重点规范.............................................................46
3.8.1 组件类命名.............................................................46
3.8.2 import 引入规范 ........................................................47
3.8.3 打包规范...............................................................47
3.8.4 路由前缀命名和请求地址命名规范.........................................48
3.8.5 额外功能...............................................................48
jiagou.com
1
1 平台整体介绍
框架基于 JDK8 平台,Spring/SpringBoot 技术栈,JWT 认证,ORM 基于 Spring JDBC 封装
实现.前后端分离,前端基于 React 框架实现.使用 JSON 格式交换数据.
1.1 后端软件包
软件包名称
版本
用途
备注
OpenJDK
1.8
Java 运行平台
SpringBoot
2.5.1
应用服务器
MySQL
8.0.25
数据库
Redis
6.2.4
缓存,锁和消息服务器
非必选
Maven
3.5.0
项目构建
Git
版本控制
ElasticSearch
7.13.1
全文检索
非必选
1.2 前端软件包
软件包名称
版本
用途
备注
Node
14.15.4+
前端服务
Yarn
1.22.5+
包管理工具
React
16.13.1
基础框架
Ant-design
4.9.2+
UI 框架
其他参见 package.json
1.3 运维部署环境
2 后台说明
2.1 模块说明
平台是标准的 Maven 项目,直接导入到开发工具即可,例如 IDEA.本文档依 system 模块
为例拆解说明.
平台基于 maven 多模块拆分,模块说明如下图: