Files
mp-java/docs/SERVER_URL_REFACTOR_SUMMARY.md

112 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 服务器URL配置重构总结
## 概述
将项目中硬编码的服务器地址 `https://server.websoft.top/api` 改为从配置文件读取,提高了代码的可维护性和灵活性。
## 修改的文件
### 1. RequestUtil.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java`
**修改内容**:
- 添加了 `ConfigProperties` 依赖注入
- 移除了硬编码的 `host` 常量
- 添加了 `getServerUrl()` 方法
- 将所有 `host.concat(path)` 替换为 `getServerUrl().concat(path)`
**影响的方法**:
- `balancePay()`
- `getUserByPhone()`
- `getByUserId()`
- `saveUserByPhone()`
- `updateUserBalance()`
- `getParent()`
- `updateUser()`
- `getMpOrderQrCode()`
- `getOrderQRCodeUnlimited()`
- `updateUserMerchantId()`
- `getWxConfig()`
### 2. JwtAuthenticationFilter.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/security/JwtAuthenticationFilter.java`
**修改内容**:
- 将硬编码的URL `"https://server.websoft.top/api/auth/user"`
- 改为 `configProperties.getServerUrl() + "/auth/user"`
### 3. OaAppController.java
**文件路径**: `src/main/java/com/gxwebsoft/oa/controller/OaAppController.java`
**修改内容**:
- 添加了 `ConfigProperties` 依赖注入
- 将硬编码的URL `"https://server.websoft.top/api/file/page"`
- 改为 `configProperties.getServerUrl() + "/file/page"`
### 4. SwaggerConfig.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/config/SwaggerConfig.java`
**修改内容**:
- 将硬编码的URL `"https://server.websoft.top/api/system"`
- 改为 `config.getServerUrl() + "/system"`
### 5. WxOfficialUtil.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/utils/WxOfficialUtil.java`
**修改内容**:
- 将硬编码的URL `"https://server.websoft.top/api/open/wx-official/accessToken"`
- 改为 `pathConfig.getServerUrl() + "/open/wx-official/accessToken"`
### 6. ShopOrderServiceImpl.java
**文件路径**: `src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java`
**修改内容**:
- 将微信支付回调地址中的硬编码URL
-`"https://server.websoft.top/api/system/wx-pay/notify/"`
- 改为 `config.getServerUrl() + "/system/wx-pay/notify/"`
## 配置文件设置
### 开发环境 (application-dev.yml)
```yaml
config:
server-url: http://127.0.0.1:9091/api
```
### 生产环境 (application-prod.yml)
```yaml
config:
server-url: https://server.websoft.top/api
```
### 默认配置 (application.yml)
```yaml
config:
server-url: https://server.websoft.top/api
```
## 优势
1. **可维护性**: 服务器地址集中管理,修改时只需要更新配置文件
2. **环境适配**: 不同环境可以使用不同的服务器地址
3. **部署灵活**: 部署时可以通过环境变量或外部配置文件覆盖
4. **代码清洁**: 移除了硬编码,提高了代码质量
## 测试验证
创建了测试类 `ServerUrlConfigTest` 来验证配置是否正确读取:
- 验证配置属性不为空
- 验证URL格式正确
- 验证开发环境使用本地地址
## 注意事项
1. 确保所有环境的配置文件都正确设置了 `server-url`
2. 部署时需要根据实际环境调整配置
3. 如果有新的代码需要调用服务器API应该使用 `ConfigProperties.getServerUrl()` 而不是硬编码
## 后续建议
1. 可以考虑将其他硬编码的URL也进行类似的重构
2. 建立代码规范禁止在代码中硬编码URL
3. 在CI/CD流程中添加检查确保没有新的硬编码URL被引入