# WANFI 客户平台

## 项目介绍

基于Spring Cloud、Ant Design Vue的前后端分离的开发平台， 提供了一整套微服务解决方案，包括核心模块如：组织机构、角色用户、菜单权限、网关路由、数据权限等，常用中间件如：日志脱敏、任务调度、短信邮箱、接口文档、代码生成等，高效稳定，极大的缩短研发周期，帮助企业快速构建业务系统。

## 系统模块

~~~
org.wfc     
├── wfc-gateway                                     // 网关模块 [8080]
├── wfc-auth                                        // 认证中心 [9200]
├── wfc-api                                         // 接口模块
│       └── wfc-api-system                          // 系统模块接口
│       └── wfc-api-user                            // 用户平台模块接口
│       └── wfc-api-omada                           // omada平台接口
├── wfc-common                                      // 通用模块
│       └── wfc-common-core                         // 核心模块
│       └── wfc-common-datascope                    // 权限范围
│       └── wfc-common-datasource                   // 多数据源
│       └── wfc-common-log                          // 日志记录
│       └── wfc-common-redis                        // 缓存服务
│       └── wfc-common-seata                        // 分布式事务
│       └── wfc-common-security                     // 安全模块
│       └── wfc-common-sensitive                    // 数据脱敏
│       └── wfc-common-swagger                      // 系统接口
├── wfc-modules                                     // 业务模块
│       └── wfc-system                              // 系统模块 [9201]
│       └── wfc-user                                // 用户平台模块 [9208]
│       └── wfc-gen                                 // 代码生成 [9202]
│       └── wfc-job                                 // 定时任务 [9203]
│       └── wfc-file                                // 文件服务 [9300]
├── wfc-visual                                      // 图形化管理模块
│       └── wfc-visual-monitor                      // 监控中心 [9100]
├──pom.xml                                          // 公共依赖
~~~

## 环境部署

### 准备工作

```
JDK >= 1.8 (推荐1.8版本)
Maven >= 3.6.3
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 7.4.2
nacos >= v2.5.0
sentinel >= 1.6.0 (optional)
```
### 运行系统

1. 部署运行nacos选择mysql数据源配置
3. 创建数据库wfc_config_db并导入数据脚本wfc_config_db.sql（nacos-必须）
4. 创建数据库wfc_system_db并导入数据脚本wfc_system_db.sql（客户平台-必须）
5. 创建数据库wfc_user_db并导入数据脚本wfc_user_db.sql（用户平台-必须）

```
# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/wfc_system_db?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password
```

4、 打开运行基础模块（启动没有先后顺序）

* WfcGatewayApplication （网关模块 必须）
* WfcAuthApplication （认证模块 必须）
* WfcSystemApplication （系统模块 必须）
* WfcUserApplication （用户平台模块 必须）
* WfcMonitorApplication （监控中心 可选）
* WfcGenApplication （代码生成 可选）
* WfcJobApplication （定时任务 可选）
* WfcFileApplication （文件服务 可选）

5、集成seata分布式事务（可选配置，默认不启用）

创建数据库wfc-seata并导入数据脚本wfc_seata.sql