3.8 KiB
3.8 KiB
小程序多环境配置说明
📝 配置文件
文件位置: miniprogram/miniprogram/config/api.ts
🎯 环境说明
小程序支持三种环境,会根据运行版本自动切换:
| 小程序版本 | 环境 | 说明 |
|---|---|---|
| 开发版 (develop) | dev |
微信开发者工具、真机调试 |
| 体验版 (trial) | test |
上传体验版后自动使用 |
| 正式版 (release) | prod |
发布正式版后自动使用 |
⚙️ 配置方法
修改后端地址
编辑 api.ts 文件中的 API_CONFIG 配置:
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
可在微信开发者工具的控制台查看。
⚠️ 注意事项
-
生产环境必须修改: 发布前务必将
prod配置中的域名修改为实际的生产服务器地址 -
域名配置: 小程序只能访问已在微信公众平台配置的合法域名
- 登录 微信公众平台
- 进入"开发" → "开发管理" → "开发设置"
- 在"服务器域名"中添加你的域名
-
HTTPS要求: 正式版必须使用 HTTPS 协议 (开发工具可以关闭校验)
-
环境隔离: 不同环境使用不同的数据库,避免测试数据污染生产数据
📋 快速检查清单
发布前检查:
- 已修改
prod.baseURL为实际生产地址 - 已修改
prod.pythonURL为实际生产地址 (如果使用) - 生产域名已在微信公众平台配置
- 生产服务器使用 HTTPS 协议
- Go 后端服务已部署并启动
- Python 服务已部署并启动 (如果使用)
🛠 技术说明
环境自动检测
通过微信 API 自动检测:
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 调用都会动态获取当前环境的配置:
export const API = {
get baseURL(): string {
return currentConfig().baseURL;
},
// ...
};
这样可以确保始终使用正确环境的后端地址。