142 lines
3.8 KiB
Markdown
142 lines
3.8 KiB
Markdown
|
|
# 小程序多环境配置说明
|
||
|
|
|
||
|
|
## 📝 配置文件
|
||
|
|
|
||
|
|
文件位置: `miniprogram/miniprogram/config/api.ts`
|
||
|
|
|
||
|
|
## 🎯 环境说明
|
||
|
|
|
||
|
|
小程序支持三种环境,会根据运行版本**自动切换**:
|
||
|
|
|
||
|
|
| 小程序版本 | 环境 | 说明 |
|
||
|
|
|-----------|------|------|
|
||
|
|
| 开发版 (develop) | `dev` | 微信开发者工具、真机调试 |
|
||
|
|
| 体验版 (trial) | `test` | 上传体验版后自动使用 |
|
||
|
|
| 正式版 (release) | `prod` | 发布正式版后自动使用 |
|
||
|
|
|
||
|
|
## ⚙️ 配置方法
|
||
|
|
|
||
|
|
### 修改后端地址
|
||
|
|
|
||
|
|
编辑 `api.ts` 文件中的 `API_CONFIG` 配置:
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
const API_CONFIG: Record<EnvType, EnvConfig> = {
|
||
|
|
// 开发环境 - 本地开发
|
||
|
|
dev: {
|
||
|
|
baseURL: 'http://localhost:8080', // 本地Go服务
|
||
|
|
pythonURL: 'http://localhost:8000', // 本地Python服务
|
||
|
|
timeout: 30000
|
||
|
|
},
|
||
|
|
|
||
|
|
// 测试环境 - 服务器测试
|
||
|
|
test: {
|
||
|
|
baseURL: 'http://8.149.233.36:8070', // 测试服务器Go服务
|
||
|
|
pythonURL: 'http://8.149.233.36:8000', // 测试服务器Python服务
|
||
|
|
timeout: 30000
|
||
|
|
},
|
||
|
|
|
||
|
|
// 生产环境
|
||
|
|
prod: {
|
||
|
|
baseURL: 'https://api.yourdomain.com', // 生产环境Go服务 (需修改)
|
||
|
|
pythonURL: 'https://python.yourdomain.com', // 生产环境Python服务 (需修改)
|
||
|
|
timeout: 30000
|
||
|
|
}
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
### 配置项说明
|
||
|
|
|
||
|
|
- **baseURL**: 主服务地址 (Go Backend)
|
||
|
|
- **pythonURL**: Python 服务地址 (可选,用于小红书发布等功能)
|
||
|
|
- **timeout**: 请求超时时间 (毫秒)
|
||
|
|
|
||
|
|
## 🚀 使用示例
|
||
|
|
|
||
|
|
### 1. 本地开发
|
||
|
|
- 在微信开发者工具中打开项目
|
||
|
|
- 自动使用 `dev` 环境配置
|
||
|
|
- 后端地址: `http://localhost:8080`
|
||
|
|
|
||
|
|
### 2. 服务器测试
|
||
|
|
- 点击"上传"按钮上传代码
|
||
|
|
- 在微信公众平台设置为体验版
|
||
|
|
- 自动使用 `test` 环境配置
|
||
|
|
- 后端地址: `http://8.149.233.36:8070`
|
||
|
|
|
||
|
|
### 3. 正式发布
|
||
|
|
- 提交审核并发布
|
||
|
|
- 自动使用 `prod` 环境配置
|
||
|
|
- 后端地址: `https://api.yourdomain.com` (**需先修改配置**)
|
||
|
|
|
||
|
|
## 🔍 调试信息
|
||
|
|
|
||
|
|
启动小程序时,会在控制台输出当前环境信息:
|
||
|
|
|
||
|
|
```
|
||
|
|
[API Config] 当前环境: dev
|
||
|
|
[API Config] 主服务: http://localhost:8080
|
||
|
|
[API Config] Python服务: http://localhost:8000
|
||
|
|
```
|
||
|
|
|
||
|
|
可在微信开发者工具的控制台查看。
|
||
|
|
|
||
|
|
## ⚠️ 注意事项
|
||
|
|
|
||
|
|
1. **生产环境必须修改**: 发布前务必将 `prod` 配置中的域名修改为实际的生产服务器地址
|
||
|
|
|
||
|
|
2. **域名配置**: 小程序只能访问已在微信公众平台配置的合法域名
|
||
|
|
- 登录 [微信公众平台](https://mp.weixin.qq.com/)
|
||
|
|
- 进入"开发" → "开发管理" → "开发设置"
|
||
|
|
- 在"服务器域名"中添加你的域名
|
||
|
|
|
||
|
|
3. **HTTPS要求**: 正式版必须使用 HTTPS 协议 (开发工具可以关闭校验)
|
||
|
|
|
||
|
|
4. **环境隔离**: 不同环境使用不同的数据库,避免测试数据污染生产数据
|
||
|
|
|
||
|
|
## 📋 快速检查清单
|
||
|
|
|
||
|
|
发布前检查:
|
||
|
|
|
||
|
|
- [ ] 已修改 `prod.baseURL` 为实际生产地址
|
||
|
|
- [ ] 已修改 `prod.pythonURL` 为实际生产地址 (如果使用)
|
||
|
|
- [ ] 生产域名已在微信公众平台配置
|
||
|
|
- [ ] 生产服务器使用 HTTPS 协议
|
||
|
|
- [ ] Go 后端服务已部署并启动
|
||
|
|
- [ ] Python 服务已部署并启动 (如果使用)
|
||
|
|
|
||
|
|
## 🛠 技术说明
|
||
|
|
|
||
|
|
### 环境自动检测
|
||
|
|
|
||
|
|
通过微信 API 自动检测:
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
function detectEnvironment(): EnvType {
|
||
|
|
const accountInfo = wx.getAccountInfoSync();
|
||
|
|
const envVersion = accountInfo.miniProgram.envVersion;
|
||
|
|
|
||
|
|
switch (envVersion) {
|
||
|
|
case 'develop': return 'dev';
|
||
|
|
case 'trial': return 'test';
|
||
|
|
case 'release': return 'prod';
|
||
|
|
default: return 'dev';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 动态配置加载
|
||
|
|
|
||
|
|
所有 API 调用都会动态获取当前环境的配置:
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
export const API = {
|
||
|
|
get baseURL(): string {
|
||
|
|
return currentConfig().baseURL;
|
||
|
|
},
|
||
|
|
// ...
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
这样可以确保始终使用正确环境的后端地址。
|