- 需求的场景描述(希望解决的问题)
例如在开发阶段,需要用到的接口是https://dev.qq.com/api/xxx,发布生产环境之后,则需要调用https://image.wxopen.club/content_5b9414d8-3868-11ea-93b0-001a7dda7111.png,所以如何在小程序里面根据当前环境来进行适配呢?
- 希望提供的能力
小程序根据开发环境切换接口地址
可以抽一个配置文件出来,然后挂载到App.js全局中: 内容如下
// 服务器环境集线
const apiHub = {
//开发环境
dev: {
API_BASE:‘https://dev.com.cn’,
FILE_UPLOAD_URL:‘https://dev.com.cn/upload’,
FILE_DOWNLOAD_URL:‘https://dev.com.cn/dlfile’
},
//测试环境
test: {
API_BASE: ‘https://test.com.cn’,
FILE_UPLOAD_URL: ‘https://test.com.cn/upload’,
FILE_DOWNLOAD_URL: ‘https://test.com.cn/dlfile’,
},
//生产环境
prod: {
API_BASE: ‘https://prod.com.cn’,
FILE_UPLOAD_URL: ‘https://prod.com.cn/upload’,
FILE_DOWNLOAD_URL: ‘https://prod.com.cn/dlfile’,
}
// 手动切换环境服务地址 (提交审核时,务必将此处改为prod)
const ENV = “prod”;
// 导出配置
export default {
ENV:ENV,
…apiHub[ENV]
}
其他页面使用,直接URL前缀直接用变量就行了: App.config.API_BASE以上是我目前采用的方式,有更好的方案,还请告知一下我。