197 lines
4.7 KiB
Markdown
197 lines
4.7 KiB
Markdown
# BallCat
|
||
|
||
## 前言
|
||
|
||
`BallCat` 致力于简化开发流程,开箱即用,只需专注于业务开发,避免重复劳作
|
||
|
||
|
||
## 简介
|
||
基于`SpringBoot` + `Ant Design Vue`的前后端分离应用。
|
||
目前支持代码生成,前后台用户分离,权限控制,定时任务,访问日志,操作日志,异常日志,统一异常处理,XSS过滤,SQL防注入等功能
|
||
|
||
- 前端ui git地址: https://github.com/Hccake/ballcat-ui-vue
|
||
- 预览地址: http://preview.ballcat.cn
|
||
|
||
## 结构
|
||
|
||
- 后端:
|
||
|
||
```
|
||
ballcat
|
||
|-- ballcat-admin -- 后台管理项目
|
||
|-- ballcat-api -- 前台接口,业务接口
|
||
|-- ballcat-codegen -- 代码生成器
|
||
|-- ballcat-common -- 公用模块
|
||
| |-- ballcat-common-conf -- web公用配置
|
||
| |-- ballcat-common-core -- 核心的工具类
|
||
| |-- ballcat-common-job -- 公用的job配置
|
||
| |-- ballcat-common-log -- 公用的日志依赖
|
||
| |-- ballcat-common-modules -- 公用的业务模块
|
||
| `-- ballcat-common-swagger -- swagger文档
|
||
|-- ballcat-job -- 任务调度中心(xxl-job-admin)
|
||
`-- doc -- 初始化数据库脚本
|
||
```
|
||
|
||
- 前端:
|
||
|
||
```
|
||
.
|
||
|-- public -- 依赖的静态资源存放
|
||
`-- src
|
||
|-- api -- 和服务端交互的请求方法
|
||
|-- assets -- 本地静态资源
|
||
|-- ballcat -- 项目定制css和常量
|
||
|-- components -- 通用组件
|
||
|-- config -- 框架配置
|
||
|-- core -- 项目引导, 全局配置初始化,依赖包引入等
|
||
|-- layouts -- 布局
|
||
|-- locales -- 国际化
|
||
|-- mixins -- 增删改查页面的抽取模板
|
||
|-- router -- 路由相关
|
||
|-- store -- 数据存储相关
|
||
|-- utils -- 工具类
|
||
|-- views -- 页面
|
||
|-- App.Vue -- Vue 模板入口
|
||
|-- main.js -- Vue 入口js
|
||
`-- permission.js -- 路由守卫 权限控制
|
||
|
||
```
|
||
|
||
## 依赖
|
||
|
||
- 后端
|
||
|
||
依赖 | 版本 | 官网
|
||
--- | --- | ---
|
||
Spring Boot| 2.2.1.RELEASE| https://spring.io/projects/spring-boot#learn
|
||
Spring Security OAuth2| 2.3.6.RELEASE| https://spring.io/projects/spring-security-oauth
|
||
Mybatis Plus| 3.2.0| https://mp.baomidou.com/
|
||
XXL-JOB| 2.1.0 | http://www.xuxueli.com/xxl-job
|
||
Hutool| 5.0.1| https://www.hutool.cn/
|
||
|
||
|
||
- 前端
|
||
|
||
依赖 | 版本 | 官网
|
||
--- | --- | ---
|
||
Vue| 2.6.10 | https://cn.vuejs.org/
|
||
Ant Design Vue| 1.4.1| https://www.antdv.com
|
||
Ant Design Vue Pro| 2.0.2| https://pro.loacg.com/
|
||
|
||
|
||
# 快速开始
|
||
|
||
开始之前,请先确保您已经配置好以下环境
|
||
|
||
名称 | 版本 |
|
||
---| ---
|
||
JDK | 1.8 |
|
||
MySQL | 5.7.8 +
|
||
Redis | 3.2 +|
|
||
node | 10.0 +
|
||
npm | 6.0 + |
|
||
|
||
**另:请在您的开发工具中安装好 `Lombok` 插件**
|
||
|
||
## 代码下载
|
||
|
||
- 后端:
|
||
> git clone https://github.com/Hccake/ballcat.git
|
||
|
||
|
||
- 前端:
|
||
> git clone https://github.com/Hccake/ballcat-ui-vue.git
|
||
|
||
|
||
## 数据库配置
|
||
|
||
版本: mysql5.7.8+
|
||
默认字符集:utf8mb4
|
||
默认排序规则:utf8mb4_general_ci
|
||
|
||
- 按下面顺序依次执行/docs目录下的数据库脚本
|
||
```sql
|
||
# 建库语句
|
||
scheme.sql
|
||
# 核心库
|
||
2ballcat.sql
|
||
# 定时任务依赖库(可选)
|
||
ballcat_job.sql
|
||
```
|
||
|
||
## 配置本地hosts
|
||
|
||
建议使用 switchHost 软件管理hosts配置!
|
||
|
||
也可直接修改本地host文件:
|
||
windows系统下host文件位于
|
||
`C:\Windows\System32\drivers\etc\hosts`
|
||
|
||
|
||
**新增如下host:**
|
||
```
|
||
127.0.0.1 ballcat-mysql
|
||
127.0.0.1 ballcat-redis
|
||
127.0.0.1 ballcat-job
|
||
127.0.0.1 ballcat-admin
|
||
```
|
||
其中`127.0.0.1`按需替换成开发环境ip
|
||
|
||
## 项目配置修改
|
||
|
||
- `ballcat-admin`项目下的`src\main\resources\application-dev.yml`
|
||
|
||
修改数据库账号密码,以及redis密码,若未配置redis密码,则直接留空
|
||
|
||
```yaml
|
||
spring:
|
||
datasource:
|
||
url: jdbc:mysql://ballcat-mysql:3306/ballcat?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
||
username: root
|
||
password: '123456'
|
||
redis:
|
||
host: ballcat-redis
|
||
password: ''
|
||
port: 6379
|
||
```
|
||
|
||
**请尽量使用host域名形式来配置链接地址,而非直接使用ip**
|
||
|
||
## 启动项目
|
||
|
||
- 后端
|
||
|
||
直接执行`ballcat-admin`项目下的`AdminApplication`类的main函数即可。
|
||
更多启动项目的方法,请自行查阅spring-boot的多种启动方式
|
||
|
||
- 前端
|
||
|
||
打开命令行进入项目根目录
|
||
或 在ide提供的命令行工具中执行如下语句
|
||
|
||
```
|
||
# 安装依赖
|
||
yarn install
|
||
# 启动服务
|
||
yarn run serve
|
||
```
|
||
or
|
||
```
|
||
# 安装依赖
|
||
npm install
|
||
# 启动服务
|
||
npm run serve
|
||
```
|
||
|
||
## 访问项目
|
||
|
||
默认前端项目路径:[http://localhost:8000/](http://localhost:8000/)
|
||
|
||
默认用户名密码:admin/a123456
|
||
|
||
|
||
# 感谢
|
||
|
||
BallCat中不少地方都学习了pigx的设计思想,在此感谢 lengleng 大大
|
||
[pigx微服务开发平台](https://www.pig4cloud.com/)
|