Files
ai_wht_wechat/miniprogram/MINIPROGRAM_ENV_CONFIG.md
2025-12-19 22:36:48 +08:00

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

可在微信开发者工具的控制台查看。

⚠️ 注意事项

  1. 生产环境必须修改: 发布前务必将 prod 配置中的域名修改为实际的生产服务器地址

  2. 域名配置: 小程序只能访问已在微信公众平台配置的合法域名

    • 登录 微信公众平台
    • 进入"开发" → "开发管理" → "开发设置"
    • 在"服务器域名"中添加你的域名
  3. HTTPS要求: 正式版必须使用 HTTPS 协议 (开发工具可以关闭校验)

  4. 环境隔离: 不同环境使用不同的数据库,避免测试数据污染生产数据

📋 快速检查清单

发布前检查:

  • 已修改 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;
  },
  // ...
};

这样可以确保始终使用正确环境的后端地址。