2
0

Deliverable for WANFi

This commit is contained in:
zhangsz
2025-02-26 11:10:52 +08:00
parent 69d4a61177
commit 780a39ad43
24 changed files with 1787 additions and 73 deletions

View File

@@ -18,11 +18,13 @@ Storage:
```text
Linux >= Ubuntu 22.04
JDK >= 1.8 (Recommended version 1.8) (用于Omada SDN Controller)
Omada SDN Controller > 5.15.6.7
docker >= 24.0.7, build 24.0.7-0ubuntu2~22.04.1
docker-compose >= v2.10.0
```
* 安装docker和docker-compose
```sh
sudo apt-get update
sudo apt-get install -y docker.io
@@ -31,6 +33,7 @@ docker-compose >= v2.10.0
```
* 请确认docker和docker-compose的版本是否符合要求
```sh
docker -v
docker-compose -v
@@ -198,96 +201,95 @@ docker-compose >= v2.10.0
* 从Omada服务中获取门户平台整合连接参数如下图
![Omada platform integration configuration screenshot](wfc-omada-integration.png)
![Omada platform integration configuration screenshot](media/wfc-omada-integration.png)
注意连接的MODE采用Client 具体的配置方式可参考Omada的相关文档
* 修改配置文件
* 修改如下omada的配置项, 用于与Omada进行平台整合
* 修改如下omada的配置项, 用于与Omada进行平台整合
```sh
cd /opt/wfc/docker/conf
cat application-common.yml
```sh
cd /opt/wfc/docker/conf
cat application-common.yml
...
# Omada config
omada:
# web url or host exp: 'https://192.168.2.249:8043'
omada-url: 'https://aps1-omada-northbound.tplinkcloud.com'
omadac-id: 'c4decbf73f80094019d664506ec9b4d4'
client-id: '6110a77822234243a033e652d1e8a3ae'
client-secret: '651957da95f14f45b719876bb68bd6f5'
...
...
```
# Omada config
omada:
# web url or host exp: 'https://192.168.2.249:8043'
omada-url: 'https://aps1-omada-northbound.tplinkcloud.com'
omadac-id: 'c4decbf73f80094019d664506ec9b4d4'
client-id: '6110a77822234243a033e652d1e8a3ae'
client-secret: '651957da95f14f45b719876bb68bd6f5'
* 修改如下email的配置项, 用于发送邮箱验证码
...
```
```sh
cd /opt/wfc/docker/conf
cat application-common.yml
* 修改如下email的配置项, 用于发送邮箱验证码
...
mail:
enabled: true
host: mail.agrandtech.com
port: 25
# Enable authentication
auth: true
# Sender, follows RFC-822 standard
from: smtpext <smtpext@agrandtech.com>
# User name
user: smtpext
# Password
pass: Smtp123@agt
# Use TLS security connection
starttlsEnable: false
# Use SSL security connection
sslEnable: false
# Timeout value for sending mail, in milliseconds
timeout: 0
# Connection timeout value, in milliseconds
connectionTimeout: 0
```sh
cd /opt/wfc/docker/conf
cat application-common.yml
...
```
...
* 修改支付配置项
mail:
enabled: true
host: mail.agrandtech.com
port: 25
# Enable authentication
auth: true
# Sender, follows RFC-822 standard
from: smtpext <smtpext@agrandtech.com>
# User name
user: smtpext
# Password
pass: Smtp123@agt
# Use TLS security connection
starttlsEnable: false
# Use SSL security connection
sslEnable: false
# Timeout value for sending mail, in milliseconds
timeout: 0
# Connection timeout value, in milliseconds
connectionTimeout: 0
```sh
cd /opt/wfc/docker/wfc/modules/payment/conf/
cat application.yml
...
```
...
# payment configuration,
# alipay configuration
alipay:
appId: 9021000122699258
privateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7YAcIXV5GJlTWBOoBcrVG1zKxHunznSjYXwTS2DM3YgloxzKye4apfcmBDVnoL93m4QrJTtbiHYvu4yJjJfJsQEY+Wo44IczhDypyu+Il6JpQOwylTs94/+3aaQ1wThsDaGs8edaFGteuw+1pUVl4nxF00fS1VoIR30riqAGFAXrPhcSA6Y9c8HK1htxCelICnPzjpqC4s8ZjrjS7FoyHP2ZAay5fx1VEtah30E4RvycFfV/i2+k3JGFOSeevdCx6Ufu+9Y/RaG4Sh84QuYRQUhAHUswlFDHpRrAnxHzt0zDkOkg3BrCT7vMtBbSOP9BdIhpVTaZm4diQdNbLSl4hAgMBAAECggEAKb1Xc7aQ1KGfTlmj4xSxawlvImOXjAwbWC+6fFlq91BgdjXBhl7b/Y+mvpfBymY3UUIaTAPC/HXGgT2ZoGqImTKsMyGrArgM0qm1M//EfdtV3L96rqxirTqduoSiWL0daWHuWXduoRH8r9K3ZTmY67TLh7FpiKevq9mI7fqs8/qgq5QAN4UPFb3Cq9hDNTU4l6+Bywdg1KkwJ2Jc98SlrIdVl+1eCMAgueLR0aNHTobyPBZ/KfwGRV0OQ3QqjLVgL3zlbzuylYhaZqPgxxd46vgWwkyMiiv7u2OyCetq4LFd+tcNDz0Yqk6rK9/S0oxbN8NM5DLkpwFh/433BoPS3QKBgQD/dsxNr2PYdPLp6pOvw7H2AFMH8CkwTlRg+2f/0fgQF14rJwZgEU6fL5A2JvQeRRC5mCff2m5tDqrS321JNyH/JIKJ+4J8I34GEo/kSCHL3RmyvJGQOQ/EpEyxvP8BV3ob6UO3LR58DOGlJr8eTsr3Y8o9cAMuknCNxvsd2LvybwKBgQC7xKkx4KIPBny6sCOtChOkgIrY3hOCi+ZsHQVESXKzeku0NkH/qrAG+S9pb1XCzXdM2HrzkMeuz6tqi+2TY8nORyY2DZHNW7FqzkAiZ/NO2AgGIlALq1ZfJZke2MxgtBnxSsQ03gfXP9opu/FsLH9a+s6edfHPvKD4kHxlLBfAbwKBgQDYvr6QmuKn4HHJLZGoau0uvw+ziHwp1AubTTLrxgYmAO2Qx0eNcqG2RfChQWOV2xtZnFMYhodyWCNvTsm2eOSLSTrIP3ByStq95DnZganLAgivsXX/W6qZOJ0poCTryoB79enSHKHktjksmjdFS6zBQRVyEvtgJDcC03Rz2lN8WQKBgQCCoJE4otb7bv7s/ccEBeOeaNKvhue5xUwbYKEeXZ6PYAA0sh5+GCf34flq90qJiFl7u4rl0Y4pfk35hLlV9XEasYLSzePmIuktrakOhpTNABus8MgRJjSjYsvAmwCsMf9uTx5qzSBVThWfPSH6qIY9LAj8Un9UjxzJb/Mqi19GvwKBgQC0/KB+3robTqy9KOV4iEKJ4kmnXDRu7ecpMyc8k5HzpolIHcXLZHkBK9pMCXBQ9Kwy6BjRGNnUZOahS+tvnMcjHpwdhu90r7D51GXW/+PeFtphYTscFhHv1yuWbbojzhKf69pZnsVmyllIBqRgtbkS2WNHxWo/peCg47TcLaQNMA==
publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhBZoE6p1TKpd/WsAJRTA2D6yUTzqLmZ73scxbPxxKwPIg2ys2Ap21u/lVmqBWO9Wf2Z7wUwr/6BP1PQqVpg0GAqU3yjjZ0LGfBitzMBMbGrlOLqJQ3PKgnUNmnOdLR4FlHCAjKtuyxjHkxBTHg/L4punk4lkFJQD8YvzFrYalS6WYw5j1/oq080NbcjPirPCRlsU7MRraQuUqSTdPwm2iHkroKwCEbGv+RtNJCfOkKNQVtRFFgPGMhU4nQ620gdfzsGJsNFKVJnD5SjeDWniBAbaGaVF4rEfKJPe6+XrcMg3h+9Fz+A2IU1KCCoth2neEZEaU1t0KBGxXIuo4efi/QIDAQAB
appCertPath: \u5E94\u7528\u516C\u94A5\u8BC1\u4E66
aliPayCertPath: \u652F\u4ED8\u5B9D\u516C\u94A5\u8BC1\u4E66
aliPayRootCertPath: \u652F\u4ED8\u5B9D\u6839\u8BC1\u4E66
serverUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
domain: http://192.168.2.249
testDomain: http://129.204.171.210:8085
* 修改支付配置项
# wxpay configuration
wxpay:
appId:
appSecret:
mchId:
partnerKey:
certPath:
domain: http://192.168.2.249/u
```sh
cd /opt/wfc/docker/wfc/modules/payment/conf/
cat application.yml
...
```
...
# payment configuration,
# alipay configuration
alipay:
appId: 9021000122699258
privateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7YAcIXV5GJlTWBOoBcrVG1zKxHunznSjYXwTS2DM3YgloxzKye4apfcmBDVnoL93m4QrJTtbiHYvu4yJjJfJsQEY+Wo44IczhDypyu+Il6JpQOwylTs94/+3aaQ1wThsDaGs8edaFGteuw+1pUVl4nxF00fS1VoIR30riqAGFAXrPhcSA6Y9c8HK1htxCelICnPzjpqC4s8ZjrjS7FoyHP2ZAay5fx1VEtah30E4RvycFfV/i2+k3JGFOSeevdCx6Ufu+9Y/RaG4Sh84QuYRQUhAHUswlFDHpRrAnxHzt0zDkOkg3BrCT7vMtBbSOP9BdIhpVTaZm4diQdNbLSl4hAgMBAAECggEAKb1Xc7aQ1KGfTlmj4xSxawlvImOXjAwbWC+6fFlq91BgdjXBhl7b/Y+mvpfBymY3UUIaTAPC/HXGgT2ZoGqImTKsMyGrArgM0qm1M//EfdtV3L96rqxirTqduoSiWL0daWHuWXduoRH8r9K3ZTmY67TLh7FpiKevq9mI7fqs8/qgq5QAN4UPFb3Cq9hDNTU4l6+Bywdg1KkwJ2Jc98SlrIdVl+1eCMAgueLR0aNHTobyPBZ/KfwGRV0OQ3QqjLVgL3zlbzuylYhaZqPgxxd46vgWwkyMiiv7u2OyCetq4LFd+tcNDz0Yqk6rK9/S0oxbN8NM5DLkpwFh/433BoPS3QKBgQD/dsxNr2PYdPLp6pOvw7H2AFMH8CkwTlRg+2f/0fgQF14rJwZgEU6fL5A2JvQeRRC5mCff2m5tDqrS321JNyH/JIKJ+4J8I34GEo/kSCHL3RmyvJGQOQ/EpEyxvP8BV3ob6UO3LR58DOGlJr8eTsr3Y8o9cAMuknCNxvsd2LvybwKBgQC7xKkx4KIPBny6sCOtChOkgIrY3hOCi+ZsHQVESXKzeku0NkH/qrAG+S9pb1XCzXdM2HrzkMeuz6tqi+2TY8nORyY2DZHNW7FqzkAiZ/NO2AgGIlALq1ZfJZke2MxgtBnxSsQ03gfXP9opu/FsLH9a+s6edfHPvKD4kHxlLBfAbwKBgQDYvr6QmuKn4HHJLZGoau0uvw+ziHwp1AubTTLrxgYmAO2Qx0eNcqG2RfChQWOV2xtZnFMYhodyWCNvTsm2eOSLSTrIP3ByStq95DnZganLAgivsXX/W6qZOJ0poCTryoB79enSHKHktjksmjdFS6zBQRVyEvtgJDcC03Rz2lN8WQKBgQCCoJE4otb7bv7s/ccEBeOeaNKvhue5xUwbYKEeXZ6PYAA0sh5+GCf34flq90qJiFl7u4rl0Y4pfk35hLlV9XEasYLSzePmIuktrakOhpTNABus8MgRJjSjYsvAmwCsMf9uTx5qzSBVThWfPSH6qIY9LAj8Un9UjxzJb/Mqi19GvwKBgQC0/KB+3robTqy9KOV4iEKJ4kmnXDRu7ecpMyc8k5HzpolIHcXLZHkBK9pMCXBQ9Kwy6BjRGNnUZOahS+tvnMcjHpwdhu90r7D51GXW/+PeFtphYTscFhHv1yuWbbojzhKf69pZnsVmyllIBqRgtbkS2WNHxWo/peCg47TcLaQNMA==
publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhBZoE6p1TKpd/WsAJRTA2D6yUTzqLmZ73scxbPxxKwPIg2ys2Ap21u/lVmqBWO9Wf2Z7wUwr/6BP1PQqVpg0GAqU3yjjZ0LGfBitzMBMbGrlOLqJQ3PKgnUNmnOdLR4FlHCAjKtuyxjHkxBTHg/L4punk4lkFJQD8YvzFrYalS6WYw5j1/oq080NbcjPirPCRlsU7MRraQuUqSTdPwm2iHkroKwCEbGv+RtNJCfOkKNQVtRFFgPGMhU4nQ620gdfzsGJsNFKVJnD5SjeDWniBAbaGaVF4rEfKJPe6+XrcMg3h+9Fz+A2IU1KCCoth2neEZEaU1t0KBGxXIuo4efi/QIDAQAB
appCertPath: \u5E94\u7528\u516C\u94A5\u8BC1\u4E66
aliPayCertPath: \u652F\u4ED8\u5B9D\u516C\u94A5\u8BC1\u4E66
aliPayRootCertPath: \u652F\u4ED8\u5B9D\u6839\u8BC1\u4E66
serverUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
domain: http://192.168.2.249
testDomain: http://129.204.171.210:8085
# wxpay configuration
wxpay:
appId:
appSecret:
mchId:
partnerKey:
certPath:
domain: http://192.168.2.249/u
...
```
* 启动/查看/停止/版本软件
```sh

Binary file not shown.

View File

@@ -0,0 +1,321 @@
# 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, n/a
└── 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
```

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB