322 lines
9.6 KiB
Markdown
322 lines
9.6 KiB
Markdown
# WANFi软件编译手册
|
||
|
||
## 项目介绍
|
||
|
||
WANFi远距离WiFi产品设计软件服务和计费系统,主要用于WiFi AP设备管理、用户管理及费用管理,系统包含客户平台和用户平台,客户平台包含设备管理和用户套餐计费管理及系统管理等功能;用户平台主要面向终端用户,终端用户可通过充值和购买流量套餐实现互联网接入服务。WANFi控制平台目前基于TPLINK Omada平台API实现。
|
||
|
||
本项目基于Spring Cloud、Ant Design Vue的前后端分离的开发平台, 采用微服务解决方案,包括核心模块:角色用户、菜单权限、网关路由、数据权限等,使用中间件:日志脱敏、任务调度、短信邮箱等。
|
||
|
||
## 软件工程项目目录树
|
||
|
||
```sh
|
||
tree -L 1 wfc.git
|
||
wfc.git
|
||
├── be.wfc # 后端模块目录
|
||
├── build.wfc # 系统构建目录
|
||
├── fe.wfc # 客户平台前端目录
|
||
└── fe.wfc.user # 用户平台前端目录
|
||
```
|
||
|
||
## 后端模块编译说明
|
||
|
||
**工程目录树**
|
||
|
||
```sh
|
||
tree -L 2 be.wfc/
|
||
be.wfc/
|
||
├── LICENSE
|
||
├── README.md
|
||
├── bin
|
||
│ ├── clean.bat
|
||
│ ├── package.bat
|
||
│ ├── run-auth.bat
|
||
│ ├── run-gateway.bat
|
||
│ ├── run-modules-file.bat
|
||
│ ├── run-modules-gen.bat
|
||
│ ├── run-modules-job.bat
|
||
│ ├── run-modules-system.bat
|
||
│ └── run-monitor.bat
|
||
├── docker
|
||
│ ├── copy.bat
|
||
│ ├── copy.sh
|
||
│ ├── deploy.bat
|
||
│ ├── deploy.sh
|
||
│ ├── docker-compose.yml
|
||
│ ├── mysql
|
||
│ ├── nacos
|
||
│ ├── nginx
|
||
│ ├── redis
|
||
│ ├── start-backend.bat
|
||
│ ├── start-backend.sh
|
||
│ ├── start-frontend.bat
|
||
│ ├── start-frontend.sh
|
||
│ └── wfc
|
||
├── pom.xml
|
||
├── sql # 数据库脚本
|
||
│ ├── upgrade
|
||
│ ├── wfc_config_db # nacos配置数据库
|
||
│ ├── wfc_system_db # 客户平台数据库
|
||
│ └── wfc_user_db # 用户平台数据库
|
||
├── wfc-api # API接口模块
|
||
│ ├── pom.xml
|
||
│ ├── wfc-api-omada # Omada API接口
|
||
│ ├── wfc-api-system # 客户平台 API接口
|
||
│ └── wfc-api-user # 用户平台 API接口
|
||
├── wfc-auth # 认证中心 [8081]
|
||
│ ├── pom.xml
|
||
│ ├── src
|
||
│ └── target
|
||
├── wfc-common # 通用模块
|
||
│ ├── pom.xml
|
||
│ ├── wfc-common-core # 核心模块
|
||
│ ├── wfc-common-datascope # 权限范围
|
||
│ ├── wfc-common-datasource # 多数据源
|
||
│ ├── wfc-common-log # 日志记录
|
||
│ ├── wfc-common-mail # 邮件服务
|
||
│ ├── wfc-common-mybatis # 数据操作
|
||
│ ├── wfc-common-redis # 缓存服务
|
||
│ ├── wfc-common-seata # 分布式事务
|
||
│ ├── wfc-common-security # 安全模块
|
||
│ ├── wfc-common-sensitive # 数据脱敏
|
||
│ └── wfc-common-swagger # 系统接口
|
||
├── wfc-gateway # 网关模块 [8080]
|
||
│ ├── pom.xml
|
||
│ ├── src
|
||
│ └── target
|
||
├── wfc-modules # 业务模块
|
||
│ ├── pom.xml
|
||
│ ├── wfc-file # 文件服务 [9201]
|
||
│ ├── wfc-gen # 代码生成 (未启用)
|
||
│ ├── wfc-job # 定时任务 [9203]
|
||
│ ├── wfc-payment # 支付服务 [9204]
|
||
│ ├── wfc-system # 客户平台模块 [9205]
|
||
│ └── wfc-user # 用户平台模块 [9206]
|
||
└── wfc-visual # 系统监控 (未启用)
|
||
├── pom.xml
|
||
└── wfc-visual-monitor
|
||
```
|
||
|
||
**环境部署**
|
||
|
||
```
|
||
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)
|
||
```
|
||
|
||
**编译系统**
|
||
|
||
```sh
|
||
cd be.wfc
|
||
mvn clean package -P prod -DskipTests
|
||
```
|
||
|
||
## 客户平台前端编译说明
|
||
|
||
**工程目录树**
|
||
|
||
```sh
|
||
tree -L 1 fe.wfc
|
||
fe.wfc
|
||
├── README.md
|
||
├── build
|
||
├── dist
|
||
├── env.config.ts
|
||
├── eslint.config.js
|
||
├── index.html
|
||
├── node_modules
|
||
├── package.json
|
||
├── packages
|
||
├── pnpm-lock.yaml
|
||
├── pnpm-workspace.yaml
|
||
├── public
|
||
├── src
|
||
├── tsconfig.json
|
||
├── uno.config.ts
|
||
├── vite.config.ts
|
||
└── vitest.config.ts
|
||
```
|
||
|
||
**环境准备**
|
||
|
||
确保你的环境满足以下要求:
|
||
|
||
- **NodeJS**: >=18.12.0,推荐 18.19.0 或更高。
|
||
- **pnpm**: >= 8.7.0,推荐 8.14.0 或更高。
|
||
|
||
**安装依赖**
|
||
|
||
npm install -g pnpm
|
||
|
||
```bash
|
||
npm install -g pnpm
|
||
pnpm i
|
||
```
|
||
|
||
> 由于本项目采用了 pnpm monorepo 的管理方式,因此请不要使用 npm 或 yarn 来安装依赖。
|
||
|
||
**启动项目**
|
||
|
||
```bash
|
||
pnpm dev
|
||
```
|
||
|
||
**构建项目**
|
||
|
||
```bash
|
||
pnpm build
|
||
```
|
||
|
||
## 用户平台前端编译说明
|
||
|
||
**工程目录树**
|
||
|
||
```sh
|
||
tree -L 1 fe.wfc.user
|
||
fe.wfc.user
|
||
├── README.md
|
||
├── build
|
||
├── dist
|
||
├── env.config.ts
|
||
├── eslint.config.js
|
||
├── index.html
|
||
├── node_modules
|
||
├── package.json
|
||
├── packages
|
||
├── pnpm-lock.yaml
|
||
├── pnpm-workspace.yaml
|
||
├── public
|
||
├── src
|
||
├── tsconfig.json
|
||
├── uno.config.ts
|
||
├── vite.config.ts
|
||
└── vitest.config.ts
|
||
```
|
||
|
||
**环境准备**
|
||
|
||
确保你的环境满足以下要求:
|
||
|
||
- **NodeJS**: >=18.12.0,推荐 18.19.0 或更高。
|
||
- **pnpm**: >= 8.7.0,推荐 8.14.0 或更高。
|
||
|
||
**安装依赖**
|
||
|
||
npm install -g pnpm
|
||
|
||
```bash
|
||
npm install -g pnpm
|
||
pnpm i
|
||
```
|
||
|
||
> 由于本项目采用了 pnpm monorepo 的管理方式,因此请不要使用 npm 或 yarn 来安装依赖。
|
||
|
||
**启动项目**
|
||
|
||
```bash
|
||
pnpm dev
|
||
```
|
||
|
||
**构建项目**
|
||
|
||
```bash
|
||
pnpm build
|
||
```
|
||
|
||
## 安装包构建说明
|
||
|
||
**工程目录树**
|
||
|
||
```text
|
||
build.wfc/
|
||
├── bin # build binary file
|
||
├── build # build directory
|
||
│ ├── bin
|
||
│ ├── docker # docker compose root directory
|
||
│ │ ├── env
|
||
│ │ ├── mysql
|
||
│ │ │ ├── conf
|
||
│ │ │ ├── data
|
||
│ │ │ ├── db
|
||
│ │ │ └── logs
|
||
│ │ ├── nacos
|
||
│ │ │ ├── conf
|
||
│ │ │ └── logs
|
||
│ │ ├── nginx
|
||
│ │ │ ├── conf
|
||
│ │ │ ├── conf.d
|
||
│ │ │ ├── html
|
||
│ │ │ └── logs
|
||
│ │ ├── redis
|
||
│ │ │ ├── conf
|
||
│ │ │ └── data
|
||
│ │ └── wfc
|
||
│ │ ├── auth
|
||
│ │ │ └── jar
|
||
│ │ ├── gateway
|
||
│ │ │ └── jar
|
||
│ │ ├── modules
|
||
│ │ │ ├── file
|
||
│ │ │ │ └── jar
|
||
│ │ │ ├── gen
|
||
│ │ │ │ └── jar
|
||
│ │ │ ├── job
|
||
│ │ │ │ └── jar
|
||
│ │ │ ├── payment
|
||
│ │ │ │ └── jar
|
||
│ │ │ ├── system
|
||
│ │ │ │ └── jar
|
||
│ │ │ └── user
|
||
│ │ │ └── jar
|
||
│ │ ├── upload
|
||
│ │ └── visual
|
||
│ │ └── monitor
|
||
│ │ └── jar
|
||
│ └── systemd # system service daemon file saved here
|
||
│ └── system
|
||
├── debbuild # deb build directory
|
||
│ ├── DEBIAN
|
||
│ ├── etc
|
||
│ └── opt
|
||
│ └── wfc
|
||
├── docs
|
||
│ ├── 01-requirement
|
||
│ ├── 02-design
|
||
│ └── 03-configuration
|
||
└── release
|
||
├── debs # deb package release
|
||
└── tars # tar package release
|
||
```
|
||
|
||
**准备工作**
|
||
|
||
```text
|
||
JDK >= 1.8 (推荐1.8版本)
|
||
Maven >= 3.0
|
||
Mysql >= 5.7.0 (推荐5.7版本) # docker内部构建
|
||
Redis >= 7.4.2 # docker内部构建
|
||
nacos >= v2.5.0 # docker内部构建
|
||
sentinel >= 1.6.0 (optional)
|
||
```
|
||
|
||
**构建发布包**
|
||
|
||
> 如果不同步拉取git仓库,带-g
|
||
|
||
- TAR发布包
|
||
|
||
```sh
|
||
cd wfc.git/build.wfc/bin
|
||
./build.sh -g tar
|
||
```
|
||
|
||
- DEB发布包
|
||
|
||
```sh
|
||
cd wfc.git/build.wfc/bin
|
||
./build.sh -g deb
|
||
```
|